Skip to content

core: switch to gophercloud v3 #258

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions gnocchi/client.go
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package gnocchi

import (
"context"

"github.com/gophercloud/gophercloud/v2"
)

func initClientOpts(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts, clientType string) (*gophercloud.ServiceClient, error) {
func initClientOpts(ctx context.Context, client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts, clientType string) (*gophercloud.ServiceClient, error) {
sc := new(gophercloud.ServiceClient)
eo.ApplyDefaults(clientType)
url, err := client.EndpointLocator(eo)
url, err := client.EndpointLocator(ctx, eo)
if err != nil {
return sc, err
}
Expand All @@ -18,8 +20,8 @@ func initClientOpts(client *gophercloud.ProviderClient, eo gophercloud.EndpointO
}

// NewGnocchiV1 creates a ServiceClient that may be used with the v1 Gnocchi package.
func NewGnocchiV1(client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
sc, err := initClientOpts(client, eo, "metric")
func NewGnocchiV1(ctx context.Context, client *gophercloud.ProviderClient, eo gophercloud.EndpointOpts) (*gophercloud.ServiceClient, error) {
sc, err := initClientOpts(ctx, client, eo, "metric")
sc.ResourceBase = sc.Endpoint + "v1/"
return sc, err
}
48 changes: 24 additions & 24 deletions gnocchi/metric/v1/archivepolicies/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ import (
)

func TestListArchivePolicies(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -28,7 +28,7 @@ func TestListArchivePolicies(t *testing.T) {

expected := ListArchivePoliciesExpected
pages := 0
err := archivepolicies.List(fake.ServiceClient()).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
err := archivepolicies.List(fake.ServiceClient(fakeServer)).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
pages++

actual, err := archivepolicies.ExtractArchivePolicies(page)
Expand All @@ -46,10 +46,10 @@ func TestListArchivePolicies(t *testing.T) {
}

func TestListArchivePoliciesAllPages(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -59,17 +59,17 @@ func TestListArchivePoliciesAllPages(t *testing.T) {
fmt.Fprintf(w, ArchivePoliciesListResult)
})

allPages, err := archivepolicies.List(fake.ServiceClient()).AllPages(context.TODO())
allPages, err := archivepolicies.List(fake.ServiceClient(fakeServer)).AllPages(context.TODO())
th.AssertNoErr(t, err)
_, err = archivepolicies.ExtractArchivePolicies(allPages)
th.AssertNoErr(t, err)
}

func TestGetArchivePolicy(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -79,7 +79,7 @@ func TestGetArchivePolicy(t *testing.T) {
fmt.Fprintf(w, ArchivePolicyGetResult)
})

s, err := archivepolicies.Get(context.TODO(), fake.ServiceClient(), "test_policy").Extract()
s, err := archivepolicies.Get(context.TODO(), fake.ServiceClient(fakeServer), "test_policy").Extract()
th.AssertNoErr(t, err)

th.AssertDeepEquals(t, s.AggregationMethods, []string{
Expand All @@ -104,10 +104,10 @@ func TestGetArchivePolicy(t *testing.T) {
}

func TestCreate(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand Down Expand Up @@ -139,7 +139,7 @@ func TestCreate(t *testing.T) {
},
Name: "test_policy",
}
s, err := archivepolicies.Create(context.TODO(), fake.ServiceClient(), opts).Extract()
s, err := archivepolicies.Create(context.TODO(), fake.ServiceClient(fakeServer), opts).Extract()
th.AssertNoErr(t, err)

th.AssertDeepEquals(t, s.AggregationMethods, []string{
Expand All @@ -164,10 +164,10 @@ func TestCreate(t *testing.T) {
}

func TestUpdateArchivePolicy(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "PATCH")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand All @@ -192,7 +192,7 @@ func TestUpdateArchivePolicy(t *testing.T) {
},
},
}
s, err := archivepolicies.Update(context.TODO(), fake.ServiceClient(), "test_policy", updateOpts).Extract()
s, err := archivepolicies.Update(context.TODO(), fake.ServiceClient(fakeServer), "test_policy", updateOpts).Extract()
th.AssertNoErr(t, err)

th.AssertDeepEquals(t, s.AggregationMethods, []string{
Expand All @@ -215,15 +215,15 @@ func TestUpdateArchivePolicy(t *testing.T) {
}

func TestDelete(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/archive_policy/test_policy", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "DELETE")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
w.WriteHeader(http.StatusNoContent)
})

res := archivepolicies.Delete(context.TODO(), fake.ServiceClient(), "test_policy")
res := archivepolicies.Delete(context.TODO(), fake.ServiceClient(fakeServer), "test_policy")
th.AssertNoErr(t, res.Err)
}
32 changes: 16 additions & 16 deletions gnocchi/metric/v1/measures/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ import (
)

func TestListMeasures(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric/9e5a6441-1044-4181-b66e-34e180753040/measures", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric/9e5a6441-1044-4181-b66e-34e180753040/measures", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -37,7 +37,7 @@ func TestListMeasures(t *testing.T) {
}
expected := ListMeasuresExpected
pages := 0
err := measures.List(fake.ServiceClient(), metricID, opts).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
err := measures.List(fake.ServiceClient(fakeServer), metricID, opts).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
pages++

actual, err := measures.ExtractMeasures(page)
Expand All @@ -55,10 +55,10 @@ func TestListMeasures(t *testing.T) {
}

func TestCreateMeasures(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric/9e5a6441-1044-4181-b66e-34e180753040/measures", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric/9e5a6441-1044-4181-b66e-34e180753040/measures", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand All @@ -81,15 +81,15 @@ func TestCreateMeasures(t *testing.T) {
},
},
}
res := measures.Create(context.TODO(), fake.ServiceClient(), "9e5a6441-1044-4181-b66e-34e180753040", createOpts)
res := measures.Create(context.TODO(), fake.ServiceClient(fakeServer), "9e5a6441-1044-4181-b66e-34e180753040", createOpts)
th.AssertNoErr(t, res.Err)
}

func TestBatchCreateMetrics(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/batch/metrics/measures", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/batch/metrics/measures", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand Down Expand Up @@ -128,15 +128,15 @@ func TestBatchCreateMetrics(t *testing.T) {
},
},
}
err := measures.BatchCreateMetrics(context.TODO(), fake.ServiceClient(), createOpts).ExtractErr()
err := measures.BatchCreateMetrics(context.TODO(), fake.ServiceClient(fakeServer), createOpts).ExtractErr()
th.AssertNoErr(t, err)
}

func TestBatchCreateResourcesMetrics(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/batch/resources/metrics/measures", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/batch/resources/metrics/measures", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand Down Expand Up @@ -207,6 +207,6 @@ func TestBatchCreateResourcesMetrics(t *testing.T) {
},
},
}
err := measures.BatchCreateResourcesMetrics(context.TODO(), fake.ServiceClient(), createOpts).ExtractErr()
err := measures.BatchCreateResourcesMetrics(context.TODO(), fake.ServiceClient(fakeServer), createOpts).ExtractErr()
th.AssertNoErr(t, err)
}
32 changes: 16 additions & 16 deletions gnocchi/metric/v1/metrics/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import (
)

func TestList(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -39,7 +39,7 @@ func TestList(t *testing.T) {

count := 0

metrics.List(fake.ServiceClient(), metrics.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
metrics.List(fake.ServiceClient(fakeServer), metrics.ListOpts{}).EachPage(context.TODO(), func(_ context.Context, page pagination.Page) (bool, error) {
count++
actual, err := metrics.ExtractMetrics(page)
if err != nil {
Expand All @@ -63,10 +63,10 @@ func TestList(t *testing.T) {
}

func TestGet(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric/0ddf61cf-3747-4f75-bf13-13c28ff03ae3", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric/0ddf61cf-3747-4f75-bf13-13c28ff03ae3", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "GET")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)

Expand All @@ -76,7 +76,7 @@ func TestGet(t *testing.T) {
fmt.Fprintf(w, MetricGetResult)
})

s, err := metrics.Get(context.TODO(), fake.ServiceClient(), "0ddf61cf-3747-4f75-bf13-13c28ff03ae3").Extract()
s, err := metrics.Get(context.TODO(), fake.ServiceClient(fakeServer), "0ddf61cf-3747-4f75-bf13-13c28ff03ae3").Extract()
th.AssertNoErr(t, err)

th.AssertDeepEquals(t, s.ArchivePolicy, archivepolicies.ArchivePolicy{
Expand Down Expand Up @@ -123,10 +123,10 @@ func TestGet(t *testing.T) {
}

func TestCreate(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "POST")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
th.TestHeader(t, r, "Content-Type", "application/json")
Expand All @@ -145,7 +145,7 @@ func TestCreate(t *testing.T) {
ResourceID: "23d5d3f7-9dfa-4f73-b72b-8b0b0063ec55",
Unit: "B/s",
}
s, err := metrics.Create(context.TODO(), fake.ServiceClient(), opts).Extract()
s, err := metrics.Create(context.TODO(), fake.ServiceClient(fakeServer), opts).Extract()
th.AssertNoErr(t, err)

th.AssertEquals(t, s.ArchivePolicyName, "high")
Expand All @@ -159,15 +159,15 @@ func TestCreate(t *testing.T) {
}

func TestDelete(t *testing.T) {
th.SetupHTTP()
defer th.TeardownHTTP()
fakeServer := th.SetupHTTP()
defer fakeServer.Teardown()

th.Mux.HandleFunc("/v1/metric/01b2953e-de74-448a-a305-c84440697933", func(w http.ResponseWriter, r *http.Request) {
fakeServer.Mux.HandleFunc("/v1/metric/01b2953e-de74-448a-a305-c84440697933", func(w http.ResponseWriter, r *http.Request) {
th.TestMethod(t, r, "DELETE")
th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
w.WriteHeader(http.StatusNoContent)
})

res := metrics.Delete(context.TODO(), fake.ServiceClient(), "01b2953e-de74-448a-a305-c84440697933")
res := metrics.Delete(context.TODO(), fake.ServiceClient(fakeServer), "01b2953e-de74-448a-a305-c84440697933")
th.AssertNoErr(t, res.Err)
}
Loading
Loading