github.com/gophercloud/gophercloud@v1.11.0/openstack/compute/v2/extensions/shelveunshelve/testing/fixtures_test.go (about) 1 package testing 2 3 import ( 4 "fmt" 5 "net/http" 6 "testing" 7 8 th "github.com/gophercloud/gophercloud/testhelper" 9 "github.com/gophercloud/gophercloud/testhelper/client" 10 ) 11 12 func mockShelveServerResponse(t *testing.T, id string) { 13 th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { 14 th.TestMethod(t, r, "POST") 15 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 16 th.TestJSONRequest(t, r, `{"shelve": null}`) 17 w.WriteHeader(http.StatusAccepted) 18 }) 19 } 20 21 func mockShelveOffloadServerResponse(t *testing.T, id string) { 22 th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { 23 th.TestMethod(t, r, "POST") 24 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 25 th.TestJSONRequest(t, r, `{"shelveOffload": null}`) 26 w.WriteHeader(http.StatusAccepted) 27 }) 28 } 29 30 func mockUnshelveServerResponseWithAvailabilityZone(t *testing.T, id string, az string) { 31 th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { 32 th.TestMethod(t, r, "POST") 33 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 34 th.TestJSONRequest(t, r, fmt.Sprintf(`{ 35 "unshelve": { 36 "availability_zone": "%s" 37 } 38 }`, az)) 39 w.WriteHeader(http.StatusAccepted) 40 }) 41 } 42 43 func mockUnshelveServerResponseNoAvailabilityZone(t *testing.T, id string) { 44 th.Mux.HandleFunc("/servers/"+id+"/action", func(w http.ResponseWriter, r *http.Request) { 45 th.TestMethod(t, r, "POST") 46 th.TestHeader(t, r, "X-Auth-Token", client.TokenID) 47 th.TestJSONRequest(t, r, `{"unshelve": null}`) 48 w.WriteHeader(http.StatusAccepted) 49 }) 50 }