Skip to content
Merged
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
98 changes: 49 additions & 49 deletions arc/v1/agents/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down Expand Up @@ -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)
Expand All @@ -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 {
Expand All @@ -95,32 +95,32 @@ 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)

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")
Expand All @@ -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"}
Expand All @@ -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")
Expand All @@ -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"}
Expand All @@ -196,99 +196,99 @@ 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")
}
}
*/

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)

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)

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)
Expand Down
48 changes: 24 additions & 24 deletions arc/v1/jobs/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down Expand Up @@ -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)
Expand All @@ -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 {
Expand All @@ -99,32 +99,32 @@ 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)

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)
Expand All @@ -142,25 +142,25 @@ 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)

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"}
Expand All @@ -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")
}
Expand Down
Loading
Loading