From 5f196b90e3bef28479ae8b61162e74895cf7781b Mon Sep 17 00:00:00 2001 From: mpl Date: Fri, 9 Sep 2022 11:40:34 +0200 Subject: [PATCH] add custom tls options test --- pkg/api/handler_http_test.go | 26 ++++++++++++++++++- .../router-baz-custom-tls-options.json | 20 ++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 pkg/api/testdata/router-baz-custom-tls-options.json diff --git a/pkg/api/handler_http_test.go b/pkg/api/handler_http_test.go index fcb8c83166..f6137f2024 100644 --- a/pkg/api/handler_http_test.go +++ b/pkg/api/handler_http_test.go @@ -224,7 +224,7 @@ func TestHandler_HTTP(t *testing.T) { }, }, { - desc: "one router by id, using default TLS options", + desc: "one router by id, implicitly using default TLS options", path: "/api/http/routers/baz@myprovider", conf: runtime.Configuration{ Routers: map[string]*runtime.RouterInfo{ @@ -245,6 +245,30 @@ func TestHandler_HTTP(t *testing.T) { jsonFile: "testdata/router-baz-default-tls-options.json", }, }, + { + desc: "one router by id, using specific TLS options", + path: "/api/http/routers/baz@myprovider", + conf: runtime.Configuration{ + Routers: map[string]*runtime.RouterInfo{ + "baz@myprovider": { + Router: &dynamic.Router{ + EntryPoints: []string{"web"}, + Service: "foo-service@myprovider", + Rule: "Host(`foo.baz`)", + Middlewares: []string{"auth", "addPrefixTest@anotherprovider"}, + TLS: &dynamic.RouterTLSConfig{ + Options: "myTLS", + }, + }, + Status: "enabled", + }, + }, + }, + expected: expected{ + statusCode: http.StatusOK, + jsonFile: "testdata/router-baz-custom-tls-options.json", + }, + }, { desc: "one router by id, that does not exist", path: "/api/http/routers/foo@myprovider", diff --git a/pkg/api/testdata/router-baz-custom-tls-options.json b/pkg/api/testdata/router-baz-custom-tls-options.json new file mode 100644 index 0000000000..c95dc7949b --- /dev/null +++ b/pkg/api/testdata/router-baz-custom-tls-options.json @@ -0,0 +1,20 @@ +{ + "entryPoints": [ + "web" + ], + "middlewares": [ + "auth", + "addPrefixTest@anotherprovider" + ], + "name": "baz@myprovider", + "provider": "myprovider", + "rule": "Host(`foo.baz`)", + "service": "foo-service@myprovider", + "tls": { + "options": "myTLS" + }, + "status": "enabled", + "using": [ + "web" + ] +}