Skip to content

Commit 382843f

Browse files
committed
fix: handle unordered nature of data map
1 parent f7cd412 commit 382843f

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

daemon/internal/newrelic/php_packages_test.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,8 @@ func TestCollectorJSON(t *testing.T) {
158158
t.Fatalf("Expected nil error, got %s", err.Error())
159159
}
160160
expectedJSON = `["Jars",[["package_a","1.2.3",{}],["package_b","1.2.3",{}]]]`
161-
if expectedJSON != string(json) {
161+
expectedJSONB := `["Jars",[["package_b","1.2.3",{}],["package_a","1.2.3",{}]]]`
162+
if expectedJSON != string(json) && expectedJSONB != string(json) {
162163
t.Fatalf("Expected '%s', got '%s'", expectedJSON, string(json))
163164
}
164165

@@ -204,15 +205,18 @@ func TestPackagesEmpty(t *testing.T) {
204205
}
205206
}
206207

207-
func comparePkgs(expect, actual *PhpPackagesKey) bool {
208-
if expect == nil || actual == nil {
208+
func comparePkgs(expect *PhpPackagesKey, actual []PhpPackagesKey) bool {
209+
if expect == nil || len(actual) == 0 {
209210
return false
210211
}
211212

212-
if expect.Name != actual.Name || expect.Version != actual.Version {
213-
return false
213+
for _, key := range actual {
214+
if expect.Name == key.Name && expect.Version == key.Version {
215+
return true
216+
}
217+
214218
}
215-
return true
219+
return false
216220
}
217221

218222
func TestFilterPackageData(t *testing.T) {
@@ -275,15 +279,15 @@ func TestFilterPackageData(t *testing.T) {
275279
// Test single valid package
276280
pkg.AddPhpPackagesFromData([]byte(`[["package_a", "1.2.3",{}]]`))
277281
pkg.Filter(app.PhpPackages)
278-
if !comparePkgs(&expectA, &pkg.filteredPkgs[0]) || len(pkg.filteredPkgs) != 1 {
282+
if !comparePkgs(&expectA, pkg.filteredPkgs) || len(pkg.filteredPkgs) != 1 {
279283
t.Fatalf("Expected '%+v', got '%+v'", expectA, pkg.filteredPkgs[0])
280284
}
281285

282286
// Test multiple valid packages
283287
pkg.AddPhpPackagesFromData([]byte(`[["package_b", "1.2.3",{}]]`))
284288
pkg.AddPhpPackagesFromData([]byte(`[["package_c", "1.2.3",{}]]`))
285289
pkg.Filter(app.PhpPackages)
286-
if !comparePkgs(&expectB, &pkg.filteredPkgs[1]) || !comparePkgs(&expectC, &pkg.filteredPkgs[2]) || len(pkg.filteredPkgs) != 3 {
290+
if !comparePkgs(&expectB, pkg.filteredPkgs) || !comparePkgs(&expectC, pkg.filteredPkgs) {
287291
t.Fatalf("Expected '%+v', '%+v', got '%+v', '%+v'", expectB, expectC, pkg.filteredPkgs[1], pkg.filteredPkgs[2])
288292
}
289293

0 commit comments

Comments
 (0)