github.com/kumasuke120/mockuma@v1.1.9/internal/loader/load_test.go (about)

     1  package loader
     2  
     3  import (
     4  	"path/filepath"
     5  	"strings"
     6  	"testing"
     7  
     8  	"github.com/kumasuke120/mockuma/internal/myos"
     9  	"github.com/stretchr/testify/assert"
    10  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  //noinspection GoImportUsedAsName
    14  func TestLoader_Load(t *testing.T) {
    15  	assert := assert.New(t)
    16  	require := require.New(t)
    17  
    18  	require.Nil(myos.InitWd())
    19  	oldWd := myos.GetWd()
    20  
    21  	file1, err1 := New(filepath.Join("testdata", "mappings-0.json")).Load()
    22  	assert.Nil(file1)
    23  	assert.NotNil(err1)
    24  	wd1 := myos.GetWd()
    25  	assert.True(strings.HasSuffix(wd1, "testdata"))
    26  
    27  	file2, err2 := New("").Load()
    28  	require.Nil(err2)
    29  	assert.NotNil(file2)
    30  
    31  	require.Nil(myos.Chdir(oldWd))
    32  	require.Nil(myos.Chdir(oldWd))
    33  
    34  	l3 := New(filepath.Join("testdata", "template.zip"))
    35  	assert.Empty(l3.tempDirs)
    36  	_, err3 := l3.Load()
    37  	if assert.NotNil(err3) {
    38  		assert.Contains(err3.Error(), "cyclic")
    39  	}
    40  	assert.Len(l3.tempDirs, 1)
    41  	require.Nil(myos.Chdir(oldWd))
    42  	err3 = l3.Clean()
    43  	if assert.Nil(err3) {
    44  		assert.Empty(l3.tempDirs)
    45  	}
    46  
    47  }