github.com/gophercloud/gophercloud@v1.11.0/openstack/networking/v2/extensions/quotas/testing/requests_test.go (about)

     1  package testing
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  	"testing"
     7  
     8  	"github.com/gophercloud/gophercloud"
     9  	fake "github.com/gophercloud/gophercloud/openstack/networking/v2/common"
    10  	"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/quotas"
    11  	th "github.com/gophercloud/gophercloud/testhelper"
    12  )
    13  
    14  func TestGet(t *testing.T) {
    15  	th.SetupHTTP()
    16  	defer th.TeardownHTTP()
    17  
    18  	th.Mux.HandleFunc("/v2.0/quotas/0a73845280574ad389c292f6a74afa76", func(w http.ResponseWriter, r *http.Request) {
    19  		th.TestMethod(t, r, "GET")
    20  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    21  
    22  		w.Header().Add("Content-Type", "application/json")
    23  		w.WriteHeader(http.StatusOK)
    24  
    25  		fmt.Fprintf(w, GetResponseRaw)
    26  	})
    27  
    28  	q, err := quotas.Get(fake.ServiceClient(), "0a73845280574ad389c292f6a74afa76").Extract()
    29  	th.AssertNoErr(t, err)
    30  	th.AssertDeepEquals(t, q, &GetResponse)
    31  }
    32  
    33  func TestGetDetail(t *testing.T) {
    34  	th.SetupHTTP()
    35  	defer th.TeardownHTTP()
    36  
    37  	th.Mux.HandleFunc("/v2.0/quotas/0a73845280574ad389c292f6a74afa76/details.json", func(w http.ResponseWriter, r *http.Request) {
    38  		th.TestMethod(t, r, "GET")
    39  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    40  
    41  		w.Header().Add("Content-Type", "application/json")
    42  		w.WriteHeader(http.StatusOK)
    43  
    44  		fmt.Fprintf(w, GetDetailedResponseRaw)
    45  	})
    46  
    47  	q, err := quotas.GetDetail(fake.ServiceClient(), "0a73845280574ad389c292f6a74afa76").Extract()
    48  	th.AssertNoErr(t, err)
    49  	th.AssertDeepEquals(t, q, &GetDetailResponse)
    50  }
    51  
    52  func TestUpdate(t *testing.T) {
    53  	th.SetupHTTP()
    54  	defer th.TeardownHTTP()
    55  
    56  	th.Mux.HandleFunc("/v2.0/quotas/0a73845280574ad389c292f6a74afa76", func(w http.ResponseWriter, r *http.Request) {
    57  		th.TestMethod(t, r, "PUT")
    58  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    59  
    60  		w.Header().Add("Content-Type", "application/json")
    61  		w.WriteHeader(http.StatusOK)
    62  
    63  		fmt.Fprintf(w, UpdateRequestResponseRaw)
    64  	})
    65  
    66  	q, err := quotas.Update(fake.ServiceClient(), "0a73845280574ad389c292f6a74afa76", quotas.UpdateOpts{
    67  		FloatingIP:        gophercloud.IntToPointer(0),
    68  		Network:           gophercloud.IntToPointer(-1),
    69  		Port:              gophercloud.IntToPointer(5),
    70  		RBACPolicy:        gophercloud.IntToPointer(10),
    71  		Router:            gophercloud.IntToPointer(15),
    72  		SecurityGroup:     gophercloud.IntToPointer(20),
    73  		SecurityGroupRule: gophercloud.IntToPointer(-1),
    74  		Subnet:            gophercloud.IntToPointer(25),
    75  		SubnetPool:        gophercloud.IntToPointer(0),
    76  		Trunk:             gophercloud.IntToPointer(5),
    77  	}).Extract()
    78  
    79  	th.AssertNoErr(t, err)
    80  	th.AssertDeepEquals(t, q, &UpdateResponse)
    81  }