File: //opt/go/pkg/mod/github.com/go-openapi/
[email protected]/middleware/ui_options_test.go
package middleware
import (
"testing"
"github.com/stretchr/testify/require"
)
func TestConvertOptions(t *testing.T) {
t.Run("from any UI options to uiOptions", func(t *testing.T) {
t.Run("from RedocOpts", func(t *testing.T) {
in := RedocOpts{
BasePath: "a",
Path: "b",
SpecURL: "c",
Template: "d",
Title: "e",
RedocURL: "f",
}
out := toCommonUIOptions(in)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
t.Run("from RapiDocOpts", func(t *testing.T) {
in := RapiDocOpts{
BasePath: "a",
Path: "b",
SpecURL: "c",
Template: "d",
Title: "e",
RapiDocURL: "f",
}
out := toCommonUIOptions(in)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
t.Run("from SwaggerUIOpts", func(t *testing.T) {
in := SwaggerUIOpts{
BasePath: "a",
Path: "b",
SpecURL: "c",
Template: "d",
Title: "e",
SwaggerURL: "f",
}
out := toCommonUIOptions(in)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
})
t.Run("from uiOptions to any UI options", func(t *testing.T) {
in := uiOptions{
BasePath: "a",
Path: "b",
SpecURL: "c",
Template: "d",
Title: "e",
}
t.Run("to RedocOpts", func(t *testing.T) {
var out RedocOpts
fromCommonToAnyOptions(in, &out)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
t.Run("to RapiDocOpts", func(t *testing.T) {
var out RapiDocOpts
fromCommonToAnyOptions(in, &out)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
t.Run("to SwaggerUIOpts", func(t *testing.T) {
var out SwaggerUIOpts
fromCommonToAnyOptions(in, &out)
require.Equal(t, "a", out.BasePath)
require.Equal(t, "b", out.Path)
require.Equal(t, "c", out.SpecURL)
require.Equal(t, "d", out.Template)
require.Equal(t, "e", out.Title)
})
})
}