From 11343caaaee65b57f42e8772e8b0e577efde0c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Geisendo=CC=88rfer?= Date: Tue, 7 May 2013 11:05:20 +0200 Subject: [PATCH] Implement test setup and teardown Will be reused for the core tests --- src/http/handler_test.go | 62 +++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/src/http/handler_test.go b/src/http/handler_test.go index 24895c1..a252e5d 100644 --- a/src/http/handler_test.go +++ b/src/http/handler_test.go @@ -11,6 +11,42 @@ import ( const basePath = "/files/" +func Setup() *TestSetup { + dir, err := ioutil.TempDir("", "tus_handler_test") + if err != nil { + panic(err) + } + + config := HandlerConfig{ + Dir: dir, + MaxSize: 1024 * 1024, + BasePath: basePath, + } + + handler, err := NewHandler(config) + if err != nil { + panic(err) + } + + server := httptest.NewServer(handler) + return &TestSetup{ + Handler: handler, + Server: server, + } +} + +type TestSetup struct { + Handler *Handler + Server *httptest.Server +} + +func (s *TestSetup) Teardown() { + s.Server.Close() + if err := os.RemoveAll(s.Handler.config.Dir); err != nil { + panic(err) + } +} + var Protocol_FileCreation_Tests = []struct { Description string Method string @@ -48,25 +84,8 @@ var Protocol_FileCreation_Tests = []struct { } func TestProtocol_FileCreation(t *testing.T) { - dir, err := ioutil.TempDir("", "tus_handler_test") - if err != nil { - t.Fatal(err) - } - defer os.Remove(dir) - - config := HandlerConfig{ - Dir: dir, - MaxSize: 1024 * 1024, - BasePath: basePath, - } - - handler, err := NewHandler(config) - if err != nil { - t.Fatal(err) - } - - server := httptest.NewServer(handler) - defer server.Close() + setup := Setup() + defer setup.Teardown() Tests: for _, test := range Protocol_FileCreation_Tests { @@ -77,7 +96,7 @@ Tests: method = "POST" } - req, err := http.NewRequest(method, server.URL+config.BasePath, nil) + req, err := http.NewRequest(method, setup.Server.URL+setup.Handler.config.BasePath, nil) if err != nil { t.Fatal(err) } @@ -118,3 +137,6 @@ Tests: } } } + +var Protocol_Core_Tests = []struct { +}{}