feat: adjust fiber route generation
This commit is contained in:
188
pkg/swag/spec_test.go
Normal file
188
pkg/swag/spec_test.go
Normal file
@@ -0,0 +1,188 @@
|
||||
package swag
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestSpec_InstanceName(t *testing.T) {
|
||||
type fields struct {
|
||||
Version string
|
||||
Host string
|
||||
BasePath string
|
||||
Schemes []string
|
||||
Title string
|
||||
Description string
|
||||
InfoInstanceName string
|
||||
SwaggerTemplate string
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
fields fields
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "TestInstanceNameCorrect",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName1",
|
||||
},
|
||||
want: "TestInstanceName1",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
doc := Spec{
|
||||
Version: tt.fields.Version,
|
||||
Host: tt.fields.Host,
|
||||
BasePath: tt.fields.BasePath,
|
||||
Schemes: tt.fields.Schemes,
|
||||
Title: tt.fields.Title,
|
||||
Description: tt.fields.Description,
|
||||
InfoInstanceName: tt.fields.InfoInstanceName,
|
||||
SwaggerTemplate: tt.fields.SwaggerTemplate,
|
||||
}
|
||||
|
||||
assert.Equal(t, tt.want, doc.InstanceName())
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func TestSpec_ReadDoc(t *testing.T) {
|
||||
type fields struct {
|
||||
Version string
|
||||
Host string
|
||||
BasePath string
|
||||
Schemes []string
|
||||
Title string
|
||||
Description string
|
||||
InfoInstanceName string
|
||||
SwaggerTemplate string
|
||||
LeftDelim string
|
||||
RightDelim string
|
||||
}
|
||||
|
||||
tests := []struct {
|
||||
name string
|
||||
fields fields
|
||||
want string
|
||||
}{
|
||||
{
|
||||
name: "TestReadDocCorrect",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName",
|
||||
SwaggerTemplate: `{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "{{escape .Description}}",
|
||||
"title": "{{.Title}}",
|
||||
"version": "{{.Version}}"
|
||||
},
|
||||
"host": "{{.Host}}",
|
||||
"basePath": "{{.BasePath}}",
|
||||
}`,
|
||||
},
|
||||
want: "{" +
|
||||
"\n\t\t\t\"swagger\": \"2.0\"," +
|
||||
"\n\t\t\t\"info\": {" +
|
||||
"\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"" +
|
||||
"title\": \"\"," +
|
||||
"\n\t\t\t\t\"version\": \"1.0\"" +
|
||||
"\n\t\t\t}," +
|
||||
"\n\t\t\t\"host\": \"localhost:8080\"," +
|
||||
"\n\t\t\t\"basePath\": \"/\"," +
|
||||
"\n\t\t}",
|
||||
},
|
||||
{
|
||||
name: "TestReadDocMarshalTrigger",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName",
|
||||
SwaggerTemplate: "{{ marshal .Version }}",
|
||||
},
|
||||
want: "\"1.0\"",
|
||||
},
|
||||
{
|
||||
name: "TestReadDocParseError",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName",
|
||||
SwaggerTemplate: "{{ ..Version }}",
|
||||
},
|
||||
want: "{{ ..Version }}",
|
||||
},
|
||||
{
|
||||
name: "TestReadDocExecuteError",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName",
|
||||
SwaggerTemplate: "{{ .Schemesa }}",
|
||||
},
|
||||
want: "{{ .Schemesa }}",
|
||||
},
|
||||
{
|
||||
name: "TestReadDocCustomDelims",
|
||||
fields: fields{
|
||||
Version: "1.0",
|
||||
Host: "localhost:8080",
|
||||
BasePath: "/",
|
||||
InfoInstanceName: "TestInstanceName",
|
||||
SwaggerTemplate: `{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"description": "{%escape .Description%}",
|
||||
"title": "{%.Title%}",
|
||||
"version": "{%.Version%}"
|
||||
},
|
||||
"host": "{%.Host%}",
|
||||
"basePath": "{%.BasePath%}",
|
||||
}`,
|
||||
LeftDelim: "{%",
|
||||
RightDelim: "%}",
|
||||
},
|
||||
want: "{" +
|
||||
"\n\t\t\t\"swagger\": \"2.0\"," +
|
||||
"\n\t\t\t\"info\": {" +
|
||||
"\n\t\t\t\t\"description\": \"\",\n\t\t\t\t\"" +
|
||||
"title\": \"\"," +
|
||||
"\n\t\t\t\t\"version\": \"1.0\"" +
|
||||
"\n\t\t\t}," +
|
||||
"\n\t\t\t\"host\": \"localhost:8080\"," +
|
||||
"\n\t\t\t\"basePath\": \"/\"," +
|
||||
"\n\t\t}",
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
doc := Spec{
|
||||
Version: tt.fields.Version,
|
||||
Host: tt.fields.Host,
|
||||
BasePath: tt.fields.BasePath,
|
||||
Schemes: tt.fields.Schemes,
|
||||
Title: tt.fields.Title,
|
||||
Description: tt.fields.Description,
|
||||
InfoInstanceName: tt.fields.InfoInstanceName,
|
||||
SwaggerTemplate: tt.fields.SwaggerTemplate,
|
||||
LeftDelim: tt.fields.LeftDelim,
|
||||
RightDelim: tt.fields.RightDelim,
|
||||
}
|
||||
|
||||
assert.Equal(t, tt.want, doc.ReadDoc())
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user