func setSwaggerHost(swspec *spec.Swagger, lines []string) error { lns := lines if len(lns) == 0 || (len(lines) == 1 && len(lines[0]) == 0) { lns = []string{"localhost"} } swspec.Host = lns[0] return nil }
func TestGenerateSwaggerYAML(t *testing.T) { seed := spec.Swagger{} seed.Host = "testapi.my" seed.Produces = []string{"application/json"} seed.Consumes = []string{"application/json"} seed.Schemes = []string{"http"} seed.Info = &spec.Info{} seed.Info.Description = "Our very little example API with 2 endpoints" seed.Info.Title = "Example API" seed.Info.Version = "0.1" seed.BasePath = "/" generator := NewSwaggerGeneratorYAML(seed) tests := getTests() doc, err := generator.Generate(tests) assert.NoError(t, err, "could not generate docs") // checking validity of generated swagger doc yamlMap := map[interface{}]interface{}{} err = yaml.Unmarshal(doc, &yamlMap) assert.NoError(t, err, "could not unmarshal generated doc into map") rawJSON, err := fmts.YAMLToJSON(yamlMap) assert.NoError(t, err) swaggerDoc, err := loads.Analyzed(rawJSON, "") assert.NoError(t, err) err = validate.Spec(swaggerDoc, strfmt.Default) assert.NoError(t, err) // checking equality of generated and expected doc actual := map[interface{}]interface{}{} err = yaml.Unmarshal(doc, &actual) assert.NoError(t, err, "could not unmarshal generated doc into map") fixture, err := ioutil.ReadFile("fixtures/swagger/swagger.yml") assert.NoError(t, err, "could not read fixture file") expected := map[interface{}]interface{}{} err = yaml.Unmarshal(fixture, &expected) assert.NoError(t, err, "could not unmarshal fixture into map") assert.Equal(t, expected, actual) }
func generateSwaggerYAML(t *testing.T, tests []apitest.IApiTest, writer io.Writer) { seed := spec.Swagger{} seed.Host = "localhost" seed.Produces = []string{"application/json"} seed.Consumes = []string{"application/json"} seed.Schemes = []string{"http"} seed.Info = &spec.Info{} seed.Info.Description = "Example API" seed.Info.Title = "Example API" seed.Info.Version = "0.1" seed.BasePath = "/" generator := apitest.NewSwaggerGeneratorYAML(seed) doc, err := generator.Generate(tests) if err != nil { t.Fatalf("could not generate doc: %s", err.Error()) } fmt.Fprint(writer, string(doc)) }