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  }