github.com/gophercloud/gophercloud@v1.11.0/openstack/compute/v2/extensions/remoteconsoles/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "fmt" 5 "net/http" 6 "testing" 7 8 "github.com/gophercloud/gophercloud/openstack/compute/v2/extensions/remoteconsoles" 9 th "github.com/gophercloud/gophercloud/testhelper" 10 fake "github.com/gophercloud/gophercloud/testhelper/client" 11 ) 12 13 func TestCreate(t *testing.T) { 14 th.SetupHTTP() 15 defer th.TeardownHTTP() 16 17 th.Mux.HandleFunc("/servers/b16ba811-199d-4ffd-8839-ba96c1185a67/remote-consoles", func(w http.ResponseWriter, r *http.Request) { 18 th.TestMethod(t, r, "POST") 19 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 20 th.TestHeader(t, r, "Content-Type", "application/json") 21 th.TestHeader(t, r, "Accept", "application/json") 22 th.TestJSONRequest(t, r, RemoteConsoleCreateRequest) 23 24 w.Header().Add("Content-Type", "application/json") 25 w.WriteHeader(http.StatusOK) 26 27 fmt.Fprintf(w, RemoteConsoleCreateResult) 28 }) 29 30 opts := remoteconsoles.CreateOpts{ 31 Protocol: remoteconsoles.ConsoleProtocolVNC, 32 Type: remoteconsoles.ConsoleTypeNoVNC, 33 } 34 s, err := remoteconsoles.Create(fake.ServiceClient(), "b16ba811-199d-4ffd-8839-ba96c1185a67", opts).Extract() 35 th.AssertNoErr(t, err) 36 37 th.AssertEquals(t, s.Protocol, string(remoteconsoles.ConsoleProtocolVNC)) 38 th.AssertEquals(t, s.Type, string(remoteconsoles.ConsoleTypeNoVNC)) 39 th.AssertEquals(t, s.URL, "http://192.168.0.4:6080/vnc_auto.html?token=9a2372b9-6a0e-4f71-aca1-56020e6bb677") 40 }