package server import ( "testing" // "fmt" "caj-larsson/bog/dataswamp" "caj-larsson/bog/dataswamp/namespace" ns "caj-larsson/bog/infrastructure/memory/namespace" "caj-larsson/bog/infrastructure/memory/swampfile" "caj-larsson/bog/infrastructure/system_time" "github.com/matryer/is" "net/http" "net/http/httptest" "strings" "time" ) type TestLogger struct{} func (t TestLogger) Debug(format string, a ...interface{}) {} func (t TestLogger) Info(format string, a ...interface{}) {} func (t TestLogger) Warn(format string, a ...interface{}) {} func TestApplication(t *testing.T) { is := is.New(t) logger := TestLogger{} nsRepo := ns.NewRepository() ns_svc := namespace.NewNamespaceService( nsRepo, logger, system_time.Clock{}, time.Hour, 1000, ) file_service := dataswamp.NewDataSwampService( *ns_svc, swampfile.NewRepository(), logger, ) bog := Bog{ router: new(http.ServeMux), file_service: *file_service, address: "fake", logger: logger, } bog.routes() req := httptest.NewRequest("POST", "/apath", strings.NewReader("testdata")) req.Header.Add("User-Agent", "testingclient") req.Header.Add("Content-Length", "8") w := httptest.NewRecorder() bog.router.ServeHTTP(w, req) is.Equal(w.Code, 200) }