Skip to content

Commit

Permalink
Resell V2 - add licenses delete method (#52)
Browse files Browse the repository at this point in the history
Add delete method for the licenses package with test and doc example.
  • Loading branch information
ozerovandrei authored Apr 17, 2018
1 parent 8e9f523 commit b35746b
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 0 deletions.
7 changes: 7 additions & 0 deletions selvpcclient/resell/v2/licenses/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,12 @@ Example of creating licenses in a project
for _, newLicense := range newLicenses {
fmt.Printf("%v\n", newLicense)
}
Example of deleting a single floating ip
_, err = licenses.Delete(ctx, resellClient, "5232d5f3-4950-454b-bd41-78c5295622cd")
if err != nil {
log.Fatal(err)
}
*/
package licenses
13 changes: 13 additions & 0 deletions selvpcclient/resell/v2/licenses/requests.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,16 @@ func Create(ctx context.Context, client *selvpcclient.ServiceClient, projectID s

return result.Licenses, responseResult, nil
}

// Delete deletes a single license by its id.
func Delete(ctx context.Context, client *selvpcclient.ServiceClient, id string) (*selvpcclient.ResponseResult, error) {
url := strings.Join([]string{client.Endpoint, resourceURL, id}, "/")
responseResult, err := client.DoRequest(ctx, "DELETE", url, nil)
if err != nil {
return nil, err
}
if responseResult.Err != nil {
err = responseResult.Err
}
return responseResult, err
}
19 changes: 19 additions & 0 deletions selvpcclient/resell/v2/licenses/testing/requests_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,22 @@ func TestCreateLicenses(t *testing.T) {
t.Fatalf("expected %#v, but got %#v", actualResponse, expectedResponse)
}
}

func TestDeleteLicense(t *testing.T) {
testEnv := testutils.SetupTestEnv()
defer testEnv.TearDownTestEnv()
testEnv.NewTestResellV2Client()
testEnv.Mux.HandleFunc("/resell/v2/licenses/5232d5f3-4950-454b-bd41-78c5295622cd", func(w http.ResponseWriter, r *http.Request) {
w.Header().Add("Content-Type", "application/json")

if r.Method != http.MethodDelete {
t.Fatalf("expected %s method but got %s", http.MethodDelete, r.Method)
}
})

ctx := context.Background()
_, err := licenses.Delete(ctx, testEnv.Client, "5232d5f3-4950-454b-bd41-78c5295622cd")
if err != nil {
t.Fatal(err)
}
}

0 comments on commit b35746b

Please sign in to comment.