@@ -83,7 +83,6 @@ var _ = Describe("Cluster", func() {
8383 as .EXPECT ().NewListAccountsParams ().Return (dummies .ListAccountsParams )
8484 as .EXPECT ().ListAccounts (dummies .ListAccountsParams ).Return (dummies .ListAccountsResp , nil )
8585 ns .EXPECT ().GetNetworkByName (dummies .Net1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .Net1 ), 1 , nil )
86-
8786 // Limit test to single zone.
8887 dummies .CSCluster .Spec .Zones = []capcv1.Zone {dummies .Zone1 }
8988 dummies .CSCluster .Status .Zones = capcv1.ZoneStatusMap {}
@@ -92,6 +91,63 @@ var _ = Describe("Cluster", func() {
9291 Ω (dummies .CSCluster .Status .DomainID ).Should (Equal (dummies .DomainID ))
9392 })
9493
94+ It ("resolves domain when ROOT domain is specified" , func () {
95+ zs .EXPECT ().GetZoneID (dummies .Zone1 .Name ).Return (dummies .Zone1 .ID , 1 , nil )
96+ zs .EXPECT ().GetZoneByID (dummies .Zone1 .ID ).Return (dummies .CAPCZoneToCSAPIZone (& dummies .Zone1 ), 1 , nil )
97+ ds .EXPECT ().NewListDomainsParams ().Return (dummies .ListDomainsParams )
98+ ds .EXPECT ().ListDomains (dummies .ListDomainsParams ).Return (dummies .ListDomainsResp , nil )
99+ as .EXPECT ().NewListAccountsParams ().Return (dummies .ListAccountsParams )
100+ as .EXPECT ().ListAccounts (dummies .ListAccountsParams ).Return (dummies .ListAccountsResp , nil )
101+ ns .EXPECT ().GetNetworkByName (dummies .Net1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .Net1 ), 1 , nil )
102+
103+ // Limit test to single zone.
104+ dummies .CSCluster .Spec .Zones = []capcv1.Zone {dummies .Zone1 }
105+ dummies .CSCluster .Status .Zones = capcv1.ZoneStatusMap {}
106+
107+ dummies .CSCluster .Spec .Domain = dummies .RootDomain
108+
109+ Ω (client .GetOrCreateCluster (dummies .CSCluster )).Should (Succeed ())
110+ Ω (dummies .CSCluster .Status .DomainID ).Should (Equal (dummies .RootDomainID ))
111+ })
112+
113+ It ("resolves domain when domain is a fully qualified name" , func () {
114+ zs .EXPECT ().GetZoneID (dummies .Zone1 .Name ).Return (dummies .Zone1 .ID , 1 , nil )
115+ zs .EXPECT ().GetZoneByID (dummies .Zone1 .ID ).Return (dummies .CAPCZoneToCSAPIZone (& dummies .Zone1 ), 1 , nil )
116+ ds .EXPECT ().NewListDomainsParams ().Return (dummies .ListDomainsParams )
117+ ds .EXPECT ().ListDomains (dummies .ListDomainsParams ).Return (dummies .ListDomainsResp , nil )
118+ as .EXPECT ().NewListAccountsParams ().Return (dummies .ListAccountsParams )
119+ as .EXPECT ().ListAccounts (dummies .ListAccountsParams ).Return (dummies .ListAccountsResp , nil )
120+ ns .EXPECT ().GetNetworkByName (dummies .Net1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .Net1 ), 1 , nil )
121+
122+ // Limit test to single zone.
123+ dummies .CSCluster .Spec .Zones = []capcv1.Zone {dummies .Zone1 }
124+ dummies .CSCluster .Status .Zones = capcv1.ZoneStatusMap {}
125+
126+ dummies .CSCluster .Spec .Domain = dummies .Level2Domain
127+
128+ Ω (client .GetOrCreateCluster (dummies .CSCluster )).Should (Succeed ())
129+ Ω (dummies .CSCluster .Status .DomainID ).Should (Equal (dummies .Level2DomainID ))
130+ })
131+
132+ It ("fails to resolve domain when domain path does not match" , func () {
133+ zs .EXPECT ().GetZoneID (dummies .Zone1 .Name ).Return (dummies .Zone1 .ID , 1 , nil )
134+ zs .EXPECT ().GetZoneByID (dummies .Zone1 .ID ).Return (dummies .CAPCZoneToCSAPIZone (& dummies .Zone1 ), 1 , nil )
135+ ds .EXPECT ().NewListDomainsParams ().Return (dummies .ListDomainsParams )
136+ ds .EXPECT ().ListDomains (dummies .ListDomainsParams ).Return (dummies .ListDomainsResp , nil )
137+ as .EXPECT ().NewListAccountsParams ().Return (dummies .ListAccountsParams )
138+ as .EXPECT ().ListAccounts (dummies .ListAccountsParams ).Return (dummies .ListAccountsResp , nil )
139+ ns .EXPECT ().GetNetworkByName (dummies .Net1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .Net1 ), 1 , nil )
140+
141+ // Limit test to single zone.
142+ dummies .CSCluster .Spec .Zones = []capcv1.Zone {dummies .Zone1 }
143+ dummies .CSCluster .Status .Zones = capcv1.ZoneStatusMap {}
144+
145+ dummies .CSCluster .Spec .Domain = dummies .Level2Domain
146+
147+ Ω (client .GetOrCreateCluster (dummies .CSCluster )).Should (Succeed ())
148+ Ω (dummies .CSCluster .Status .DomainID ).Should (Equal (dummies .Level2DomainID ))
149+ })
150+
95151 It ("resolves domain and account when none are specified" , func () {
96152 zs .EXPECT ().GetZoneID (dummies .Zone1 .Name ).Return (dummies .Zone1 .ID , 1 , nil )
97153 zs .EXPECT ().GetZoneByID (dummies .Zone1 .ID ).Return (dummies .CAPCZoneToCSAPIZone (& dummies .Zone1 ), 1 , nil )
0 commit comments