code.gitea.io/gitea@v1.19.3/modules/queue/queue_test.go (about)

     1  // Copyright 2019 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package queue
     5  
     6  import (
     7  	"testing"
     8  
     9  	"code.gitea.io/gitea/modules/json"
    10  
    11  	"github.com/stretchr/testify/assert"
    12  )
    13  
    14  type testData struct {
    15  	TestString string
    16  	TestInt    int
    17  }
    18  
    19  func TestToConfig(t *testing.T) {
    20  	cfg := testData{
    21  		TestString: "Config",
    22  		TestInt:    10,
    23  	}
    24  	exemplar := testData{}
    25  
    26  	cfg2I, err := toConfig(exemplar, cfg)
    27  	assert.NoError(t, err)
    28  	cfg2, ok := (cfg2I).(testData)
    29  	assert.True(t, ok)
    30  	assert.NotEqual(t, cfg2, exemplar)
    31  	assert.Equal(t, &cfg, &cfg2)
    32  	cfgString, err := json.Marshal(cfg)
    33  	assert.NoError(t, err)
    34  
    35  	cfg3I, err := toConfig(exemplar, cfgString)
    36  	assert.NoError(t, err)
    37  	cfg3, ok := (cfg3I).(testData)
    38  	assert.True(t, ok)
    39  	assert.Equal(t, cfg.TestString, cfg3.TestString)
    40  	assert.Equal(t, cfg.TestInt, cfg3.TestInt)
    41  	assert.NotEqual(t, cfg3, exemplar)
    42  }