@@ -2113,8 +2113,11 @@ var _ = Describe("Subscription", func() {
2113
2113
teardown func ()
2114
2114
cleanup func ()
2115
2115
packages []registry.PackageManifest
2116
- subName = genName ("test-subscription" )
2117
- catSrcName = genName ("test-catalog" )
2116
+ crd = newCRD (genName ("foo-" ))
2117
+ csvA operatorsv1alpha1.ClusterServiceVersion
2118
+ csvB operatorsv1alpha1.ClusterServiceVersion
2119
+ subName = genName ("test-subscription-" )
2120
+ catSrcName = genName ("test-catalog-" )
2118
2121
)
2119
2122
2120
2123
BeforeEach (func () {
@@ -2130,10 +2133,9 @@ var _ = Describe("Subscription", func() {
2130
2133
DefaultChannelName : "alpha" ,
2131
2134
},
2132
2135
}
2133
- crd := newCRD (genName ("foo" ))
2134
- csv := newCSV ("csvA" , testNamespace , "" , semver .MustParse ("1.0.0" ), nil , []apiextensions.CustomResourceDefinition {crd }, nil )
2136
+ csvA = newCSV ("csvA" , testNamespace , "" , semver .MustParse ("1.0.0" ), nil , []apiextensions.CustomResourceDefinition {crd }, nil )
2135
2137
2136
- _ , teardown = createInternalCatalogSource (c , ctx .Ctx ().OperatorClient (), catSrcName , testNamespace , packages , nil , []operatorsv1alpha1.ClusterServiceVersion {csv })
2138
+ _ , teardown = createInternalCatalogSource (c , ctx .Ctx ().OperatorClient (), catSrcName , testNamespace , packages , nil , []operatorsv1alpha1.ClusterServiceVersion {csvA })
2137
2139
2138
2140
// Ensure that the catalog source is resolved before we create a subscription.
2139
2141
_ , err := fetchCatalogSourceOnStatus (crc , catSrcName , testNamespace , catalogSourceRegistryPodSynced )
@@ -2157,6 +2159,31 @@ var _ = Describe("Subscription", func() {
2157
2159
}).Should (Equal (corev1 .ConditionTrue ))
2158
2160
})
2159
2161
2162
+ When ("the required API is made available" , func () {
2163
+ BeforeEach (func () {
2164
+ newPkg := registry.PackageManifest {
2165
+ PackageName : "PackageB" ,
2166
+ Channels : []registry.PackageChannel {
2167
+ {Name : "alpha" , CurrentCSVName : "csvB" },
2168
+ },
2169
+ DefaultChannelName : "alpha" ,
2170
+ }
2171
+ packages = append (packages , newPkg )
2172
+
2173
+ csvB = newCSV ("csvB" , testNamespace , "" , semver .MustParse ("1.0.0" ), []apiextensions.CustomResourceDefinition {crd }, nil , nil )
2174
+
2175
+ updateInternalCatalog (GinkgoT (), c , crc , catSrcName , testNamespace , []apiextensions.CustomResourceDefinition {crd }, []operatorsv1alpha1.ClusterServiceVersion {csvA , csvB }, packages )
2176
+ })
2177
+ It ("the ResolutionFailed condition previously set in it's status that indicated the resolution error is cleared off" , func () {
2178
+ Eventually (func () (corev1.ConditionStatus , error ) {
2179
+ sub , err := crc .OperatorsV1alpha1 ().Subscriptions (testNamespace ).Get (context .Background (), subName , metav1.GetOptions {})
2180
+ if err != nil {
2181
+ return corev1 .ConditionUnknown , err
2182
+ }
2183
+ return sub .Status .GetCondition (operatorsv1alpha1 .SubscriptionResolutionFailed ).Status , nil
2184
+ }).Should (Equal (corev1 .ConditionFalse ))
2185
+ })
2186
+ })
2160
2187
})
2161
2188
2162
2189
When ("an unannotated ClusterServiceVersion exists with an associated Subscription" , func () {
0 commit comments