From d9729b4a2e30cc0143274ebd4a2cc1322bfadc5c Mon Sep 17 00:00:00 2001 From: Karthic Rao Date: Fri, 19 Jun 2015 23:34:54 +0530 Subject: [PATCH 1/2] test for config/setup/internal.go --- config/setup/internal_test.go | 72 +++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 config/setup/internal_test.go diff --git a/config/setup/internal_test.go b/config/setup/internal_test.go new file mode 100644 index 000000000..d847389ca --- /dev/null +++ b/config/setup/internal_test.go @@ -0,0 +1,72 @@ +package setup + +import ( + "testing" + + "github.com/mholt/caddy/middleware/inner" +) + +func TestInternal(t *testing.T) { + c := newTestController(`internal /internal`) + + mid, err := Internal(c) + + if err != nil { + t.Errorf("Expected no errors, got: %v", err) + } + + if mid == nil { + t.Fatal("Expected middleware, was nil instead") + } + + handler := mid(emptyNext) + myHandler, ok := handler.(inner.Internal) + + if !ok { + t.Fatalf("Expected handler to be type Internal, got: %#v", handler) + } + + if myHandler.Paths[0] != "/internal" { + t.Errorf("Expected internal in the list of internal Paths") + } + + if !sameNext(myHandler.Next, emptyNext) { + t.Error("'Next' field of handler was not set properly") + } + +} + +func InternalParse(t *testing.T) { + tests := []struct { + inputInternalPaths string + shouldErr bool + expectedInternalPaths []string + }{ + {`internal /internal`, false, []string{"/internal"}}, + + {`internal /internal1 + internal /internal2`, false, []string{"/internal1", "/internal2"}}, + } + for i, test := range tests { + c := newTestController(test.inputInternalPaths) + actualInternalPaths, err := internalParse(c) + + if err == nil && test.shouldErr { + t.Errorf("Test %d didn't error, but it should have", i) + } else if err != nil && !test.shouldErr { + t.Errorf("Test %d errored, but it shouldn't have; got '%v'", i, err) + } + + if len(actualInternalPaths) != len(test.expectedInternalPaths) { + t.Fatalf("Test %d expected %d InternalPaths, but got %d", + i, len(test.expectedInternalPaths), len(actualInternalPaths)) + } + for j, actualInternalPath := range actualInternalPaths { + if actualInternalPath != test.expectedInternalPaths[j] { + t.Fatalf("Test %d expected %dth Internal Path to be %s , but got %s", + i, j, test.expectedInternalPaths[j], actualInternalPath) + } + } + } + +} From 9d33d9d6b0852c61428e36ee392bfe1f0fd42b7c Mon Sep 17 00:00:00 2001 From: Karthic Rao Date: Fri, 19 Jun 2015 23:54:34 +0530 Subject: [PATCH 2/2] typo corrected --- config/setup/internal_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/setup/internal_test.go b/config/setup/internal_test.go index d847389ca..f6ab43868 100644 --- a/config/setup/internal_test.go +++ b/config/setup/internal_test.go @@ -36,7 +36,7 @@ func TestInternal(t *testing.T) { } -func InternalParse(t *testing.T) { +func TestInternalParse(t *testing.T) { tests := []struct { inputInternalPaths string shouldErr bool