github.com/joey-fossa/fossa-cli@v0.7.34-0.20190708193710-569f1e8679f0/buildtools/dotnet/package_reference_test.go (about) 1 package dotnet_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/fossas/fossa-cli/buildtools/dotnet" 9 ) 10 11 func TestPackageReference(t *testing.T) { 12 // `test.csproj` lists 2 dependencies and references another package reference file 13 // `transitive.csproj` which contains 1 additional dependency and is only 14 // referenced inside of `test.csproj`. 15 testGraph, err := dotnet.PackageReferenceGraph("testdata/package-reference/root/test.csproj") 16 assert.NoError(t, err) 17 18 assert.Len(t, testGraph.Direct, 3) 19 assertImport(t, testGraph.Direct, "one", "[1.0,2.0)") 20 assertImport(t, testGraph.Direct, "two", "2.0.0") 21 assertImport(t, testGraph.Direct, "three", "3.0.0") 22 23 assert.Len(t, testGraph.Transitive, 3) 24 depOne := findPackage(testGraph.Transitive, "one", "[1.0,2.0)") 25 assert.NotEmpty(t, depOne) 26 assert.Empty(t, depOne.Imports) 27 depTwo := findPackage(testGraph.Transitive, "two", "2.0.0") 28 assert.NotEmpty(t, depTwo) 29 assert.Empty(t, depTwo.Imports) 30 depThree := findPackage(testGraph.Transitive, "three", "3.0.0") 31 assert.NotEmpty(t, depThree) 32 assert.Empty(t, depThree.Imports) 33 } 34 35 func TestIsPackageReferenceFile(t *testing.T) { 36 assert.True(t, dotnet.IsPackageReferenceFile("test.csproj")) 37 assert.True(t, dotnet.IsPackageReferenceFile("test.temp.xproj")) 38 assert.True(t, dotnet.IsPackageReferenceFile("test.project.temp.vbproj")) 39 assert.True(t, dotnet.IsPackageReferenceFile("test.dbproj")) 40 assert.True(t, dotnet.IsPackageReferenceFile("test.fsproj")) 41 assert.False(t, dotnet.IsPackageReferenceFile("temp.proj")) 42 assert.False(t, dotnet.IsPackageReferenceFile("packages.nuspec")) 43 }