Skip to content

Commit

Permalink
Use yaml.Unmarshal for swagger.yaml (#1932)
Browse files Browse the repository at this point in the history
* Use yaml.Unmarshal for swagger.yaml

* Add jsonToYAML to goagen/gen_swagger/generator.go

* Update jsonToYAML
  • Loading branch information
blp1526 authored and raphael committed Dec 21, 2018
1 parent 14b7b99 commit 4a2fb39
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 6 deletions.
16 changes: 10 additions & 6 deletions goagen/gen_swagger/generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,12 +99,7 @@ func (g *Generator) Generate() (_ []string, err error) {
g.genfiles = append(g.genfiles, swaggerFile)

// YAML
var yamlSource interface{}
if err = json.Unmarshal(rawJSON, &yamlSource); err != nil {
return nil, err
}

rawYAML, err := yaml.Marshal(yamlSource)
rawYAML, err := jsonToYAML(rawJSON)
if err != nil {
return nil, err
}
Expand All @@ -124,3 +119,12 @@ func (g *Generator) Cleanup() {
}
g.genfiles = nil
}

func jsonToYAML(rawJSON []byte) ([]byte, error) {
var yamlSource interface{}
if err := yaml.Unmarshal(rawJSON, &yamlSource); err != nil {
return nil, err
}

return yaml.Marshal(yamlSource)
}
4 changes: 4 additions & 0 deletions goagen/gen_swagger/generator_export_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package genswagger

// Export internal functions for testing.
var JSONToYAML = jsonToYAML
19 changes: 19 additions & 0 deletions goagen/gen_swagger/generator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,22 @@ var _ = Describe("NewGenerator", func() {
})
})
})

var _ = Describe("jsonToYAML", func() {
var rawYAML []byte
var err error

Context("with JSON which has a number type value", func() {
BeforeEach(func() {

rawYAML, _ = genswagger.JSONToYAML(
[]byte(`{"id":1234567}`),
)
})

It("converts JSON to YAML and keeps right number type", func() {
Ω(string(rawYAML)).Should(Equal("id: 1234567\n"))
Ω(err).ShouldNot(HaveOccurred())
})
})
})

0 comments on commit 4a2fb39

Please sign in to comment.