func (m *ApiClient) Init() { m.db = NewInMemDatabase() m.updater = NewObjectUpdater(m.db) domain := new(types.Domain) domain.SetName("default-domain") err := m.Create(domain) if err != nil { panic(err.Error()) } project := new(types.Project) project.SetFQName("domain", []string{"default-domain", "default-project"}) err = m.Create(project) if err != nil { panic(err.Error()) } ipam := new(types.NetworkIpam) ipam.SetFQName("project", []string{"default-domain", "default-project", "default-network-ipam"}) err = m.Create(ipam) if err != nil { panic(err.Error()) } }
func TestReference(t *testing.T) { db := NewInMemDatabase() ipam := new(types.NetworkIpam) ipam.SetUuid(uuid.New()) ipam.SetFQName("project", strings.Split("default-domain:p1:ipam", ":")) assert.NoError(t, db.Put(ipam, nil, UIDList{})) net := new(types.VirtualNetwork) net.SetUuid(uuid.New()) net.SetFQName("project", strings.Split("default-domain:p1:network", ":")) subnets := types.VnSubnetsType{} subnets.AddIpamSubnets( &types.IpamSubnetType{ Subnet: &types.SubnetType{"10.0.0.0", 8}}) net.AddNetworkIpam(ipam, subnets) refs := GetReferenceList(net) assert.NoError(t, db.Put(net, nil, refs)) result, err := db.GetBackReferences(parseUID(ipam.GetUuid()), "virtual_network") assert.NoError(t, err) assert.Contains(t, result, parseUID(net.GetUuid())) }