code.gitea.io/gitea@v1.22.3/models/fixture_test.go (about)

     1  // Copyright 2020 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package models
     5  
     6  import (
     7  	"context"
     8  	"os"
     9  	"path/filepath"
    10  	"testing"
    11  
    12  	"code.gitea.io/gitea/models/db"
    13  	"code.gitea.io/gitea/models/unittest"
    14  	"code.gitea.io/gitea/modules/util"
    15  
    16  	"github.com/stretchr/testify/assert"
    17  )
    18  
    19  func TestFixtureGeneration(t *testing.T) {
    20  	assert.NoError(t, unittest.PrepareTestDatabase())
    21  
    22  	test := func(ctx context.Context, gen func(ctx context.Context) (string, error), name string) {
    23  		expected, err := gen(ctx)
    24  		if !assert.NoError(t, err) {
    25  			return
    26  		}
    27  		p := filepath.Join(unittest.FixturesDir(), name+".yml")
    28  		bytes, err := os.ReadFile(p)
    29  		if !assert.NoError(t, err) {
    30  			return
    31  		}
    32  		data := string(util.NormalizeEOL(bytes))
    33  		assert.EqualValues(t, expected, data, "Differences detected for %s", p)
    34  	}
    35  
    36  	test(db.DefaultContext, GetYamlFixturesAccess, "access")
    37  }