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.

queue_test.go 937B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package queue
  5. import (
  6. "encoding/json"
  7. "testing"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. type testData struct {
  11. TestString string
  12. TestInt int
  13. }
  14. func TestToConfig(t *testing.T) {
  15. cfg := testData{
  16. TestString: "Config",
  17. TestInt: 10,
  18. }
  19. exemplar := testData{}
  20. cfg2I, err := toConfig(exemplar, cfg)
  21. assert.NoError(t, err)
  22. cfg2, ok := (cfg2I).(testData)
  23. assert.True(t, ok)
  24. assert.NotEqual(t, cfg2, exemplar)
  25. assert.Equal(t, &cfg, &cfg2)
  26. cfgString, err := json.Marshal(cfg)
  27. assert.NoError(t, err)
  28. cfg3I, err := toConfig(exemplar, cfgString)
  29. assert.NoError(t, err)
  30. cfg3, ok := (cfg3I).(testData)
  31. assert.True(t, ok)
  32. assert.Equal(t, cfg.TestString, cfg3.TestString)
  33. assert.Equal(t, cfg.TestInt, cfg3.TestInt)
  34. assert.NotEqual(t, cfg3, exemplar)
  35. }