diff --git a/gateway/handlers/function_prefix_trimming_url_path_transformer_test.go b/gateway/handlers/function_prefix_trimming_url_path_transformer_test.go new file mode 100644 index 00000000..67f5bc75 --- /dev/null +++ b/gateway/handlers/function_prefix_trimming_url_path_transformer_test.go @@ -0,0 +1,42 @@ +package handlers + +import ( + "net/http" + "testing" +) + +func Test_Transform_RemovesFunctionPrefixRootPath(t *testing.T) { + + req, _ := http.NewRequest(http.MethodGet, "/function/figlet", nil) + transformer := FunctionPrefixTrimmingURLPathTransformer{} + want := "" + got := transformer.Transform(req) + + if want != got { + t.Errorf("want: %s, got: %s", want, got) + } +} + +func Test_Transform_RemovesFunctionPrefixWithSingleParam(t *testing.T) { + + req, _ := http.NewRequest(http.MethodGet, "/function/figlet/employees", nil) + transformer := FunctionPrefixTrimmingURLPathTransformer{} + want := "/employees" + got := transformer.Transform(req) + + if want != got { + t.Errorf("want: %s, got: %s", want, got) + } +} + +func Test_Transform_RemovesFunctionPrefixWithParams(t *testing.T) { + + req, _ := http.NewRequest(http.MethodGet, "/function/figlet/employees/100", nil) + transformer := FunctionPrefixTrimmingURLPathTransformer{} + want := "/employees/100" + got := transformer.Transform(req) + + if want != got { + t.Errorf("want: %s, got: %s", want, got) + } +} diff --git a/gateway/handlers/transparent_url_path_transformer_test.go b/gateway/handlers/transparent_url_path_transformer_test.go new file mode 100644 index 00000000..b628db54 --- /dev/null +++ b/gateway/handlers/transparent_url_path_transformer_test.go @@ -0,0 +1,31 @@ +package handlers + +import ( + "net/http" + "testing" +) + +func Test_Transform_DoesntTransformRootPath(t *testing.T) { + + req, _ := http.NewRequest(http.MethodGet, "/", nil) + transformer := TransparentURLPathTransformer{} + want := req.URL.Path + got := transformer.Transform(req) + + if want != got { + t.Errorf("want: %s, got: %s", want, got) + } +} + +func Test_Transform_DoesntTransformAdditionalPath(t *testing.T) { + + req, _ := http.NewRequest(http.MethodGet, "/employees/", nil) + transformer := TransparentURLPathTransformer{} + want := req.URL.Path + got := transformer.Transform(req) + + if want != got { + t.Errorf("want: %s, got: %s", want, got) + } + +}