From a52a90fa5a5a316335a98dad71bdf4a714a95ebd Mon Sep 17 00:00:00 2001 From: Shawn Hurley Date: Thu, 14 Dec 2023 15:07:05 -0500 Subject: [PATCH] :bug: adding test case to make sure that the scopes work --- analysis/analysis_test.go | 3 + analysis/pkg.go | 1 + ...tc_tackle_testapp_public_package_filter.go | 76 +++++++++++++++++++ analysis/test_cases.go | 1 + 4 files changed, 81 insertions(+) create mode 100644 analysis/tc_tackle_testapp_public_package_filter.go diff --git a/analysis/analysis_test.go b/analysis/analysis_test.go index 233706b..034878f 100644 --- a/analysis/analysis_test.go +++ b/analysis/analysis_test.go @@ -106,6 +106,9 @@ func TestApplicationAnalysis(t *testing.T) { if tc.WithDeps == true { taskData.Mode.WithDeps = true } + if tc.Scope != nil { + taskData.Scope = *tc.Scope + } tc.Task.Data = taskData assert.Should(t, RichClient.Task.Create(&tc.Task)) diff --git a/analysis/pkg.go b/analysis/pkg.go index b353034..d3d9425 100644 --- a/analysis/pkg.go +++ b/analysis/pkg.go @@ -43,6 +43,7 @@ type TC struct { Targets []string Labels addon.Labels Rules addon.Rules + Scope *addon.Scope WithDeps bool // After-analysis assertions. ReportContent map[string][]string diff --git a/analysis/tc_tackle_testapp_public_package_filter.go b/analysis/tc_tackle_testapp_public_package_filter.go new file mode 100644 index 0000000..790b860 --- /dev/null +++ b/analysis/tc_tackle_testapp_public_package_filter.go @@ -0,0 +1,76 @@ +package analysis + +import ( + "github.com/konveyor/go-konveyor-tests/hack/addon" + "github.com/konveyor/tackle2-hub/api" +) + +var TackleTestAppPackageFilter = api.Application{ + Name: "Tackle Testapp public", + Repository: &api.Repository{ + Kind: "git", + URL: "https://github.com/konveyor/tackle-testapp-public", + }, +} + +var TackleTestappPublicPackageFilter = TC{ + Name: "Tackle Testapp public", + Application: TackleTestApp, + Task: Analyze, + WithDeps: false, + Labels: addon.Labels{ + Included: []string{ + "konveyor.io/target=cloud-readiness", + "konveyor.io/target=linux", + }, + }, + Identities: []api.Identity{}, + Scope: &addon.Scope{ + Packages: struct { + Included []string "json:\"included,omitempty\"" + Excluded []string "json:\"excluded,omitempty\"" + }{ + Included: []string{"com.example"}, + }, + }, + Analysis: api.Analysis{ + Effort: 9, + Issues: []api.Issue{ + { + Category: "mandatory", + Description: "Hardcoded IP Address\nWhen migrating environments, hard-coded IP addresses may need to be modified or eliminated.", + Effort: 1, + RuleSet: "discovery-rules", + Rule: "hardcoded-ip-address", + Incidents: []api.Incident{ + { + File: "/addon/source/tackle-testapp-public/target/classes/persistence.properties", + Line: 2, + Message: "When migrating environments, hard-coded IP addresses may need to be modified or eliminated.", + CodeSnip: "jdbc.url=jdbc:oracle:thin:@10.19.2.93:15", + }, + { + File: "/addon/source/tackle-testapp-public/src/main/resources/persistence.properties", + Line: 2, + Message: "When migrating environments, hard-coded IP addresses may need to be modified or eliminated.", + CodeSnip: "jdbc.url=jdbc:oracle:thin:@10.19.2.93:15", + }, + }, + }, + }, + }, + AnalysisTags: []api.Tag{ + {Name: "EJB XML", Category: api.Ref{Name: "Bean"}}, + {Name: "Servlet", Category: api.Ref{Name: "HTTP"}}, + {Name: "Properties", Category: api.Ref{Name: "Other"}}, + {Name: "Java EE Batch", Category: api.Ref{Name: "Processing"}}, + {Name: "Java EE Batch", Category: api.Ref{Name: "Java EE"}}, + {Name: "Servlet", Category: api.Ref{Name: "Java EE"}}, + {Name: "EJB XML", Category: api.Ref{Name: "Java EE"}}, + {Name: "Properties", Category: api.Ref{Name: "Sustain"}}, + {Name: "Properties", Category: api.Ref{Name: "Embedded"}}, + {Name: "Java EE Batch", Category: api.Ref{Name: "Execute"}}, + {Name: "EJB XML", Category: api.Ref{Name: "Connect"}}, + {Name: "Servlet", Category: api.Ref{Name: "Connect"}}, + }, +} diff --git a/analysis/test_cases.go b/analysis/test_cases.go index b384fc5..8065d80 100644 --- a/analysis/test_cases.go +++ b/analysis/test_cases.go @@ -4,6 +4,7 @@ package analysis // List of applications with expected analysis outputs. var Tier0TestCases = []TC{ TackleTestappPublicWithDeps, + TackleTestappPublicPackageFilter, } // Tier 1 Analysis test cases - should work.