MCPcopy Create free account
hub / github.com/devfile/api / TestDecodeAttribute

Function TestDecodeAttribute

pkg/devfile/header_test.go:27–62  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

25)
26
27func TestDecodeAttribute(t *testing.T) {
28 devfileWithEnhancedHeader := `
29schemaVersion: 2.0.0
30metadata:
31 name: "theName"
32 version: "1.0.0"
33 attributes:
34 stringAttribute: stringValue
35 boolAttribute: true
36 numberAttribute: 9.9
37 objectAttribute:
38 stringField: stringFieldValue
39 numberField: 8.8
40 arrayAttribute:
41 - number1
42 - 7.7
43`
44 header := DevfileHeader{}
45 err := yaml.Unmarshal([]byte(devfileWithEnhancedHeader), &header)
46
47 assert.NoError(t, err)
48
49 assert.Equal(t, "theName", header.Metadata.Name)
50 assert.Equal(t, "1.0.0", header.Metadata.Version)
51 assert.Equal(t, "stringValue", attributes.Attributes(header.Metadata.Attributes).GetString("stringAttribute", nil))
52 assert.Equal(t, true, attributes.Attributes(header.Metadata.Attributes).GetBoolean("boolAttribute", nil))
53 assert.Equal(t, 9.9, attributes.Attributes(header.Metadata.Attributes).GetNumber("numberAttribute", nil))
54 assert.Equal(t, map[string]interface{}{
55 "stringField": "stringFieldValue",
56 "numberField": 8.8,
57 }, attributes.Attributes(header.Metadata.Attributes).Get("objectAttribute", nil))
58 assert.Equal(t, []interface{}{
59 "number1",
60 7.7,
61 }, attributes.Attributes(header.Metadata.Attributes).Get("arrayAttribute", nil))
62}

Callers

nothing calls this directly

Calls 5

AttributesTypeAlias · 0.92
GetStringMethod · 0.80
GetBooleanMethod · 0.80
GetNumberMethod · 0.80
GetMethod · 0.80

Tested by

no test coverage detected