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  }