@@ -108,49 +108,94 @@ func TestReservations(t *testing.T) {
108
108
109
109
var buf bytes.Buffer
110
110
111
- err := createTemplate (tc .ProjectID , templateName )
112
- if err != nil {
113
- t .Errorf ("createTemplate got err: %v" , err )
114
- }
115
- defer deleteTemplate (tc .ProjectID , templateName )
116
-
117
- sourceTemplate , err := getTemplate (tc .ProjectID , templateName )
118
- if err != nil {
119
- t .Errorf ("getTemplate got err: %v" , err )
120
- }
121
-
122
- want := "Reservation created"
123
- if err := createReservation (& buf , tc .ProjectID , zone , reservationName , * sourceTemplate .SelfLink ); err != nil {
124
- t .Errorf ("createReservation got err: %v" , err )
125
- }
126
- if got := buf .String (); ! strings .Contains (got , want ) {
127
- t .Errorf ("createReservation got %s, want %s" , got , want )
128
- }
129
- buf .Reset ()
130
-
131
- want = fmt .Sprintf ("Reservation: %s" , reservationName )
132
- if err := getReservation (& buf , tc .ProjectID , zone , reservationName ); err != nil {
133
- t .Errorf ("getReservation got err: %v" , err )
134
- }
135
- if got := buf .String (); ! strings .Contains (got , want ) {
136
- t .Errorf ("getReservation got %s, want %s" , got , want )
137
- }
138
- buf .Reset ()
139
-
140
- want = fmt .Sprintf ("- %s %d" , reservationName , 2 )
141
- if err := listReservations (& buf , tc .ProjectID , zone ); err != nil {
142
- t .Errorf ("listReservations got err: %v" , err )
143
- }
144
- if got := buf .String (); ! strings .Contains (got , want ) {
145
- t .Errorf ("listReservations got %s, want %s" , got , want )
146
- }
147
- buf .Reset ()
148
-
149
- want = "Reservation deleted"
150
- if err := deleteReservation (& buf , tc .ProjectID , zone , reservationName ); err != nil {
151
- t .Errorf ("deleteReservation got err: %v" , err )
152
- }
153
- if got := buf .String (); ! strings .Contains (got , want ) {
154
- t .Errorf ("deleteReservation got %s, want %s" , got , want )
155
- }
111
+ t .Run ("Reservation CRUD" , func (t * testing.T ) {
112
+ err := createTemplate (tc .ProjectID , templateName )
113
+ if err != nil {
114
+ t .Errorf ("createTemplate got err: %v" , err )
115
+ }
116
+ defer deleteTemplate (tc .ProjectID , templateName )
117
+
118
+ sourceTemplate , err := getTemplate (tc .ProjectID , templateName )
119
+ if err != nil {
120
+ t .Errorf ("getTemplate got err: %v" , err )
121
+ }
122
+
123
+ want := "Reservation created"
124
+ if err := createReservation (& buf , tc .ProjectID , zone , reservationName , * sourceTemplate .SelfLink ); err != nil {
125
+ t .Errorf ("createReservation got err: %v" , err )
126
+ }
127
+ if got := buf .String (); ! strings .Contains (got , want ) {
128
+ t .Errorf ("createReservation got %s, want %s" , got , want )
129
+ }
130
+ buf .Reset ()
131
+
132
+ want = fmt .Sprintf ("Reservation: %s" , reservationName )
133
+ if err := getReservation (& buf , tc .ProjectID , zone , reservationName ); err != nil {
134
+ t .Errorf ("getReservation got err: %v" , err )
135
+ }
136
+ if got := buf .String (); ! strings .Contains (got , want ) {
137
+ t .Errorf ("getReservation got %s, want %s" , got , want )
138
+ }
139
+ buf .Reset ()
140
+
141
+ want = fmt .Sprintf ("- %s %d" , reservationName , 2 )
142
+ if err := listReservations (& buf , tc .ProjectID , zone ); err != nil {
143
+ t .Errorf ("listReservations got err: %v" , err )
144
+ }
145
+ if got := buf .String (); ! strings .Contains (got , want ) {
146
+ t .Errorf ("listReservations got %s, want %s" , got , want )
147
+ }
148
+ buf .Reset ()
149
+
150
+ want = "Reservation deleted"
151
+ if err := deleteReservation (& buf , tc .ProjectID , zone , reservationName ); err != nil {
152
+ t .Errorf ("deleteReservation got err: %v" , err )
153
+ }
154
+ if got := buf .String (); ! strings .Contains (got , want ) {
155
+ t .Errorf ("deleteReservation got %s, want %s" , got , want )
156
+ }
157
+ })
158
+
159
+ t .Run ("Shared reservation CRUD" , func (t * testing.T ) {
160
+ baseProjectId := "softserve-shared"
161
+ err := createTemplate (baseProjectId , templateName )
162
+ if err != nil {
163
+ t .Errorf ("createTemplate got err: %v" , err )
164
+ }
165
+ defer deleteTemplate (baseProjectId , templateName )
166
+
167
+ sourceTemplate , err := getTemplate (baseProjectId , templateName )
168
+ if err != nil {
169
+ t .Errorf ("getTemplate got err: %v" , err )
170
+ }
171
+
172
+ want := "Reservation created"
173
+
174
+ ctx := context .Background ()
175
+ reservationsClient := ReservationsClient {}
176
+ // reservationsClient, err := compute.NewReservationsRESTClient(ctx)
177
+ if err != nil {
178
+ t .Errorf ("Couldn't create reservationsClient, err: %v" , err )
179
+ }
180
+ defer reservationsClient .Close ()
181
+
182
+ if err := createSharedReservation (& buf , reservationsClient , tc .ProjectID , baseProjectId , zone , reservationName , * sourceTemplate .SelfLink ); err != nil {
183
+ t .Errorf ("createSharedReservation got err: %v" , err )
184
+ }
185
+ if got := buf .String (); ! strings .Contains (got , want ) {
186
+ t .Errorf ("createSharedReservation got %s, want %s" , got , want )
187
+ }
188
+ buf .Reset ()
189
+
190
+ req := & computepb.DeleteReservationRequest {
191
+ Project : baseProjectId ,
192
+ Reservation : reservationName ,
193
+ Zone : zone ,
194
+ }
195
+
196
+ _ , err = reservationsClient .Delete (ctx , req )
197
+ if err != nil {
198
+ t .Errorf ("unable to delete reservation: %v" , err )
199
+ }
200
+ })
156
201
}
0 commit comments