From bd6d0dca57e0bc5b9635083ae64628d96bacac5e Mon Sep 17 00:00:00 2001 From: Shreyas Goenka Date: Tue, 17 Jan 2023 17:57:48 +0100 Subject: [PATCH] added test for map of map --- bundle/schema/schema_test.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/bundle/schema/schema_test.go b/bundle/schema/schema_test.go index f3033cf06..144daab13 100644 --- a/bundle/schema/schema_test.go +++ b/bundle/schema/schema_test.go @@ -21,7 +21,6 @@ import ( // TODO: Have a test that combines multiple different cases // TODO: have a test for what happens when omitempty in different cases: primitives, object, map, array - func TestIntSchema(t *testing.T) { var elemInt int @@ -354,6 +353,31 @@ func TestMapOfStructSchema(t *testing.T) { assert.Equal(t, expected, string(jsonSchema)) } +func TestMapOfMapSchema(t *testing.T) { + var elem map[string]map[string]int + + schema, err := NewSchema(reflect.TypeOf(elem)) + assert.NoError(t, err) + + jsonSchema, err := json.MarshalIndent(schema, " ", " ") + assert.NoError(t, err) + + expected := + `{ + "type": "object", + "additionalProperties": { + "type": "object", + "additionalProperties": { + "type": "number" + } + } + }` + + t.Log("[DEBUG] actual: ", string(jsonSchema)) + t.Log("[DEBUG] expected: ", expected) + assert.Equal(t, expected, string(jsonSchema)) +} + func TestObjectSchema(t *testing.T) { type Person struct { Name string `json:"name"`