You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

releasereopen_test.go 813B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package releasereopen
  4. import (
  5. "testing"
  6. "github.com/stretchr/testify/assert"
  7. )
  8. type testReleaseReopener struct {
  9. count int
  10. }
  11. func (t *testReleaseReopener) ReleaseReopen() error {
  12. t.count++
  13. return nil
  14. }
  15. func TestManager(t *testing.T) {
  16. m := NewManager()
  17. t1 := &testReleaseReopener{}
  18. t2 := &testReleaseReopener{}
  19. t3 := &testReleaseReopener{}
  20. _ = m.Register(t1)
  21. c2 := m.Register(t2)
  22. _ = m.Register(t3)
  23. assert.NoError(t, m.ReleaseReopen())
  24. assert.EqualValues(t, 1, t1.count)
  25. assert.EqualValues(t, 1, t2.count)
  26. assert.EqualValues(t, 1, t3.count)
  27. c2()
  28. assert.NoError(t, m.ReleaseReopen())
  29. assert.EqualValues(t, 2, t1.count)
  30. assert.EqualValues(t, 1, t2.count)
  31. assert.EqualValues(t, 2, t3.count)
  32. }