func TestPropertyUpdate(t *testing.T) { client := contrail.NewClient("localhost", 8082) net := types.VirtualNetwork{} net.SetName("test") err := client.Create(&net) if err != nil { t.Error(err) } defer client.Delete(&net) props := net.GetVirtualNetworkProperties() if len(props.ForwardingMode) > 0 { t.Error(props.ForwardingMode) } props.ForwardingMode = "l2_l3" net.SetVirtualNetworkProperties(&props) err = client.Update(&net) if err != nil { t.Error(err) } obj, err := client.FindByUuid("virtual-network", net.GetUuid()) if err != nil { t.Fatal(err) } netPtr := obj.(*types.VirtualNetwork) p2 := netPtr.GetVirtualNetworkProperties() if p2.ForwardingMode != "l2_l3" { t.Errorf("Expected: l2_l3 got: %s", p2.ForwardingMode) } }
func TestReadBackRefs(t *testing.T) { client := new(ApiClient) client.Init() project := new(types.Project) project.SetFQName("domain", []string{"default-domain", "p1"}) assert.NoError(t, client.Create(project)) net := new(types.VirtualNetwork) net.SetFQName("project", []string{"default-domain", "p1", "n1"}) props := new(types.VirtualNetworkType) props.ForwardingMode = "turbo" net.SetVirtualNetworkProperties(props) assert.NoError(t, client.Create(net)) vmi1 := new(types.VirtualMachineInterface) vmi1.SetFQName("project", []string{"default-domain", "p1", "port1"}) vmi1.AddVirtualNetwork(net) assert.NoError(t, client.Create(vmi1)) vmi2 := new(types.VirtualMachineInterface) vmi2.SetFQName("project", []string{"default-domain", "p1", "port2"}) vmi2.AddVirtualNetwork(net) assert.NoError(t, client.Create(vmi2)) refs, err := net.GetVirtualMachineInterfaceBackRefs() assert.NoError(t, err) assert.Len(t, refs, 2) idList := make([]string, len(refs)) for i, ref := range refs { idList[i] = ref.Uuid } assert.Contains(t, idList, vmi1.GetUuid()) assert.Contains(t, idList, vmi2.GetUuid()) rProps := net.GetVirtualNetworkProperties() assert.Equal(t, "turbo", rProps.ForwardingMode) }