Skip to content

Commit

Permalink
add function to output JSON schema
Browse files Browse the repository at this point in the history
  • Loading branch information
andy-miracl committed Jan 23, 2018
1 parent 3968ff1 commit 81779af
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
5 changes: 5 additions & 0 deletions conflate.go
Expand Up @@ -174,3 +174,8 @@ func (c *Conflate) MarshalYAML() ([]byte, error) {
func (c *Conflate) MarshalTOML() ([]byte, error) {
return tomlMarshal(c.data)
}

// MarshalSchema exports the schema as JSON
func (c *Conflate) MarshalSchema() ([]byte, error) {
return jsonMarshal(c.schema)
}
18 changes: 18 additions & 0 deletions conflate_test.go
Expand Up @@ -310,6 +310,24 @@ func TestConflate_MarshalTOML(t *testing.T) {
assert.Equal(t, testMarshalTOML, data)
}

func TestConflate_MarshalSchema(t *testing.T) {
c, err := FromFiles()
assert.Nil(t, err)
err = c.SetSchemaData([]byte("{}"))
assert.Nil(t, err)
data, err := c.MarshalSchema()
assert.Nil(t, err)
assert.Equal(t, "{}\n", string(data))
}

func TestConflate_MarshalSchemaNil(t *testing.T) {
c, err := FromFiles()
assert.Nil(t, err)
data, err := c.MarshalSchema()
assert.Nil(t, err)
assert.Equal(t, string(data), "null\n")
}

func TestConflate_MergeDataError(t *testing.T) {
c := New()
err := c.MergeData([]byte("{not valid"))
Expand Down

0 comments on commit 81779af

Please sign in to comment.