Skip to content

Commit a7054d9

Browse files
kbukum1Copilot
andcommitted
Test JSON marshal output directly without unmarshal
Compare marshaled JSON string directly to verify correct key names and omitempty behavior, per reviewer feedback. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent d930b7e commit a7054d9

File tree

1 file changed

+8
-31
lines changed

1 file changed

+8
-31
lines changed

internal/model/job_test.go

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -69,31 +69,10 @@ func TestAllowedUpdateTypesJSON(t *testing.T) {
6969
t.Fatal(err)
7070
}
7171

72-
// Verify the actual JSON keys are correct by unmarshaling into a raw map
73-
var raw map[string]any
74-
if err := json.Unmarshal(data, &raw); err != nil {
75-
t.Fatal(err)
76-
}
77-
78-
if _, ok := raw["update-types"]; !ok {
79-
t.Errorf("expected JSON key \"update-types\" to be present, got keys: %v", raw)
80-
}
81-
if _, ok := raw["dependency-name"]; !ok {
82-
t.Errorf("expected JSON key \"dependency-name\" to be present, got keys: %v", raw)
83-
}
84-
85-
types, ok := raw["update-types"].([]any)
86-
if !ok {
87-
t.Fatalf("expected update-types to be an array, got %T", raw["update-types"])
88-
}
89-
expectedTypes := []string{"version-update:semver-minor", "version-update:semver-patch"}
90-
if len(types) != len(expectedTypes) {
91-
t.Fatalf("expected %d update-types, got %d", len(expectedTypes), len(types))
92-
}
93-
for i, et := range expectedTypes {
94-
if types[i] != et {
95-
t.Errorf("update-types[%d]: expected %q, got %q", i, et, types[i])
96-
}
72+
// Verify marshaled JSON directly without using unmarshal
73+
expected := `{"dependency-name":"rails","update-types":["version-update:semver-minor","version-update:semver-patch"]}`
74+
if string(data) != expected {
75+
t.Errorf("unexpected JSON output:\n got: %s\n want: %s", string(data), expected)
9776
}
9877

9978
// Verify omitempty: UpdateTypes should be absent when nil
@@ -102,12 +81,10 @@ func TestAllowedUpdateTypesJSON(t *testing.T) {
10281
if err != nil {
10382
t.Fatal(err)
10483
}
105-
var rawEmpty map[string]any
106-
if err := json.Unmarshal(data, &rawEmpty); err != nil {
107-
t.Fatal(err)
108-
}
109-
if _, ok := rawEmpty["update-types"]; ok {
110-
t.Errorf("expected \"update-types\" to be omitted when nil, but it was present")
84+
85+
expectedEmpty := `{"dependency-name":"rails"}`
86+
if string(data) != expectedEmpty {
87+
t.Errorf("unexpected JSON output for empty UpdateTypes:\n got: %s\n want: %s", string(data), expectedEmpty)
11188
}
11289
}
11390

0 commit comments

Comments
 (0)