@@ -13,12 +13,15 @@ import (
13
13
"os"
14
14
"testing"
15
15
16
+ "github.com/go-openapi/strfmt"
16
17
"github.com/go-test/deep"
17
18
"github.com/jarcoal/httpmock"
18
19
19
20
"github.com/vmware/terraform-provider-tanzu-mission-control/internal/helper"
20
21
objectmetamodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/objectmeta"
22
+ pakageclustermodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/package/cluster"
21
23
statusmodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/status"
24
+ tanzupakageclustermodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/tanzupackage"
22
25
packageinstallmodel "github.com/vmware/terraform-provider-tanzu-mission-control/internal/models/tanzupackageinstall"
23
26
)
24
27
@@ -27,6 +30,7 @@ const (
27
30
clAPIVersionAndGroup = "v1alpha1/clusters"
28
31
apiSubGroup = "namespaces"
29
32
apiKind = "tanzupackage/installs"
33
+ apiKindMetadata = "tanzupackage/metadatas"
30
34
)
31
35
32
36
// nolint: unparam
@@ -179,6 +183,82 @@ func (testConfig *testAcceptanceConfig) setupHTTPMocks(t *testing.T) {
179
183
referenceArray := make ([]* objectmetamodel.VmwareTanzuCoreV1alpha1ObjectReference , 0 )
180
184
referenceArray = append (referenceArray , & reference )
181
185
186
+ getTanzuPkgMetadataResponse := func (pkgName string ) * pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataGetPackageResponse {
187
+ return & pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataGetPackageResponse {
188
+ Package : & pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataPackagePackage {
189
+ FullName : & pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataPackageFullName {
190
+ ClusterName : testConfig .ScopeHelperResources .Cluster .Name ,
191
+ ManagementClusterName : "attached" ,
192
+ ProvisionerName : "attached" ,
193
+ OrgID : OrgID ,
194
+ Name : pkgName ,
195
+ NamespaceName : globalRepoNamespace ,
196
+ MetadataName : pkgMetadataName ,
197
+ },
198
+ Meta : & objectmetamodel.VmwareTanzuCoreV1alpha1ObjectMeta {
199
+ ParentReferences : referenceArray ,
200
+ Description : "resource with description" ,
201
+ Labels : map [string ]string {
202
+ "key1" : "value1" ,
203
+ "key2" : "value2" ,
204
+ },
205
+ UID : "package1" ,
206
+ ResourceVersion : "v1" ,
207
+ },
208
+ Spec : & pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataPackageSpec {
209
+ CapacityRequirementsDescription : "someCapacityRequirementsDescription" ,
210
+ Licenses : []string {
211
+ "some1" ,
212
+ },
213
+ ReleaseNotes : "cert-manager 1.1.0 https://github.com/jetstack/cert-manager/1.1.0" ,
214
+ ReleasedAt : strfmt.DateTime {},
215
+ RepositoryName : "testRepo" ,
216
+ ValuesSchema : & pakageclustermodel.VmwareTanzuManageV1alpha1ClusterNamespaceTanzupackageMetadataPackageValuesSchema {
217
+ Template : & pakageclustermodel.K8sIoApimachineryPkgRuntimeRawExtension {
218
+ Raw : []byte ("somevalue" ),
219
+ },
220
+ },
221
+ },
222
+ },
223
+ }
224
+ }
225
+
226
+ getTanzuPkgMetadataEndpoint1 := (helper .ConstructRequestURL (https , endpoint , clAPIVersionAndGroup , testConfig .ScopeHelperResources .Cluster .Name , apiSubGroup , globalRepoNamespace , apiKindMetadata , pkgMetadataName , "packages" , testConfig .PkgName1 )).String ()
227
+ getTanzuPkgMetadataEndpoint2 := (helper .ConstructRequestURL (https , endpoint , clAPIVersionAndGroup , testConfig .ScopeHelperResources .Cluster .Name , apiSubGroup , globalRepoNamespace , apiKindMetadata , pkgMetadataName , "packages" , testConfig .PkgName2 )).String ()
228
+
229
+ httpmock .RegisterResponder ("GET" , getTanzuPkgMetadataEndpoint1 ,
230
+ bodyInspectingResponder (t , nil , 200 , getTanzuPkgMetadataResponse (testConfig .PkgName1 )))
231
+ httpmock .RegisterResponder ("GET" , getTanzuPkgMetadataEndpoint2 ,
232
+ bodyInspectingResponder (t , nil , 200 , getTanzuPkgMetadataResponse (testConfig .PkgName2 )))
233
+
234
+ // cluster level package resource.
235
+
236
+ getTanzuPackageResponse := & tanzupakageclustermodel.VmwareTanzuManageV1alpha1ClusterTanzupackageListTanzuPackagesResponse {
237
+ TanzuPackages : []* tanzupakageclustermodel.VmwareTanzuManageV1alpha1ClusterTanzupackageTanzuPackage {
238
+ {
239
+ FullName : & tanzupakageclustermodel.VmwareTanzuManageV1alpha1ClusterTanzupackageFullName {
240
+ ClusterName : testConfig .ScopeHelperResources .Cluster .Name ,
241
+ ManagementClusterName : "attached" ,
242
+ ProvisionerName : "attached" ,
243
+ OrgID : OrgID ,
244
+ },
245
+ Status : & tanzupakageclustermodel.VmwareTanzuManageV1alpha1ClusterTanzupackageStatus {
246
+ Conditions : map [string ]statusmodel.VmwareTanzuCoreV1alpha1StatusCondition {
247
+ "Ready" : {
248
+ Reason : "made successfully" ,
249
+ },
250
+ },
251
+ PackageRepositoryGlobalNamespace : globalRepoNamespace ,
252
+ },
253
+ },
254
+ },
255
+ }
256
+
257
+ getTanzuPackageEndpoint := (helper .ConstructRequestURL (https , endpoint , clAPIVersionAndGroup , testConfig .ScopeHelperResources .Cluster .Name , "tanzupackage" )).String ()
258
+
259
+ httpmock .RegisterResponder ("GET" , getTanzuPackageEndpoint ,
260
+ bodyInspectingResponder (t , nil , 200 , getTanzuPackageResponse ))
261
+
182
262
// cluster level package install resource.
183
263
postRequest , postResponse , getResponse := testConfig .getClRequestResponse (OrgID , referenceArray )
184
264
0 commit comments