github.com/SAP/jenkins-library@v1.362.0/pkg/contrast/reporting_test.go (about) 1 package contrast 2 3 import ( 4 "testing" 5 6 "github.com/SAP/jenkins-library/pkg/mock" 7 "github.com/stretchr/testify/assert" 8 ) 9 10 type contrastExecuteScanMockUtils struct { 11 *mock.ExecMockRunner 12 *mock.FilesMock 13 } 14 15 func newContrastExecuteScanTestsUtils() contrastExecuteScanMockUtils { 16 return contrastExecuteScanMockUtils{ 17 ExecMockRunner: &mock.ExecMockRunner{}, 18 FilesMock: &mock.FilesMock{}, 19 } 20 } 21 22 func TestCreateToolRecordContrast(t *testing.T) { 23 modulePath := "./" 24 25 t.Run("Valid toolrun file", func(t *testing.T) { 26 appInfo := &ApplicationInfo{ 27 Url: "https://server.com/application", 28 Id: "application-id", 29 Name: "app name", 30 Server: "https://server.com", 31 } 32 toolRecord, err := createToolRecordContrast(newContrastExecuteScanTestsUtils(), appInfo, modulePath) 33 assert.NoError(t, err) 34 assert.Equal(t, "contrast", toolRecord.ToolName) 35 assert.Equal(t, appInfo.Server, toolRecord.ToolInstance) 36 assert.Equal(t, appInfo.Name, toolRecord.DisplayName) 37 assert.Equal(t, appInfo.Url, toolRecord.DisplayURL) 38 assert.Equal(t, 1, len(toolRecord.Keys)) 39 assert.Equal(t, "application", toolRecord.Keys[0].Name) 40 assert.Equal(t, appInfo.Url, toolRecord.Keys[0].URL) 41 assert.Equal(t, appInfo.Id, toolRecord.Keys[0].Value) 42 assert.Equal(t, appInfo.Name, toolRecord.Keys[0].DisplayName) 43 }) 44 45 t.Run("Empty server", func(t *testing.T) { 46 appInfo := &ApplicationInfo{ 47 Url: "https://server.com/application", 48 Id: "application-id", 49 Name: "app name", 50 } 51 toolRecord, err := createToolRecordContrast(newContrastExecuteScanTestsUtils(), appInfo, modulePath) 52 assert.NoError(t, err) 53 assert.Equal(t, "contrast", toolRecord.ToolName) 54 assert.Equal(t, "", toolRecord.ToolInstance) 55 assert.Equal(t, appInfo.Name, toolRecord.DisplayName) 56 assert.Equal(t, appInfo.Url, toolRecord.DisplayURL) 57 assert.Equal(t, 1, len(toolRecord.Keys)) 58 assert.Equal(t, "application", toolRecord.Keys[0].Name) 59 assert.Equal(t, appInfo.Url, toolRecord.Keys[0].URL) 60 assert.Equal(t, appInfo.Id, toolRecord.Keys[0].Value) 61 assert.Equal(t, appInfo.Name, toolRecord.Keys[0].DisplayName) 62 }) 63 64 t.Run("Empty application id", func(t *testing.T) { 65 appInfo := &ApplicationInfo{ 66 Url: "https://server.com/application", 67 Name: "app name", 68 Server: "https://server.com", 69 } 70 _, err := createToolRecordContrast(newContrastExecuteScanTestsUtils(), appInfo, modulePath) 71 assert.Error(t, err) 72 }) 73 74 t.Run("Empty application name", func(t *testing.T) { 75 appInfo := &ApplicationInfo{ 76 Url: "https://contrastsecurity.com", 77 Id: "application-id", 78 Server: "https://server.com", 79 } 80 toolRecord, err := createToolRecordContrast(newContrastExecuteScanTestsUtils(), appInfo, modulePath) 81 assert.NoError(t, err) 82 assert.Equal(t, "contrast", toolRecord.ToolName) 83 assert.Equal(t, appInfo.Server, toolRecord.ToolInstance) 84 assert.Equal(t, "", toolRecord.DisplayName) 85 assert.Equal(t, appInfo.Url, toolRecord.DisplayURL) 86 assert.Equal(t, 1, len(toolRecord.Keys)) 87 assert.Equal(t, "application", toolRecord.Keys[0].Name) 88 assert.Equal(t, appInfo.Url, toolRecord.Keys[0].URL) 89 assert.Equal(t, appInfo.Id, toolRecord.Keys[0].Value) 90 assert.Equal(t, "", toolRecord.Keys[0].DisplayName) 91 }) 92 93 t.Run("Empty application url", func(t *testing.T) { 94 appInfo := &ApplicationInfo{ 95 Name: "app name", 96 Id: "application-id", 97 Server: "https://server.com", 98 } 99 toolRecord, err := createToolRecordContrast(newContrastExecuteScanTestsUtils(), appInfo, modulePath) 100 assert.NoError(t, err) 101 assert.Equal(t, "contrast", toolRecord.ToolName) 102 assert.Equal(t, appInfo.Server, toolRecord.ToolInstance) 103 assert.Equal(t, appInfo.Name, toolRecord.DisplayName) 104 assert.Equal(t, "", toolRecord.DisplayURL) 105 assert.Equal(t, 1, len(toolRecord.Keys)) 106 assert.Equal(t, "application", toolRecord.Keys[0].Name) 107 assert.Equal(t, "", toolRecord.Keys[0].URL) 108 assert.Equal(t, appInfo.Id, toolRecord.Keys[0].Value) 109 assert.Equal(t, appInfo.Name, toolRecord.Keys[0].DisplayName) 110 }) 111 }