From 6d9b9522e985ca9ec82fc1f4e5a787bdc1f1da70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Hurtado?= Date: Thu, 10 Oct 2019 10:42:57 +0200 Subject: [PATCH] First test for data server --- internal/server/data/server.go | 5 ++++ internal/server/data/server_test.go | 44 +++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 internal/server/data/server.go create mode 100644 internal/server/data/server_test.go diff --git a/internal/server/data/server.go b/internal/server/data/server.go new file mode 100644 index 0000000..7c1ad0e --- /dev/null +++ b/internal/server/data/server.go @@ -0,0 +1,5 @@ +package data + +// Rutas a registrar: +// /handlers/{handler_id}/{resource_path}/request GET +// /handlers/{handler_id}/{resource_path}/response PUT diff --git a/internal/server/data/server_test.go b/internal/server/data/server_test.go new file mode 100644 index 0000000..531d869 --- /dev/null +++ b/internal/server/data/server_test.go @@ -0,0 +1,44 @@ +package data + +import ( + "testing" +) + +func TestConfigRouterHasRoutesWellConfigured(t *testing.T) { + t.Skip("****** WIP ******") + // testCases := []struct { + // pattern, method string + // handler uintptr + // mustMatch bool + // vars []string + // }{ + // {"/handlers/HANDLER_ZZZZZZZZZZZZZZZZ/request/params/name", http.MethodGet, reflect.ValueOf().Pointer(), true, []struct{ key, value string }{{"handler_id", "HANDLER_ZZZZZZZZZZZZZZZZ"}, {"resource", "params/name"}}}, + // {"/handlers/HANDLER_ZZZZZZZZZZZZZZZZ/request/params/name", http.MethodPut, reflect.ValueOf().Pointer(), true, []struct{ key, value string }{{"handler_id", "HANDLER_ZZZZZZZZZZZZZZZZ"}, {"resource", "params/name"}}}, + // {"/handlers/HANDLER_ZZZZZZZZZZZZZZZZ/response/cookies/name", http.MethodGet, reflect.ValueOf().Pointer(), true, []struct{ key, value string }{{"handler_id", "HANDLER_ZZZZZZZZZZZZZZZZ"}, {"resource", "cookies/name"}}}, + // {"/handlers/HANDLER_ZZZZZZZZZZZZZZZZ/response/cookies/name", http.MethodPut, reflect.ValueOf().Pointer(), true, []struct{ key, value string }{{"handler_id", "HANDLER_ZZZZZZZZZZZZZZZZ"}, {"resource", "cookies/name"}}}, + // } + // r := configRouter() + // + // for _, tc := range testCases { + // rm := mux.RouteMatch{} + // rq, _ := http.NewRequest(tc.method, tc.pattern, nil) + // if matched := r.Match(rq, &rm); tc.mustMatch == matched { + // if tc.mustMatch { + // // Check for Handler match. + // realHandler := reflect.ValueOf(rm.Handler).Pointer() + // if realHandler != tc.handler { + // t.Errorf("Handler mismatch. Expected: %X, got: %X", tc.handler, realHandler) + // } + // + // // Check for variables + // for _, vn := range tc.vars { + // if _, exists := rm.Vars[vn]; !exists { + // t.Errorf("Variable not present: %s", vn) + // } + // } + // } + // } else { + // t.Errorf("Route mismatch: %+v", tc) + // } + // } +}