github.com/please-build/puku@v1.7.3-0.20240516143641-f7d7f4941f57/generate/import_test.go (about) 1 package generate 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 ) 9 10 func TestImportDir(t *testing.T) { 11 fooDir, err := ImportDir("test_project/foo") 12 require.NoError(t, err) 13 14 foo := fooDir["foo.go"] 15 fooTest := fooDir["foo_test.go"] 16 externalTest := fooDir["external_test.go"] 17 18 require.NotNil(t, foo) 19 require.NotNil(t, fooTest) 20 require.NotNil(t, externalTest) 21 22 assert.Equal(t, foo.Imports, []string{"github.com/example/module"}) 23 assert.Equal(t, fooTest.Imports, []string{"github.com/stretchr/testify/assert"}) 24 assert.Equal(t, externalTest.Imports, []string{"github.com/stretchr/testify/require"}) 25 26 assert.False(t, foo.IsTest()) 27 assert.True(t, fooTest.IsTest()) 28 assert.True(t, externalTest.IsTest()) 29 30 assert.False(t, foo.IsExternal("foo")) 31 assert.False(t, fooTest.IsExternal("foo")) 32 assert.True(t, externalTest.IsExternal("foo")) 33 34 assert.False(t, foo.IsCmd()) 35 assert.False(t, fooTest.IsCmd()) 36 assert.False(t, externalTest.IsCmd()) 37 38 mainDir, err := ImportDir("test_project") 39 require.NoError(t, err) 40 41 main := mainDir["main.go"] 42 require.NotNil(t, main) 43 44 require.True(t, main.IsCmd()) 45 require.False(t, main.IsTest()) 46 require.False(t, main.IsExternal("test_project")) 47 }