Skip to content

Commit f41fba9

Browse files
committed
added test case
1 parent 4fa27bf commit f41fba9

File tree

1 file changed

+51
-9
lines changed

1 file changed

+51
-9
lines changed

commands/audit/sca/conan/conan_test.go

Lines changed: 51 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ package conan
22

33
import (
44
"encoding/json"
5+
"github.com/stretchr/testify/require"
56
"os"
7+
"os/exec"
68
"path/filepath"
79
"testing"
810

@@ -41,17 +43,57 @@ func TestParseConanDependencyTree(t *testing.T) {
4143
}
4244
}
4345

46+
// TODO eran add a testcase with a provided descriptor name
4447
func TestBuildDependencyTree(t *testing.T) {
45-
dir, cleanUp := sca.CreateTestWorkspace(t, filepath.Join("projects", "package-managers", "conan"))
46-
defer cleanUp()
47-
params := &utils.AuditBasicParams{}
48-
params.SetConanProfile(filepath.Join(dir, "profile"))
49-
graph, uniqueDeps, err := BuildDependencyTree(params)
50-
assert.NoError(t, err)
51-
if !tests.CompareTree(expectedResult, graph[0]) {
52-
t.Errorf("expected %+v, got: %+v", expectedResult.Nodes, graph)
48+
testcases := []struct {
49+
name string
50+
descriptorName string
51+
}{
52+
{
53+
name: "default descriptor file",
54+
},
55+
{
56+
name: "custom descriptor file",
57+
descriptorName: "conanfile-system.txt",
58+
},
5359
}
54-
assert.ElementsMatch(t, uniqueDeps, expectedUniqueDeps, "First is actual, Second is Expected")
60+
for _, testcase := range testcases {
61+
t.Run(testcase.name, func(t *testing.T) {
62+
dir, cleanUp := sca.CreateTestWorkspace(t, filepath.Join("projects", "package-managers", "conan"))
63+
defer cleanUp()
64+
params := &utils.AuditBasicParams{}
65+
if testcase.descriptorName != "" {
66+
// changing the name of the descriptor to verify the work with a non-default descriptor name
67+
changeNameCmd := exec.Command("mv", "conanfile.txt", testcase.descriptorName)
68+
changeNameCmd.Dir = dir
69+
_, err := changeNameCmd.CombinedOutput()
70+
require.NoError(t, err)
71+
require.FileExists(t, filepath.Join(dir, testcase.descriptorName))
72+
params.SetPipRequirementsFile(testcase.descriptorName)
73+
}
74+
params.SetConanProfile(filepath.Join(dir, "profile"))
75+
graph, uniqueDeps, err := BuildDependencyTree(params)
76+
assert.NoError(t, err)
77+
if !tests.CompareTree(expectedResult, graph[0]) {
78+
t.Errorf("expected %+v, got: %+v", expectedResult.Nodes, graph)
79+
}
80+
assert.ElementsMatch(t, uniqueDeps, expectedUniqueDeps, "First is actual, Second is Expected")
81+
})
82+
}
83+
84+
/*
85+
dir, cleanUp := sca.CreateTestWorkspace(t, filepath.Join("projects", "package-managers", "conan"))
86+
defer cleanUp()
87+
params := &utils.AuditBasicParams{}
88+
params.SetConanProfile(filepath.Join(dir, "profile"))
89+
graph, uniqueDeps, err := BuildDependencyTree(params)
90+
assert.NoError(t, err)
91+
if !tests.CompareTree(expectedResult, graph[0]) {
92+
t.Errorf("expected %+v, got: %+v", expectedResult.Nodes, graph)
93+
}
94+
assert.ElementsMatch(t, uniqueDeps, expectedUniqueDeps, "First is actual, Second is Expected")
95+
96+
*/
5597
}
5698

5799
func TestCalculateUniqueDeps(t *testing.T) {

0 commit comments

Comments
 (0)