func (command *commandGet) Execute(resource *handler.Resource) { portID := resource.Params.(*paramsGet).portID port, err := ports.Get(command.Ctx.ServiceClient, portID).Extract() if err != nil { resource.Err = err return } resource.Result = portSingle(port) }
func TestPortCRUD(t *testing.T) { Setup(t) defer Teardown() // Setup network t.Log("Setting up network") networkID, err := createNetwork() th.AssertNoErr(t, err) defer networks.Delete(Client, networkID) // Setup subnet t.Logf("Setting up subnet on network %s", networkID) subnetID, err := createSubnet(networkID) th.AssertNoErr(t, err) defer subnets.Delete(Client, subnetID) // Create port t.Logf("Create port based on subnet %s", subnetID) portID := createPort(t, networkID, subnetID) // List ports t.Logf("Listing all ports") listPorts(t) // Get port if portID == "" { t.Fatalf("In order to retrieve a port, the portID must be set") } p, err := ports.Get(Client, portID).Extract() th.AssertNoErr(t, err) th.AssertEquals(t, portID, p.ID) // Update port p, err = ports.Update(Client, portID, osPorts.UpdateOpts{Name: "new_port_name"}).Extract() th.AssertNoErr(t, err) th.AssertEquals(t, "new_port_name", p.Name) // Delete port res := ports.Delete(Client, portID) th.AssertNoErr(t, res.Err) }