@@ -67,34 +67,52 @@ var _ = Describe("Network", func() {
67
67
mockCtrl .Finish ()
68
68
})
69
69
70
- // // Sets expectations network tag creation. To be used by tests that get/create networks.
71
- // expectNetworkTags := func(networkID string) {
72
- // listTagsParams := &csapi.ListTagsParams{}
73
- // createTagsParams := &csapi.CreateTagsParams{}
74
- // rs.EXPECT().NewListTagsParams().Return(listTagsParams)
75
- // rs.EXPECT().ListTags(listTagsParams).Return(&csapi.ListTagsResponse{}, nil)
76
- // rs.EXPECT().NewCreateTagsParams([]string{networkID}, string(cloud.ResourceTypeNetwork), gomock.Any()).Return(createTagsParams)
77
- // rs.EXPECT().CreateTags(createTagsParams).Return(&csapi.CreateTagsResponse{}, nil)
78
- // }
70
+ // Sets expectations network tag creation. To be used by tests that get/create networks.
71
+ expectNetworkTags := func (networkID string , expectTagCreation bool ) {
72
+ listTagsParams := & cloudstack.ListTagsParams {}
73
+ createTagsParams := & cloudstack.CreateTagsParams {}
74
+ rs .EXPECT ().NewListTagsParams ().Return (listTagsParams )
75
+ rs .EXPECT ().ListTags (listTagsParams ).Return (& cloudstack.ListTagsResponse {}, nil )
76
+ if expectTagCreation {
77
+ rs .EXPECT ().NewCreateTagsParams ([]string {networkID }, string (cloud .ResourceTypeNetwork ), gomock .Any ()).Return (createTagsParams )
78
+ rs .EXPECT ().CreateTags (createTagsParams ).Return (& cloudstack.CreateTagsResponse {}, nil )
79
+ }
80
+ }
79
81
80
82
Context ("for an existing network" , func () {
81
83
It ("resolves network by ID" , func () {
82
84
ns .EXPECT ().GetNetworkByName (dummies .ISONet1 .Name ).Return (nil , 0 , nil )
83
85
ns .EXPECT ().GetNetworkByID (dummies .ISONet1 .ID ).Return (dummies .CAPCNetToCSAPINet (& dummies .ISONet1 ), 1 , nil )
84
86
85
- Ω (client .ResolveNetwork (dummies .CSCluster , & dummies .ISONet1 )).Should (Succeed ())
87
+ It ("does not call to create a new network via GetOrCreateNetwork" , func () {
88
+ ns .EXPECT ().GetNetworkID (fakeNetName ).Return (fakeNetID , 1 , nil )
89
+ ns .EXPECT ().GetNetworkByID (fakeNetID ).Return (& cloudstack.Network {Type : isolatedNetworkType }, 1 , nil )
90
+ expectNetworkTags (fakeNetID , false )
91
+
92
+ Ω (client .GetOrCreateNetwork (csCluster )).Should (Succeed ())
86
93
})
87
94
88
- It ("resolves network by Name" , func () {
89
- ns .EXPECT ().GetNetworkByName (dummies .ISONet1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .ISONet1 ), 1 , nil )
95
+ It ("resolves network details with network ID instead of network name" , func () {
96
+ ns .EXPECT ().GetNetworkID (gomock .Any ()).Return ("" , - 1 , errors .New ("no match found for blah" ))
97
+ ns .EXPECT ().GetNetworkByID (fakeNetID ).Return (& cloudstack.Network {Type : isolatedNetworkType }, 1 , nil )
98
+ expectNetworkTags (fakeNetID , false )
90
99
91
100
Ω (client .ResolveNetwork (dummies .CSCluster , & dummies .ISONet1 )).Should (Succeed ())
92
101
})
93
102
94
- It ("resolves network details in cluster status" , func () {
95
- dummies .SetDummyZoneStatus ()
96
- // Gets Net1 by Name.
97
- ns .EXPECT ().GetNetworkByName (dummies .Net1 .Name ).Return (dummies .CAPCNetToCSAPINet (& dummies .Net1 ), 1 , nil )
103
+ Context ("for a non-existent network" , func () {
104
+ It ("when GetOrCreateNetwork is called it calls CloudStack to create a network" , func () {
105
+ ns .EXPECT ().GetNetworkID (gomock .Any ()).Return ("" , - 1 , errors .New ("no match found for blah" ))
106
+ ns .EXPECT ().GetNetworkByID (gomock .Any ()).Return (nil , - 1 , errors .New ("no match found for blah" ))
107
+ nos .EXPECT ().GetNetworkOfferingID (gomock .Any ()).Return ("someOfferingID" , 1 , nil )
108
+ ns .EXPECT ().NewCreateNetworkParams (gomock .Any (), gomock .Any (), gomock .Any (), gomock .Any ()).
109
+ Return (& cloudstack.CreateNetworkParams {})
110
+ ns .EXPECT ().CreateNetwork (gomock .Any ()).Return (& cloudstack.CreateNetworkResponse {Id : netID }, nil )
111
+ expectNetworkTags (netID , true )
112
+
113
+ Ω (client .GetOrCreateNetwork (csCluster )).Should (Succeed ())
114
+ })
115
+ })
98
116
99
117
// Trys to get Net2 by name and doesn't find it. Then finds Net2 via ID.
100
118
ns .EXPECT ().GetNetworkByName (dummies .Net2 .Name ).Return (nil , 0 , nil )
0 commit comments