Skip to content

Commit 1050006

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 657de44 commit 1050006

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)