github.com/gophercloud/gophercloud@v1.11.0/openstack/compute/v2/extensions/extendedserverattributes/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/extendedserverattributes"
     9  	"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
    10  	th "github.com/gophercloud/gophercloud/testhelper"
    11  	fake "github.com/gophercloud/gophercloud/testhelper/client"
    12  )
    13  
    14  func TestServerWithUsageExt(t *testing.T) {
    15  	th.SetupHTTP()
    16  	defer th.TeardownHTTP()
    17  
    18  	th.Mux.HandleFunc("/servers/d650a0ce-17c3-497d-961a-43c4af80998a", func(w http.ResponseWriter, r *http.Request) {
    19  		th.TestMethod(t, r, "GET")
    20  		th.TestHeader(t, r, "X-Auth-Token", fake.TokenID)
    21  		th.TestHeader(t, r, "Accept", "application/json")
    22  
    23  		fmt.Fprintf(w, ServerWithAttributesExtResult)
    24  	})
    25  
    26  	type serverAttributesExt struct {
    27  		servers.Server
    28  		extendedserverattributes.ServerAttributesExt
    29  	}
    30  	var serverWithAttributesExt serverAttributesExt
    31  
    32  	// Extract basic fields.
    33  	err := servers.Get(fake.ServiceClient(), "d650a0ce-17c3-497d-961a-43c4af80998a").ExtractInto(&serverWithAttributesExt)
    34  	th.AssertNoErr(t, err)
    35  
    36  	th.AssertEquals(t, serverWithAttributesExt.Host, "compute01")
    37  	th.AssertEquals(t, serverWithAttributesExt.InstanceName, "instance-00000001")
    38  	th.AssertEquals(t, serverWithAttributesExt.HypervisorHostname, "compute01")
    39  	th.AssertEquals(t, *serverWithAttributesExt.Userdata, "Zm9v")
    40  	th.AssertEquals(t, *serverWithAttributesExt.ReservationID, "r-ky9gim1l")
    41  	th.AssertEquals(t, *serverWithAttributesExt.LaunchIndex, 0)
    42  	th.AssertEquals(t, *serverWithAttributesExt.Hostname, "test00")
    43  	th.AssertEquals(t, *serverWithAttributesExt.RootDeviceName, "/dev/sda")
    44  }