diff --git a/arc/v1/agents/testing/requests_test.go b/arc/v1/agents/testing/requests_test.go index 81b087e..a09b9df 100644 --- a/arc/v1/agents/testing/requests_test.go +++ b/arc/v1/agents/testing/requests_test.go @@ -13,7 +13,7 @@ import ( "github.com/gophercloud/gophercloud/v2/pagination" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/arc/v1/agents" ) @@ -60,12 +60,12 @@ var agentsList = []agents.Agent{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -76,7 +76,7 @@ func TestList(t *testing.T) { count := 0 //nolint:errcheck - agents.List(fake.ServiceClient(), agents.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { + agents.List(client.ServiceClient(fakeServer), agents.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ actual, err := agents.ExtractAgents(page) if err != nil { @@ -95,12 +95,12 @@ func TestList(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -108,19 +108,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := agents.Get(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() + n, err := agents.Get(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, agentsList[0]) } func TestInit(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/init", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/init", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Accept", "text/x-powershellscript") w.Header().Add("Content-Type", "text/x-powershellscript") @@ -132,7 +132,7 @@ func TestInit(t *testing.T) { options := agents.InitOpts{ Accept: "text/x-powershellscript", } - response := agents.Init(t.Context(), fake.ServiceClient(), options) + response := agents.Init(t.Context(), client.ServiceClient(fakeServer), options) th.AssertNoErr(t, response.Err) expectedHeader := &agents.InitHeader{ContentType: "text/x-powershellscript"} @@ -148,12 +148,12 @@ func TestInit(t *testing.T) { } func TestInitJSON(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/init", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/init", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Accept", "application/json") w.Header().Add("Content-Type", "application/json") @@ -173,7 +173,7 @@ func TestInitJSON(t *testing.T) { options := agents.InitOpts{ Accept: "application/json", } - response := agents.Init(t.Context(), fake.ServiceClient(), options) + response := agents.Init(t.Context(), client.ServiceClient(fakeServer), options) th.AssertNoErr(t, response.Err) expectedHeader := &agents.InitHeader{ContentType: "application/json"} @@ -196,10 +196,10 @@ func TestInitJSON(t *testing.T) { // TODO required headers /* func TestRequiredInitOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - res := agents.Init(fake.ServiceClient(), agents.InitOpts{}) + res := agents.Init(client.ServiceClient(fakeServer), agents.InitOpts{}) if res.Err == nil || !strings.Contains(fmt.Sprintf("%s", res.Err), "Missing input for argument") { t.Fatalf("Expected error, got none") } @@ -207,28 +207,28 @@ func TestRequiredInitOpts(t *testing.T) { */ func TestDelete(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusNoContent) }) - err := agents.Delete(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1").ExtractErr() + err := agents.Delete(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1").ExtractErr() th.AssertNoErr(t, err) } func TestGetTags(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -236,51 +236,51 @@ func TestGetTags(t *testing.T) { fmt.Fprint(w, GetTagsResponse) }) - n, err := agents.GetTags(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() + n, err := agents.GetTags(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, n, agentTags) } func TestCreateTag(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusNoContent) }) - err := agents.CreateTags(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1", agentTags).ExtractErr() + err := agents.CreateTags(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1", agentTags).ExtractErr() th.AssertNoErr(t, err) } func TestDeleteTag(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags/pool", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/tags/pool", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusNoContent) }) - err := agents.DeleteTag(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1", "pool").ExtractErr() + err := agents.DeleteTag(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1", "pool").ExtractErr() th.AssertNoErr(t, err) } func TestGetFacts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/facts", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/agents/88e5cad3-38e6-454f-b412-662cda03e7a1/facts", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -288,7 +288,7 @@ func TestGetFacts(t *testing.T) { fmt.Fprint(w, GetFactsResponse) }) - n, err := agents.GetFacts(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() + n, err := agents.GetFacts(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, n, agentFacts) diff --git a/arc/v1/jobs/testing/requests_test.go b/arc/v1/jobs/testing/requests_test.go index 69fc867..a983396 100644 --- a/arc/v1/jobs/testing/requests_test.go +++ b/arc/v1/jobs/testing/requests_test.go @@ -13,7 +13,7 @@ import ( "github.com/gophercloud/gophercloud/v2/pagination" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/arc/v1/jobs" ) @@ -64,12 +64,12 @@ var jobsList = []jobs.Job{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/jobs", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/jobs", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -80,7 +80,7 @@ func TestList(t *testing.T) { count := 0 //nolint:errcheck - jobs.List(fake.ServiceClient(), jobs.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { + jobs.List(client.ServiceClient(fakeServer), jobs.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ actual, err := jobs.ExtractJobs(page) if err != nil { @@ -99,12 +99,12 @@ func TestList(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/jobs/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/jobs/88e5cad3-38e6-454f-b412-662cda03e7a1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -112,19 +112,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := jobs.Get(t.Context(), fake.ServiceClient(), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() + n, err := jobs.Get(t.Context(), client.ServiceClient(fakeServer), "88e5cad3-38e6-454f-b412-662cda03e7a1").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, jobsList[1]) } func TestCreate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/jobs", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/jobs", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, CreateRequest) @@ -142,17 +142,17 @@ func TestCreate(t *testing.T) { Action: "script", Payload: "echo \"Script start\"\n\nfor i in {1..10}\ndo\n\techo $i\n sleep 1s\ndone\n\necho \"Script done\"", } - _, err := jobs.Create(t.Context(), fake.ServiceClient(), options).Extract() + _, err := jobs.Create(t.Context(), client.ServiceClient(fakeServer), options).Extract() th.AssertNoErr(t, err) } func TestGetLog(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/jobs/7ec336bd-fcd1-42af-a663-da578dd0b224/log", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/jobs/7ec336bd-fcd1-42af-a663-da578dd0b224/log", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "text/plain; charset=utf-8") w.WriteHeader(http.StatusOK) @@ -160,7 +160,7 @@ func TestGetLog(t *testing.T) { fmt.Fprint(w, LogResponse) }) - response := jobs.GetLog(t.Context(), fake.ServiceClient(), "7ec336bd-fcd1-42af-a663-da578dd0b224") + response := jobs.GetLog(t.Context(), client.ServiceClient(fakeServer), "7ec336bd-fcd1-42af-a663-da578dd0b224") th.AssertNoErr(t, response.Err) expectedHeader := &jobs.GetLogHeader{ContentType: "text/plain; charset=utf-8"} @@ -176,10 +176,10 @@ func TestGetLog(t *testing.T) { } func TestRequiredCreateOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - res := jobs.Create(t.Context(), fake.ServiceClient(), jobs.CreateOpts{}) + res := jobs.Create(t.Context(), client.ServiceClient(fakeServer), jobs.CreateOpts{}) if res.Err == nil || !strings.Contains(res.Err.Error(), "Missing input for argument") { t.Fatalf("Expected error, got none") } diff --git a/audit/v1/events/testing/requests_test.go b/audit/v1/events/testing/requests_test.go index 8b5734a..5362b22 100644 --- a/audit/v1/events/testing/requests_test.go +++ b/audit/v1/events/testing/requests_test.go @@ -11,7 +11,7 @@ import ( "github.com/gophercloud/gophercloud/v2/pagination" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/cadf" "github.com/sapcc/gophercloud-sapcc/v2/audit/v1/events" @@ -74,12 +74,12 @@ var event = events.Event{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/events", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/events", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -90,7 +90,7 @@ func TestList(t *testing.T) { count := 0 //nolint:errcheck - events.List(fake.ServiceClient(), events.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { + events.List(client.ServiceClient(fakeServer), events.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ actual, err := events.ExtractEvents(page) if err != nil { @@ -122,12 +122,12 @@ func TestListOpts(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/events/7189ce80-6e73-5ad9-bdc5-dcc47f176378", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/events/7189ce80-6e73-5ad9-bdc5-dcc47f176378", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -135,7 +135,7 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := events.Get(t.Context(), fake.ServiceClient(), "7189ce80-6e73-5ad9-bdc5-dcc47f176378", nil).Extract() + n, err := events.Get(t.Context(), client.ServiceClient(fakeServer), "7189ce80-6e73-5ad9-bdc5-dcc47f176378", nil).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, event) diff --git a/automation/v1/automations/testing/requests_test.go b/automation/v1/automations/testing/requests_test.go index f006b37..899d3e3 100644 --- a/automation/v1/automations/testing/requests_test.go +++ b/automation/v1/automations/testing/requests_test.go @@ -13,7 +13,7 @@ import ( "github.com/gophercloud/gophercloud/v2/pagination" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/automation/v1/automations" ) @@ -51,12 +51,12 @@ var automationsList = []automations.Automation{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -67,7 +67,7 @@ func TestList(t *testing.T) { count := 0 //nolint:errcheck - automations.List(fake.ServiceClient(), automations.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { + automations.List(client.ServiceClient(fakeServer), automations.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ actual, err := automations.ExtractAutomations(page) if err != nil { @@ -86,12 +86,12 @@ func TestList(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -99,19 +99,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := automations.Get(t.Context(), fake.ServiceClient(), "2").Extract() + n, err := automations.Get(t.Context(), client.ServiceClient(fakeServer), "2").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, automationsList[1]) } func TestCreate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, CreateRequest) @@ -134,29 +134,29 @@ func TestCreate(t *testing.T) { Debug: true, ChefVersion: "12.22.5", } - n, err := automations.Create(t.Context(), fake.ServiceClient(), options).Extract() + n, err := automations.Create(t.Context(), client.ServiceClient(fakeServer), options).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, automationsList[1]) } func TestRequiredCreateOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - res := automations.Create(t.Context(), fake.ServiceClient(), automations.CreateOpts{}) + res := automations.Create(t.Context(), client.ServiceClient(fakeServer), automations.CreateOpts{}) if res.Err == nil || !strings.Contains(res.Err.Error(), "Missing input for argument") { t.Fatalf("Expected error, got none") } } func TestUpdate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, UpdateRequest) @@ -169,7 +169,7 @@ func TestUpdate(t *testing.T) { options := automations.UpdateOpts{Debug: new(bool)} - s, err := automations.Update(t.Context(), fake.ServiceClient(), "2", options).Extract() + s, err := automations.Update(t.Context(), client.ServiceClient(fakeServer), "2", options).Extract() th.AssertNoErr(t, err) tmp := automationsList[1] @@ -178,12 +178,12 @@ func TestUpdate(t *testing.T) { } func TestUpdateCreds(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, UpdateRequestCreds) @@ -197,7 +197,7 @@ func TestUpdateCreds(t *testing.T) { creds := "foobar" options := automations.UpdateOpts{RepositoryCredentials: &creds} - s, err := automations.Update(t.Context(), fake.ServiceClient(), "2", options).Extract() + s, err := automations.Update(t.Context(), client.ServiceClient(fakeServer), "2", options).Extract() th.AssertNoErr(t, err) tmp := automationsList[1] @@ -206,12 +206,12 @@ func TestUpdateCreds(t *testing.T) { } func TestRemoveRunList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, RemoveRunListRequest) @@ -227,7 +227,7 @@ func TestRemoveRunList(t *testing.T) { RunList: []string{}, } - s, err := automations.Update(t.Context(), fake.ServiceClient(), "2", options).Extract() + s, err := automations.Update(t.Context(), client.ServiceClient(fakeServer), "2", options).Extract() th.AssertNoErr(t, err) tmp := automationsList[1] @@ -236,15 +236,15 @@ func TestRemoveRunList(t *testing.T) { } func TestDelete(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/automations/2", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "DELETE") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.WriteHeader(http.StatusNoContent) }) - res := automations.Delete(t.Context(), fake.ServiceClient(), "2") + res := automations.Delete(t.Context(), client.ServiceClient(fakeServer), "2") th.AssertNoErr(t, res.Err) } diff --git a/automation/v1/runs/testing/requests_test.go b/automation/v1/runs/testing/requests_test.go index 277f330..7c14b6b 100644 --- a/automation/v1/runs/testing/requests_test.go +++ b/automation/v1/runs/testing/requests_test.go @@ -13,7 +13,7 @@ import ( "github.com/gophercloud/gophercloud/v2/pagination" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/automation/v1/runs" ) @@ -63,12 +63,12 @@ var CreatedObject = runs.Run{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/runs", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/runs", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -79,7 +79,7 @@ func TestList(t *testing.T) { count := 0 //nolint:errcheck - runs.List(fake.ServiceClient(), runs.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { + runs.List(client.ServiceClient(fakeServer), runs.ListOpts{}).EachPage(t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ actual, err := runs.ExtractRuns(page) if err != nil { @@ -98,12 +98,12 @@ func TestList(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/runs/1", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/runs/1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -111,19 +111,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := runs.Get(t.Context(), fake.ServiceClient(), "1").Extract() + n, err := runs.Get(t.Context(), client.ServiceClient(fakeServer), "1").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, RunObject, *n) } func TestCreate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/runs", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/runs", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, CreateRequest) @@ -138,17 +138,17 @@ func TestCreate(t *testing.T) { AutomationID: "2", Selector: "@identity='88e5cad3-38e6-454f-b412-662cda03e7a1'", } - n, err := runs.Create(t.Context(), fake.ServiceClient(), options).Extract() + n, err := runs.Create(t.Context(), client.ServiceClient(fakeServer), options).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, CreatedObject) } func TestRequiredCreateOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - res := runs.Create(t.Context(), fake.ServiceClient(), runs.CreateOpts{}) + res := runs.Create(t.Context(), client.ServiceClient(fakeServer), runs.CreateOpts{}) if res.Err == nil || !strings.Contains(res.Err.Error(), "Missing input for argument") { t.Fatalf("Expected error, got none") } diff --git a/billing/masterdata/domains/testing/requests_test.go b/billing/masterdata/domains/testing/requests_test.go index 57704c7..04fd199 100644 --- a/billing/masterdata/domains/testing/requests_test.go +++ b/billing/masterdata/domains/testing/requests_test.go @@ -10,7 +10,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/billing/masterdata/domains" ) @@ -52,12 +52,12 @@ var updateResponse = domains.Domain{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/domains", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/domains", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -65,7 +65,7 @@ func TestList(t *testing.T) { fmt.Fprint(w, ListResponse) }) - allDomains, err := domains.List(fake.ServiceClient(), domains.ListOpts{}).AllPages(t.Context()) + allDomains, err := domains.List(client.ServiceClient(fakeServer), domains.ListOpts{}).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := domains.ExtractDomains(allDomains) @@ -75,12 +75,12 @@ func TestList(t *testing.T) { } func TestListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/domains", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/domains", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.CheckEquals(t, "true", r.URL.Query().Get("checkCOValidity")) th.CheckEquals(t, "true", r.URL.Query().Get("excludeDeleted")) @@ -98,7 +98,7 @@ func TestListOpts(t *testing.T) { From: time.Date(2023, 04, 26, 12, 31, 42, 133700000, time.UTC), } - allDomains, err := domains.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allDomains, err := domains.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := domains.ExtractDomains(allDomains) @@ -108,12 +108,12 @@ func TestListOpts(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/domains/707c94677ac741ecb1f2cabc804c1285", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/domains/707c94677ac741ecb1f2cabc804c1285", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -121,19 +121,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := domains.Get(t.Context(), fake.ServiceClient(), "707c94677ac741ecb1f2cabc804c1285").Extract() + n, err := domains.Get(t.Context(), client.ServiceClient(fakeServer), "707c94677ac741ecb1f2cabc804c1285").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, domainsList[0]) } func TestUpdate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/domains/707c94677ac741ecb1f2cabc804c1285", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/domains/707c94677ac741ecb1f2cabc804c1285", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, UpdateRequest) @@ -157,7 +157,7 @@ func TestUpdate(t *testing.T) { Region: "region", } - s, err := domains.Update(t.Context(), fake.ServiceClient(), "707c94677ac741ecb1f2cabc804c1285", options).Extract() + s, err := domains.Update(t.Context(), client.ServiceClient(fakeServer), "707c94677ac741ecb1f2cabc804c1285", options).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *s, updateResponse) diff --git a/billing/masterdata/price/testing/requests_test.go b/billing/masterdata/price/testing/requests_test.go index 416bc34..517cffd 100644 --- a/billing/masterdata/price/testing/requests_test.go +++ b/billing/masterdata/price/testing/requests_test.go @@ -10,7 +10,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/billing/masterdata/price" ) @@ -43,12 +43,12 @@ var priceList = []price.Price{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/pricelist", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/pricelist", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -56,7 +56,7 @@ func TestList(t *testing.T) { fmt.Fprint(w, ListResponse) }) - allPrices, err := price.List(fake.ServiceClient(), price.ListOpts{}).AllPages(t.Context()) + allPrices, err := price.List(client.ServiceClient(fakeServer), price.ListOpts{}).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := price.ExtractPrices(allPrices) @@ -66,12 +66,12 @@ func TestList(t *testing.T) { } func TestListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/pricelist", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/pricelist", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.CheckEquals(t, r.URL.Query().Get("onlyActive"), "true") th.CheckEquals(t, r.URL.Query().Get("METRIC_TYPE"), "foo") @@ -87,7 +87,7 @@ func TestListOpts(t *testing.T) { MetricType: "foo", } - allPrices, err := price.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allPrices, err := price.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := price.ExtractPrices(allPrices) @@ -97,12 +97,12 @@ func TestListOpts(t *testing.T) { } func TestDateListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/price/region/foo/2018-08-20T14:39:39/2019-08-20T14:39:39", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/price/region/foo/2018-08-20T14:39:39/2019-08-20T14:39:39", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -117,7 +117,7 @@ func TestDateListOpts(t *testing.T) { To: time.Date(2019, time.August, 20, 14, 39, 39, 786000000, time.UTC), } - allPrices, err := price.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allPrices, err := price.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := price.ExtractPrices(allPrices) @@ -127,12 +127,12 @@ func TestDateListOpts(t *testing.T) { } func TestRegionListOptsNoDate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/price/region/foo/0001-01-01T00:00:00/9999-12-31T00:00:00", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/price/region/foo/0001-01-01T00:00:00/9999-12-31T00:00:00", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -145,7 +145,7 @@ func TestRegionListOptsNoDate(t *testing.T) { MetricType: "foo", } - allPrices, err := price.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allPrices, err := price.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := price.ExtractPrices(allPrices) diff --git a/billing/masterdata/projects/testing/requests_test.go b/billing/masterdata/projects/testing/requests_test.go index 453d25e..4912b5b 100644 --- a/billing/masterdata/projects/testing/requests_test.go +++ b/billing/masterdata/projects/testing/requests_test.go @@ -10,7 +10,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/billing/masterdata/projects" ) @@ -84,12 +84,12 @@ var updateResponse = projects.Project{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/projects", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/projects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -97,7 +97,7 @@ func TestList(t *testing.T) { fmt.Fprint(w, ListResponse) }) - allProjects, err := projects.List(fake.ServiceClient(), projects.ListOpts{}).AllPages(t.Context()) + allProjects, err := projects.List(client.ServiceClient(fakeServer), projects.ListOpts{}).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := projects.ExtractProjects(allProjects) @@ -107,12 +107,12 @@ func TestList(t *testing.T) { } func TestListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/projects", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/projects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.CheckEquals(t, r.URL.Query().Get("checkCOValidity"), "true") th.CheckEquals(t, r.URL.Query().Get("excludeDeleted"), "true") @@ -130,7 +130,7 @@ func TestListOpts(t *testing.T) { From: time.Date(2023, 04, 26, 12, 31, 42, 133700000, time.UTC), } - allProjects, err := projects.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allProjects, err := projects.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := projects.ExtractProjects(allProjects) @@ -140,12 +140,12 @@ func TestListOpts(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/projects/e9141fb24eee4b3e9f25ae69cda31132", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/projects/e9141fb24eee4b3e9f25ae69cda31132", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -153,19 +153,19 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetResponse) }) - n, err := projects.Get(t.Context(), fake.ServiceClient(), "e9141fb24eee4b3e9f25ae69cda31132").Extract() + n, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "e9141fb24eee4b3e9f25ae69cda31132").Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *n, projectsList[0]) } func TestUpdate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/masterdata/projects/e9141fb24eee4b3e9f25ae69cda31132", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/masterdata/projects/e9141fb24eee4b3e9f25ae69cda31132", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, "PUT") - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") th.TestHeader(t, r, "Accept", "application/json") th.TestJSONRequest(t, r, UpdateRequest) @@ -204,7 +204,7 @@ func TestUpdate(t *testing.T) { BusinessCriticality: "dev", } - s, err := projects.Update(t.Context(), fake.ServiceClient(), "e9141fb24eee4b3e9f25ae69cda31132", options).Extract() + s, err := projects.Update(t.Context(), client.ServiceClient(fakeServer), "e9141fb24eee4b3e9f25ae69cda31132", options).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *s, updateResponse) diff --git a/billing/services/billing/testing/requests_test.go b/billing/services/billing/testing/requests_test.go index 939c407..bede927 100644 --- a/billing/services/billing/testing/requests_test.go +++ b/billing/services/billing/testing/requests_test.go @@ -10,7 +10,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/billing/services/billing" ) @@ -49,12 +49,12 @@ var billingList = []billing.Billing{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/services/billing", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/services/billing", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -62,7 +62,7 @@ func TestList(t *testing.T) { fmt.Fprint(w, ListResponse) }) - allBillings, err := billing.List(fake.ServiceClient(), nil).AllPages(t.Context()) + allBillings, err := billing.List(client.ServiceClient(fakeServer), nil).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := billing.ExtractBillings(allBillings) @@ -72,12 +72,12 @@ func TestList(t *testing.T) { } func TestListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/services/billing", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/services/billing", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.CheckEquals(t, r.URL.Query().Get("exclude_missing_co"), "true") th.CheckEquals(t, r.URL.Query().Get("year"), "2019") @@ -97,7 +97,7 @@ func TestListOpts(t *testing.T) { To: time.Date(2019, time.August, 20, 14, 39, 39, 786000000, time.UTC), } - allBillings, err := billing.List(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allBillings, err := billing.List(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := billing.ExtractBillings(allBillings) diff --git a/billing/services/costing/testing/requests_test.go b/billing/services/costing/testing/requests_test.go index eb8a217..96871f1 100644 --- a/billing/services/costing/testing/requests_test.go +++ b/billing/services/costing/testing/requests_test.go @@ -10,7 +10,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/billing/services/costing" ) @@ -59,12 +59,12 @@ var costingList = []costing.Costing{ } func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/services/costing/objects", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/services/costing/objects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Add("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -72,7 +72,7 @@ func TestList(t *testing.T) { fmt.Fprint(w, ListResponse) }) - allCostings, err := costing.ListObjects(fake.ServiceClient(), nil).AllPages(t.Context()) + allCostings, err := costing.ListObjects(client.ServiceClient(fakeServer), nil).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := costing.ExtractCostings(allCostings) @@ -82,12 +82,12 @@ func TestList(t *testing.T) { } func TestListOpts(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/services/costing/objects", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/services/costing/objects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) th.CheckEquals(t, r.URL.Query().Get("exclude_internal_co"), "true") th.CheckEquals(t, r.URL.Query().Get("last"), "12") @@ -107,7 +107,7 @@ func TestListOpts(t *testing.T) { End: time.Date(2019, time.August, 20, 14, 39, 39, 786000000, time.UTC), } - allCostings, err := costing.ListObjects(fake.ServiceClient(), listOpts).AllPages(t.Context()) + allCostings, err := costing.ListObjects(client.ServiceClient(fakeServer), listOpts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := costing.ExtractCostings(allCostings) diff --git a/go.mod b/go.mod index 188efb1..cdd1cdd 100644 --- a/go.mod +++ b/go.mod @@ -3,15 +3,15 @@ module github.com/sapcc/gophercloud-sapcc/v2 go 1.24 require ( - github.com/gophercloud/gophercloud/v2 v2.7.0 - github.com/gophercloud/utils/v2 v2.0.0-20250711132455-9770683b100a + github.com/gophercloud/gophercloud/v2 v2.8.0 + github.com/gophercloud/utils/v2 v2.0.0-20250819195638-e4fc39f0eda4 github.com/sapcc/go-api-declarations v1.17.3 ) require ( github.com/gofrs/uuid/v5 v5.3.2 // indirect - github.com/majewsky/gg v1.1.0 // indirect - golang.org/x/sys v0.34.0 // indirect - golang.org/x/text v0.27.0 // indirect + github.com/majewsky/gg v1.3.0 // indirect + golang.org/x/sys v0.35.0 // indirect + golang.org/x/text v0.28.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index f526831..db21f2d 100644 --- a/go.sum +++ b/go.sum @@ -1,17 +1,17 @@ github.com/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0= github.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/gophercloud/gophercloud/v2 v2.7.0 h1:o0m4kgVcPgHlcXiWAjoVxGd8QCmvM5VU+YM71pFbn0E= -github.com/gophercloud/gophercloud/v2 v2.7.0/go.mod h1:Ki/ILhYZr/5EPebrPL9Ej+tUg4lqx71/YH2JWVeU+Qk= -github.com/gophercloud/utils/v2 v2.0.0-20250711132455-9770683b100a h1:erVLycqmezd0+eukgQ4xgLxGsByDKvqJxLXVc35tUYI= -github.com/gophercloud/utils/v2 v2.0.0-20250711132455-9770683b100a/go.mod h1:1mckc18GQSFLRhDy2BjPGkkpbrjxY5iwX/oxpdTE2kw= -github.com/majewsky/gg v1.1.0 h1:rvbQAUVJ8Q0RWZF26k3BxQBbQnRj3CdIN+Aaqu1qaJo= -github.com/majewsky/gg v1.1.0/go.mod h1:KC7qUlln1VBY90OE0jXMNjXW2b9B4jJ1heYQ08OzeAg= +github.com/gophercloud/gophercloud/v2 v2.8.0 h1:of2+8tT6+FbEYHfYC8GBu8TXJNsXYSNm9KuvpX7Neqo= +github.com/gophercloud/gophercloud/v2 v2.8.0/go.mod h1:Ki/ILhYZr/5EPebrPL9Ej+tUg4lqx71/YH2JWVeU+Qk= +github.com/gophercloud/utils/v2 v2.0.0-20250819195638-e4fc39f0eda4 h1:AjEgLZlPwlXQvWpJJcgfb/1MfIm4NcSV4PkBmW0im4Q= +github.com/gophercloud/utils/v2 v2.0.0-20250819195638-e4fc39f0eda4/go.mod h1:LzITNtOz9eRj/Yt4vheymXTHGC1ksIsKNtLXhaX8+I0= +github.com/majewsky/gg v1.3.0 h1:1bBuQ+S1u9wuD8YT2OMdngEUctwv+xx5D6bZTd1lAto= +github.com/majewsky/gg v1.3.0/go.mod h1:KC7qUlln1VBY90OE0jXMNjXW2b9B4jJ1heYQ08OzeAg= github.com/sapcc/go-api-declarations v1.17.3 h1:ILRfsFD9ChSeekyzlDInLMqjC830gBcyK6ULlFdP45I= github.com/sapcc/go-api-declarations v1.17.3/go.mod h1:MWmLjmvjftgyAugNUfIhsDsHIzXH1pn32cWLZpiluKg= -golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= -golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/text v0.27.0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4= -golang.org/x/text v0.27.0/go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU= +golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/metis/v1/identity/costobjects/testing/fixtures.go b/metis/v1/identity/costobjects/testing/fixtures.go index 94121c9..423f28e 100644 --- a/metis/v1/identity/costobjects/testing/fixtures.go +++ b/metis/v1/identity/costobjects/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetCostObjectSuccessfully creates an HTTP handler at `/identity/costobject/:costobject_id` on the // test handler mux that responds with a single costobject. -func HandleGetCostObjectSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/costobject/costobject-1", func(w http.ResponseWriter, r *http.Request) { +func HandleGetCostObjectSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/costobject/costobject-1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -32,10 +32,10 @@ func HandleGetCostObjectSuccessfully(t *testing.T) { // HandleListCostObjectsSuccessfully creates an HTTP handler at `/identity/costobject` on the // test handler mux that responds with a list of costobjects. -func HandleListCostObjectsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/costobject", func(w http.ResponseWriter, r *http.Request) { +func HandleListCostObjectsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/costobject", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -60,7 +60,7 @@ func HandleListCostObjectsSuccessfully(t *testing.T) { err = json.Unmarshal(jsonBytes, &resp) th.AssertNoErr(t, err) // adding a nextLink to the pagination response - resp.Data["nextLink"] = th.Endpoint() + "/identity/costobject?domain=foo&project=bar&cursor=dummycursor&limit=1" + resp.Data["nextLink"] = fakeServer.Endpoint() + "/identity/costobject?domain=foo&project=bar&cursor=dummycursor&limit=1" jsonBytes, err = json.Marshal(resp) default: jsonBytes, err = os.ReadFile(filepath.Join("fixtures", "list.json")) diff --git a/metis/v1/identity/costobjects/testing/requests_test.go b/metis/v1/identity/costobjects/testing/requests_test.go index 2f3a157..4bbeedc 100644 --- a/metis/v1/identity/costobjects/testing/requests_test.go +++ b/metis/v1/identity/costobjects/testing/requests_test.go @@ -7,17 +7,17 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/metis/v1/identity/costobjects" ) func TestGetProject(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetCostObjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetCostObjectSuccessfully(t, fakeServer) - actual, err := costobjects.Get(t.Context(), fakeclient.ServiceClient(), "costobject-1").Extract() + actual, err := costobjects.Get(t.Context(), client.ServiceClient(fakeServer), "costobject-1").Extract() th.AssertNoErr(t, err) expected := &costobjects.CostObject{ @@ -28,9 +28,9 @@ func TestGetProject(t *testing.T) { } func TestListCostObjects(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListCostObjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListCostObjectsSuccessfully(t, fakeServer) opts := costobjects.ListOpts{ Limit: 1, // Set the domain and project options to verify the filtering works @@ -38,7 +38,7 @@ func TestListCostObjects(t *testing.T) { Project: "bar", } - p, err := costobjects.List(fakeclient.ServiceClient(), opts).AllPages(t.Context()) + p, err := costobjects.List(client.ServiceClient(fakeServer), opts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := costobjects.Extract(p) th.AssertNoErr(t, err) diff --git a/metis/v1/identity/domains/testing/fixtures.go b/metis/v1/identity/domains/testing/fixtures.go index ff2b4ac..ec9dc4d 100644 --- a/metis/v1/identity/domains/testing/fixtures.go +++ b/metis/v1/identity/domains/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetDomainSuccessfully creates an HTTP handler at `/identity/domain/:domain_id` on the // test handler mux that responds with a single Domain. -func HandleGetDomainSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/domain/domain-1", func(w http.ResponseWriter, r *http.Request) { +func HandleGetDomainSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/domain/domain-1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -32,10 +32,10 @@ func HandleGetDomainSuccessfully(t *testing.T) { // HandleListDomainsSuccessfully creates an HTTP handler at `/identity/domain` on the // test handler mux that responds with a list of Domains. -func HandleListDomainsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/domain", func(w http.ResponseWriter, r *http.Request) { +func HandleListDomainsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/domain", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -55,7 +55,7 @@ func HandleListDomainsSuccessfully(t *testing.T) { err = json.Unmarshal(jsonBytes, &resp) th.AssertNoErr(t, err) // adding a nextLink to the pagination response - resp.Data["nextLink"] = th.Endpoint() + "/identity/domain?cursor=dummycursor&limit=1" + resp.Data["nextLink"] = fakeServer.Endpoint() + "/identity/domain?cursor=dummycursor&limit=1" jsonBytes, err = json.Marshal(resp) default: jsonBytes, err = os.ReadFile(filepath.Join("fixtures", "list.json")) diff --git a/metis/v1/identity/domains/testing/requests_test.go b/metis/v1/identity/domains/testing/requests_test.go index 466b37f..b559ace 100644 --- a/metis/v1/identity/domains/testing/requests_test.go +++ b/metis/v1/identity/domains/testing/requests_test.go @@ -7,17 +7,17 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/metis/v1/identity/domains" ) func TestGetDomain(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetDomainSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetDomainSuccessfully(t, fakeServer) - actual, err := domains.Get(t.Context(), fakeclient.ServiceClient(), "domain-1").Extract() + actual, err := domains.Get(t.Context(), client.ServiceClient(fakeServer), "domain-1").Extract() th.AssertNoErr(t, err) expected := &domains.Domain{ @@ -37,14 +37,14 @@ func TestGetDomain(t *testing.T) { } func TestListDomains(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListDomainsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListDomainsSuccessfully(t, fakeServer) opts := domains.ListOpts{ Limit: 1, } - p, err := domains.List(fakeclient.ServiceClient(), opts).AllPages(t.Context()) + p, err := domains.List(client.ServiceClient(fakeServer), opts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := domains.Extract(p) th.AssertNoErr(t, err) diff --git a/metis/v1/identity/projects/testing/fixtures.go b/metis/v1/identity/projects/testing/fixtures.go index a985968..064392d 100644 --- a/metis/v1/identity/projects/testing/fixtures.go +++ b/metis/v1/identity/projects/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetProjectSuccessfully creates an HTTP handler at `/identity/project/:project_id` on the // test handler mux that responds with a single project. -func HandleGetProjectSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/project/project-1", func(w http.ResponseWriter, r *http.Request) { +func HandleGetProjectSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/project/project-1", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -32,10 +32,10 @@ func HandleGetProjectSuccessfully(t *testing.T) { // HandleGetProjectSuccessfully creates an HTTP handler at `/identity/project` on the // test handler mux that responds with a list of projects. -func HandleListProjectsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/identity/project", func(w http.ResponseWriter, r *http.Request) { +func HandleListProjectsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/identity/project", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -55,7 +55,7 @@ func HandleListProjectsSuccessfully(t *testing.T) { err = json.Unmarshal(jsonBytes, &resp) th.AssertNoErr(t, err) // adding a nextLink to the pagination response - resp.Data["nextLink"] = th.Endpoint() + "/identity/project?cursor=dummycursor&limit=1" + resp.Data["nextLink"] = fakeServer.Endpoint() + "/identity/project?cursor=dummycursor&limit=1" jsonBytes, err = json.Marshal(resp) default: jsonBytes, err = os.ReadFile(filepath.Join("fixtures", "list.json")) diff --git a/metis/v1/identity/projects/testing/requests_test.go b/metis/v1/identity/projects/testing/requests_test.go index f3e0214..d073eef 100644 --- a/metis/v1/identity/projects/testing/requests_test.go +++ b/metis/v1/identity/projects/testing/requests_test.go @@ -7,17 +7,17 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/metis/v1/identity/projects" ) func TestGetProject(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "project-1").Extract() + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "project-1").Extract() th.AssertNoErr(t, err) expected := &projects.Project{ @@ -67,14 +67,14 @@ func TestGetProject(t *testing.T) { } func TestListProjects(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) opts := projects.ListOpts{ Limit: 1, } - p, err := projects.List(fakeclient.ServiceClient(), opts).AllPages(t.Context()) + p, err := projects.List(client.ServiceClient(fakeServer), opts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := projects.Extract(p) th.AssertNoErr(t, err) diff --git a/metis/v1/network/dns/testing/fixtures.go b/metis/v1/network/dns/testing/fixtures.go index 4257f22..96bc430 100644 --- a/metis/v1/network/dns/testing/fixtures.go +++ b/metis/v1/network/dns/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetDNSZoneSuccessfully creates an HTTP handler at `/network/dns/zone/:zone_id` on the // test handler mux that responds with a single DNS zone. -func HandleGetDNSZoneSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/network/dns/zone/004321e142604754a789dd9b23db3242", func(w http.ResponseWriter, r *http.Request) { +func HandleGetDNSZoneSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/network/dns/zone/004321e142604754a789dd9b23db3242", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -32,10 +32,10 @@ func HandleGetDNSZoneSuccessfully(t *testing.T) { // HandleListDNSZonesSuccessfully creates an HTTP handler at `/network/dns/zone` on the // test handler mux that responds with a list of DNS zones. -func HandleListDNSZonesSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/network/dns/zone", func(w http.ResponseWriter, r *http.Request) { +func HandleListDNSZonesSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/network/dns/zone", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -55,7 +55,7 @@ func HandleListDNSZonesSuccessfully(t *testing.T) { err = json.Unmarshal(jsonBytes, &resp) th.AssertNoErr(t, err) // adding a nextLink to the pagination response - resp.Data["nextLink"] = th.Endpoint() + "/network/dns/zone?cursor=dummycursor&limit=1" + resp.Data["nextLink"] = fakeServer.Endpoint() + "/network/dns/zone?cursor=dummycursor&limit=1" jsonBytes, err = json.Marshal(resp) default: jsonBytes, err = os.ReadFile(filepath.Join("fixtures", "list.json")) diff --git a/metis/v1/network/dns/testing/requests_test.go b/metis/v1/network/dns/testing/requests_test.go index b9839da..f37a39f 100644 --- a/metis/v1/network/dns/testing/requests_test.go +++ b/metis/v1/network/dns/testing/requests_test.go @@ -7,17 +7,17 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/metis/v1/network/dns" ) func TestGetDNSZone(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetDNSZoneSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetDNSZoneSuccessfully(t, fakeServer) - actual, err := dns.Get(t.Context(), fakeclient.ServiceClient(), "004321e142604754a789dd9b23db3242").Extract() + actual, err := dns.Get(t.Context(), client.ServiceClient(fakeServer), "004321e142604754a789dd9b23db3242").Extract() th.AssertNoErr(t, err) expected := &dns.Zone{ @@ -51,13 +51,13 @@ func TestGetDNSZone(t *testing.T) { } func TestListDNSZones(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListDNSZonesSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListDNSZonesSuccessfully(t, fakeServer) opts := dns.ListOpts{Limit: 1} - p, err := dns.List(fakeclient.ServiceClient(), opts).AllPages(t.Context()) + p, err := dns.List(client.ServiceClient(fakeServer), opts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := dns.Extract(p) th.AssertNoErr(t, err) diff --git a/metis/v1/network/ip/testing/fixtures.go b/metis/v1/network/ip/testing/fixtures.go index da461a8..8b66364 100644 --- a/metis/v1/network/ip/testing/fixtures.go +++ b/metis/v1/network/ip/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetIPAddressSuccessfully creates an HTTP handler at `/network/ip/:ipaddress` on the // test handler mux that responds with a single ipaddress. -func HandleGetIPAddressSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/network/ip/10.216.24.194", func(w http.ResponseWriter, r *http.Request) { +func HandleGetIPAddressSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/network/ip/10.216.24.194", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -32,10 +32,10 @@ func HandleGetIPAddressSuccessfully(t *testing.T) { // HandleListIPAddressesSuccessfully creates an HTTP handler at `/network/ip` on the // test handler mux that responds with a list of ipaddresses. -func HandleListIPAddressesSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/network/ip", func(w http.ResponseWriter, r *http.Request) { +func HandleListIPAddressesSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/network/ip", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -55,7 +55,7 @@ func HandleListIPAddressesSuccessfully(t *testing.T) { err = json.Unmarshal(jsonBytes, &resp) th.AssertNoErr(t, err) // adding a nextLink to the pagination response - resp.Data["nextLink"] = th.Endpoint() + "/network/ip?cursor=dummycursor&limit=1" + resp.Data["nextLink"] = fakeServer.Endpoint() + "/network/ip?cursor=dummycursor&limit=1" jsonBytes, err = json.Marshal(resp) default: jsonBytes, err = os.ReadFile(filepath.Join("fixtures", "list.json")) diff --git a/metis/v1/network/ip/testing/requests_test.go b/metis/v1/network/ip/testing/requests_test.go index d9460b1..9fc61cf 100644 --- a/metis/v1/network/ip/testing/requests_test.go +++ b/metis/v1/network/ip/testing/requests_test.go @@ -7,17 +7,17 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/gophercloud-sapcc/v2/metis/v1/network/ip" ) func TestGetProject(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetIPAddressSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetIPAddressSuccessfully(t, fakeServer) - actual, err := ip.Get(t.Context(), fakeclient.ServiceClient(), "10.216.24.194").Extract() + actual, err := ip.Get(t.Context(), client.ServiceClient(fakeServer), "10.216.24.194").Extract() th.AssertNoErr(t, err) expected := &ip.IPAddress{ @@ -43,13 +43,13 @@ func TestGetProject(t *testing.T) { } func TestListProjects(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListIPAddressesSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListIPAddressesSuccessfully(t, fakeServer) opts := ip.ListOpts{Limit: 1} - p, err := ip.List(fakeclient.ServiceClient(), opts).AllPages(t.Context()) + p, err := ip.List(client.ServiceClient(fakeServer), opts).AllPages(t.Context()) th.AssertNoErr(t, err) actual, err := ip.Extract(p) th.AssertNoErr(t, err) diff --git a/networking/v2/bgpvpn/interconnections/testing/requests_test.go b/networking/v2/bgpvpn/interconnections/testing/requests_test.go index 093c4ba..2c105a8 100644 --- a/networking/v2/bgpvpn/interconnections/testing/requests_test.go +++ b/networking/v2/bgpvpn/interconnections/testing/requests_test.go @@ -17,14 +17,14 @@ import ( ) func TestList(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() fields := []string{"id", "name"} listOpts := interconnections.ListOpts{ Fields: fields, } - th.Mux.HandleFunc("/v2.0/interconnection/interconnections", + fakeServer.Mux.HandleFunc("/v2.0/interconnection/interconnections", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) @@ -39,7 +39,7 @@ func TestList(t *testing.T) { }) count := 0 - err := interconnections.List(fake.ServiceClient(), listOpts).EachPage( + err := interconnections.List(fake.ServiceClient(fakeServer), listOpts).EachPage( t.Context(), func(ctx context.Context, page pagination.Page) (bool, error) { count++ @@ -57,11 +57,11 @@ func TestList(t *testing.T) { } func TestGet(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() id := "a943ab0b-8b32-47dd-805b-4d17b7e15359" - th.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) w.Header().Add("Content-Type", "application/json") @@ -69,16 +69,16 @@ func TestGet(t *testing.T) { fmt.Fprint(w, GetInterconnectionResponse) }) - s, err := interconnections.Get(t.Context(), fake.ServiceClient(), id).Extract() + s, err := interconnections.Get(t.Context(), fake.ServiceClient(fakeServer), id).Extract() th.AssertNoErr(t, err) th.CheckDeepEquals(t, *s, interconnectionGet) } func TestCreate(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/v2.0/interconnection/interconnections", func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/v2.0/interconnection/interconnections", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") @@ -89,17 +89,17 @@ func TestCreate(t *testing.T) { fmt.Fprint(w, GetInterconnectionResponse) }) - r, err := interconnections.Create(t.Context(), fake.ServiceClient(), interconnectionCreate).Extract() + r, err := interconnections.Create(t.Context(), fake.ServiceClient(fakeServer), interconnectionCreate).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, *r, interconnectionGet) } func TestDelete(t *testing.T) { id := "0f9d472a-908f-40f5-8574-b4e8a63ccbf0" - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodDelete) th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) th.TestHeader(t, r, "Accept", "application/json") @@ -108,16 +108,16 @@ func TestDelete(t *testing.T) { w.WriteHeader(http.StatusNoContent) }) - err := interconnections.Delete(t.Context(), fake.ServiceClient(), id).ExtractErr() + err := interconnections.Delete(t.Context(), fake.ServiceClient(fakeServer), id).ExtractErr() th.AssertNoErr(t, err) } func TestUpdate(t *testing.T) { id := "a943ab0b-8b32-47dd-805b-4d17b7e15359" - th.SetupHTTP() - defer th.TeardownHTTP() + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() - th.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { + fakeServer.Mux.HandleFunc("/v2.0/interconnection/interconnections/"+id, func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPut) th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) th.TestHeader(t, r, "Content-Type", "application/json") @@ -137,7 +137,7 @@ func TestUpdate(t *testing.T) { State: &state, } - r, err := interconnections.Update(t.Context(), fake.ServiceClient(), id, opts).Extract() + r, err := interconnections.Update(t.Context(), fake.ServiceClient(fakeServer), id, opts).Extract() th.AssertNoErr(t, err) th.AssertDeepEquals(t, r.Name, name) th.AssertDeepEquals(t, r.State, state) diff --git a/rates/v1/clusters/testing/fixtures.go b/rates/v1/clusters/testing/fixtures.go index 6f94545..d306980 100644 --- a/rates/v1/clusters/testing/fixtures.go +++ b/rates/v1/clusters/testing/fixtures.go @@ -10,15 +10,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetClusterSuccessfully creates an HTTP handler at `/v1/clusters/:cluster_id` on the // test handler mux that responds with a single cluster. -func HandleGetClusterSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/clusters/current", func(w http.ResponseWriter, r *http.Request) { +func HandleGetClusterSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/clusters/current", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) diff --git a/rates/v1/clusters/testing/requests_test.go b/rates/v1/clusters/testing/requests_test.go index 1663eea..019296f 100644 --- a/rates/v1/clusters/testing/requests_test.go +++ b/rates/v1/clusters/testing/requests_test.go @@ -8,7 +8,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/limes" limesrates "github.com/sapcc/go-api-declarations/limes/rates" @@ -16,11 +16,11 @@ import ( ) func TestGetClusterRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetClusterSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetClusterSuccessfully(t, fakeServer) - actual, err := clusters.Get(t.Context(), fake.ServiceClient(), clusters.GetOpts{}).Extract() + actual, err := clusters.Get(t.Context(), client.ServiceClient(fakeServer), clusters.GetOpts{}).Extract() th.AssertNoErr(t, err) expected := &limesrates.ClusterReport{ @@ -59,11 +59,11 @@ func TestGetClusterRates(t *testing.T) { } func TestGetFilteredClusterRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetClusterSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetClusterSuccessfully(t, fakeServer) - actual, err := clusters.Get(t.Context(), fake.ServiceClient(), clusters.GetOpts{ + actual, err := clusters.Get(t.Context(), client.ServiceClient(fakeServer), clusters.GetOpts{ Services: []limes.ServiceType{"shared"}, }).Extract() th.AssertNoErr(t, err) diff --git a/rates/v1/projects/testing/fixtures.go b/rates/v1/projects/testing/fixtures.go index 88b6b70..a85136e 100644 --- a/rates/v1/projects/testing/fixtures.go +++ b/rates/v1/projects/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleListProjectsSuccessfully creates an HTTP handler at `/domains/:domain_id/projects` on the // test handler mux that responds with a list of (two) projects. -func HandleListProjectsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-germany/projects", func(w http.ResponseWriter, r *http.Request) { +func HandleListProjectsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-germany/projects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -37,10 +37,10 @@ func HandleListProjectsSuccessfully(t *testing.T) { // HandleGetProjectSuccessfully creates an HTTP handler at `/domains/:domain_id/projects/:project_id` on the // test handler mux that responds with a single project. -func HandleGetProjectSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-berlin", func(w http.ResponseWriter, r *http.Request) { +func HandleGetProjectSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-berlin", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) diff --git a/rates/v1/projects/testing/requests_test.go b/rates/v1/projects/testing/requests_test.go index 31c7f11..9332559 100644 --- a/rates/v1/projects/testing/requests_test.go +++ b/rates/v1/projects/testing/requests_test.go @@ -8,7 +8,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/limes" limesrates "github.com/sapcc/go-api-declarations/limes/rates" @@ -16,11 +16,11 @@ import ( ) func TestListProjectsRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) - actual, err := projects.List(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", projects.ReadOpts{}).ExtractProjects() + actual, err := projects.List(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", projects.ReadOpts{}).ExtractProjects() th.AssertNoErr(t, err) rateWindow := 2 * limesrates.WindowMinutes @@ -117,11 +117,11 @@ func TestListProjectsRates(t *testing.T) { } func TestListProjectsFilteredRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) - actual, err := projects.List(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", projects.ReadOpts{ + actual, err := projects.List(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", projects.ReadOpts{ Services: []limes.ServiceType{"shared"}, }).ExtractProjects() th.AssertNoErr(t, err) @@ -178,11 +178,11 @@ func TestListProjectsFilteredRates(t *testing.T) { } func TestGetProjectRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-berlin", projects.ReadOpts{}).Extract() + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-berlin", projects.ReadOpts{}).Extract() th.AssertNoErr(t, err) rateWindow := 2 * limesrates.WindowMinutes @@ -218,11 +218,11 @@ func TestGetProjectRates(t *testing.T) { } func TestGetProjectFilteredRates(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-berlin", projects.ReadOpts{ + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-berlin", projects.ReadOpts{ Services: []limes.ServiceType{"shared"}, }).Extract() th.AssertNoErr(t, err) diff --git a/resources/v1/clusters/testing/fixtures.go b/resources/v1/clusters/testing/fixtures.go index 31fa191..eece2ed 100644 --- a/resources/v1/clusters/testing/fixtures.go +++ b/resources/v1/clusters/testing/fixtures.go @@ -10,15 +10,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleGetClusterSuccessfully creates an HTTP handler at `/v1/clusters/:cluster_id` on the // test handler mux that responds with a single cluster. -func HandleGetClusterSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/clusters/current", func(w http.ResponseWriter, r *http.Request) { +func HandleGetClusterSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/clusters/current", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) diff --git a/resources/v1/clusters/testing/requests_test.go b/resources/v1/clusters/testing/requests_test.go index 8164fd4..47ebe87 100644 --- a/resources/v1/clusters/testing/requests_test.go +++ b/resources/v1/clusters/testing/requests_test.go @@ -9,7 +9,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/limes" limesresources "github.com/sapcc/go-api-declarations/limes/resources" @@ -17,11 +17,11 @@ import ( ) func TestGetCluster(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetClusterSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetClusterSuccessfully(t, fakeServer) - actual, err := clusters.Get(t.Context(), fake.ServiceClient(), clusters.GetOpts{}).Extract() + actual, err := clusters.Get(t.Context(), client.ServiceClient(fakeServer), clusters.GetOpts{}).Extract() th.AssertNoErr(t, err) var capacity uint64 = 10 @@ -93,11 +93,11 @@ func TestGetCluster(t *testing.T) { } func TestGetFilteredCluster(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetClusterSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetClusterSuccessfully(t, fakeServer) - actual, err := clusters.Get(t.Context(), fake.ServiceClient(), clusters.GetOpts{ + actual, err := clusters.Get(t.Context(), client.ServiceClient(fakeServer), clusters.GetOpts{ Detail: true, Services: []limes.ServiceType{"unshared"}, Resources: []limesresources.ResourceName{"stuff"}, diff --git a/resources/v1/domains/testing/fixtures.go b/resources/v1/domains/testing/fixtures.go index d082477..f9ce212 100644 --- a/resources/v1/domains/testing/fixtures.go +++ b/resources/v1/domains/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleListDomainsSuccessfully creates an HTTP handler at `/v1/domains` on the // test handler mux that responds with a list of (two) domains. -func HandleListDomainsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains", func(w http.ResponseWriter, r *http.Request) { +func HandleListDomainsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -38,10 +38,10 @@ func HandleListDomainsSuccessfully(t *testing.T) { // HandleGetDomainSuccessfully creates an HTTP handler at `/v1/domains/:domain_id` on the // test handler mux that responds with a single domain. -func HandleGetDomainSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-karachi", func(w http.ResponseWriter, r *http.Request) { +func HandleGetDomainSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-karachi", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) diff --git a/resources/v1/domains/testing/requests_test.go b/resources/v1/domains/testing/requests_test.go index 9a1e722..130332c 100644 --- a/resources/v1/domains/testing/requests_test.go +++ b/resources/v1/domains/testing/requests_test.go @@ -8,7 +8,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/limes" limesresources "github.com/sapcc/go-api-declarations/limes/resources" @@ -16,11 +16,11 @@ import ( ) func TestListDomain(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListDomainsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListDomainsSuccessfully(t, fakeServer) - actual, err := domains.List(t.Context(), fake.ServiceClient(), domains.ListOpts{}).ExtractDomains() + actual, err := domains.List(t.Context(), client.ServiceClient(fakeServer), domains.ListOpts{}).ExtractDomains() th.AssertNoErr(t, err) var backendQ uint64 @@ -157,11 +157,11 @@ func TestListDomain(t *testing.T) { } func TestListFilteredDomain(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListDomainsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListDomainsSuccessfully(t, fakeServer) - actual, err := domains.List(t.Context(), fake.ServiceClient(), domains.ListOpts{ + actual, err := domains.List(t.Context(), client.ServiceClient(fakeServer), domains.ListOpts{ Services: []limes.ServiceType{"shared"}, Resources: []limesresources.ResourceName{"things"}, }).ExtractDomains() @@ -225,11 +225,11 @@ func TestListFilteredDomain(t *testing.T) { } func TestGetDomain(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetDomainSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetDomainSuccessfully(t, fakeServer) - actual, err := domains.Get(t.Context(), fake.ServiceClient(), "uuid-for-karachi", domains.GetOpts{}).Extract() + actual, err := domains.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-karachi", domains.GetOpts{}).Extract() th.AssertNoErr(t, err) expected := &limesresources.DomainReport{ @@ -298,11 +298,11 @@ func TestGetDomain(t *testing.T) { } func TestGetDomainFiltered(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetDomainSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetDomainSuccessfully(t, fakeServer) - actual, err := domains.Get(t.Context(), fake.ServiceClient(), "uuid-for-karachi", domains.GetOpts{ + actual, err := domains.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-karachi", domains.GetOpts{ Services: []limes.ServiceType{"shared"}, Resources: []limesresources.ResourceName{"things"}, }).Extract() diff --git a/resources/v1/projects/testing/fixtures.go b/resources/v1/projects/testing/fixtures.go index af8c5c5..4717216 100644 --- a/resources/v1/projects/testing/fixtures.go +++ b/resources/v1/projects/testing/fixtures.go @@ -11,15 +11,15 @@ import ( "testing" th "github.com/gophercloud/gophercloud/v2/testhelper" - fake "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" ) // HandleListProjectsSuccessfully creates an HTTP handler at `/domains/:domain_id/projects` on the // test handler mux that responds with a list of (two) projects. -func HandleListProjectsSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-germany/projects", func(w http.ResponseWriter, r *http.Request) { +func HandleListProjectsSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-germany/projects", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -43,10 +43,10 @@ func HandleListProjectsSuccessfully(t *testing.T) { // HandleGetProjectSuccessfully creates an HTTP handler at `/domains/:domain_id/projects/:project_id` on the // test handler mux that responds with a single project. -func HandleGetProjectSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-berlin", func(w http.ResponseWriter, r *http.Request) { +func HandleGetProjectSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-berlin", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodGet) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) @@ -70,10 +70,10 @@ func HandleGetProjectSuccessfully(t *testing.T) { // HandleSyncProjectSuccessfully creates an HTTP handler at `/domains/:domain_id/projects/:project_id/sync` on the // test handler mux that syncs a project. -func HandleSyncProjectSuccessfully(t *testing.T) { - th.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-dresden/sync", func(w http.ResponseWriter, r *http.Request) { +func HandleSyncProjectSuccessfully(t *testing.T, fakeServer th.FakeServer) { + fakeServer.Mux.HandleFunc("/domains/uuid-for-germany/projects/uuid-for-dresden/sync", func(w http.ResponseWriter, r *http.Request) { th.TestMethod(t, r, http.MethodPost) - th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) + th.TestHeader(t, r, "X-Auth-Token", client.TokenID) w.WriteHeader(http.StatusAccepted) }) diff --git a/resources/v1/projects/testing/requests_test.go b/resources/v1/projects/testing/requests_test.go index 9d70c8e..7a23e77 100644 --- a/resources/v1/projects/testing/requests_test.go +++ b/resources/v1/projects/testing/requests_test.go @@ -9,7 +9,7 @@ import ( "time" th "github.com/gophercloud/gophercloud/v2/testhelper" - fakeclient "github.com/gophercloud/gophercloud/v2/testhelper/client" + "github.com/gophercloud/gophercloud/v2/testhelper/client" "github.com/sapcc/go-api-declarations/limes" limesresources "github.com/sapcc/go-api-declarations/limes/resources" @@ -17,11 +17,11 @@ import ( ) func TestListProjects(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) - actual, err := projects.List(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", projects.ListOpts{}).ExtractProjects() + actual, err := projects.List(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", projects.ListOpts{}).ExtractProjects() th.AssertNoErr(t, err) backendQuota := int64(100) @@ -150,11 +150,11 @@ func TestListProjects(t *testing.T) { } func TestListProjectsDetailed(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) - actual, err := projects.List(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", projects.ListOpts{Detail: true}).ExtractProjects() + actual, err := projects.List(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", projects.ListOpts{Detail: true}).ExtractProjects() th.AssertNoErr(t, err) expected := []limesresources.ProjectReport{ @@ -198,11 +198,11 @@ func TestListProjectsDetailed(t *testing.T) { } func TestListProjectsFiltered(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleListProjectsSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleListProjectsSuccessfully(t, fakeServer) - actual, err := projects.List(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", projects.ListOpts{ + actual, err := projects.List(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", projects.ListOpts{ Services: []limes.ServiceType{"shared"}, Resources: []limesresources.ResourceName{"things"}, }).ExtractProjects() @@ -266,11 +266,11 @@ func TestListProjectsFiltered(t *testing.T) { } func TestGetProject(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{}).Extract() + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{}).Extract() th.AssertNoErr(t, err) expected := &limesresources.ProjectReport{ @@ -311,11 +311,11 @@ func TestGetProject(t *testing.T) { } func TestGetProjectDetailed(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{Detail: true}).Extract() + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{Detail: true}).Extract() th.AssertNoErr(t, err) expected := &limesresources.ProjectReport{ @@ -357,11 +357,11 @@ func TestGetProjectDetailed(t *testing.T) { } func TestGetProjectFiltered(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleGetProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleGetProjectSuccessfully(t, fakeServer) - actual, err := projects.Get(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{ + actual, err := projects.Get(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-berlin", projects.GetOpts{ Services: []limes.ServiceType{"shared"}, Resources: []limesresources.ResourceName{"things"}, }).Extract() @@ -397,12 +397,12 @@ func TestGetProjectFiltered(t *testing.T) { } func TestSyncProject(t *testing.T) { - th.SetupHTTP() - defer th.TeardownHTTP() - HandleSyncProjectSuccessfully(t) + fakeServer := th.SetupHTTP() + defer fakeServer.Teardown() + HandleSyncProjectSuccessfully(t, fakeServer) // if sync succeeds then a 202 (no error) is returned. - err := projects.Sync(t.Context(), fakeclient.ServiceClient(), "uuid-for-germany", "uuid-for-dresden").ExtractErr() + err := projects.Sync(t.Context(), client.ServiceClient(fakeServer), "uuid-for-germany", "uuid-for-dresden").ExtractErr() th.AssertNoErr(t, err) }