github.com/vnpaycloud-console/gophercloud/v2@v2.0.5/openstack/networking/v2/extensions/trunk_details/testing/requests_test.go (about) 1 package testing 2 3 import ( 4 "context" 5 "fmt" 6 "net/http" 7 "testing" 8 9 "github.com/vnpaycloud-console/gophercloud/v2/openstack/networking/v2/extensions/trunk_details" 10 "github.com/vnpaycloud-console/gophercloud/v2/openstack/networking/v2/ports" 11 th "github.com/vnpaycloud-console/gophercloud/v2/testhelper" 12 fake "github.com/vnpaycloud-console/gophercloud/v2/testhelper/client" 13 ) 14 15 func TestServerWithUsageExt(t *testing.T) { 16 th.SetupHTTP() 17 defer th.TeardownHTTP() 18 19 const portIDFixture = "dc3e8758-ee96-402d-94b0-4be5e9396c82" 20 21 th.Mux.HandleFunc("/ports/"+portIDFixture, func(w http.ResponseWriter, r *http.Request) { 22 th.TestMethod(t, r, "GET") 23 th.TestHeader(t, r, "X-Auth-Token", fake.TokenID) 24 th.TestHeader(t, r, "Accept", "application/json") 25 26 fmt.Fprint(w, PortWithTrunkDetailsResult) 27 }) 28 29 var portExt struct { 30 ports.Port 31 trunk_details.TrunkDetailsExt 32 } 33 34 // Extract basic fields. 35 err := ports.Get(context.TODO(), fake.ServiceClient(), portIDFixture).ExtractInto(&portExt) 36 th.AssertNoErr(t, err) 37 38 th.AssertEquals(t, portExt.TrunkDetails.TrunkID, "f170c831-8c55-4ceb-ad13-75eab4a121e5") 39 th.AssertEquals(t, len(portExt.TrunkDetails.SubPorts), 1) 40 subPort := portExt.TrunkDetails.SubPorts[0] 41 th.AssertEquals(t, subPort.SegmentationID, 100) 42 th.AssertEquals(t, subPort.SegmentationType, "vlan") 43 th.AssertEquals(t, subPort.PortID, "20c673d8-7f9d-4570-b662-148d9ddcc5bd") 44 th.AssertEquals(t, subPort.MACAddress, "fa:16:3e:88:29:a0") 45 }