@@ -49,6 +49,133 @@ func TestSyncSubscriptions(t *testing.T) {
49
49
},
50
50
wantErr : fmt .Errorf ("casting Subscription failed" ),
51
51
},
52
+ {
53
+ name : "NoStatus/NoCurrentCSV/MissingCatalogSourceNamespace" ,
54
+ fields : fields {
55
+ clientOptions : []clientfake.Option {clientfake .WithSelfLinks (t )},
56
+ existingOLMObjs : []runtime.Object {
57
+ & v1alpha1.Subscription {
58
+ ObjectMeta : metav1.ObjectMeta {
59
+ Name : "sub" ,
60
+ Namespace : testNamespace ,
61
+ },
62
+ Spec : & v1alpha1.SubscriptionSpec {
63
+ CatalogSource : "src" ,
64
+ },
65
+ Status : v1alpha1.SubscriptionStatus {
66
+ CurrentCSV : "" ,
67
+ State : "" ,
68
+ },
69
+ },
70
+ },
71
+ resolveSteps : []* v1alpha1.Step {
72
+ {
73
+ Resolving : "csv.v.1" ,
74
+ Resource : v1alpha1.StepResource {
75
+ CatalogSource : "src" ,
76
+ CatalogSourceNamespace : testNamespace ,
77
+ Group : v1alpha1 .GroupName ,
78
+ Version : v1alpha1 .GroupVersion ,
79
+ Kind : v1alpha1 .ClusterServiceVersionKind ,
80
+ Name : "csv.v.1" ,
81
+ Manifest : "{}" ,
82
+ },
83
+ },
84
+ },
85
+ resolveSubs : []* v1alpha1.Subscription {
86
+ {
87
+ TypeMeta : metav1.TypeMeta {
88
+ Kind : v1alpha1 .SubscriptionKind ,
89
+ APIVersion : v1alpha1 .SchemeGroupVersion .String (),
90
+ },
91
+ ObjectMeta : metav1.ObjectMeta {
92
+ Name : "sub" ,
93
+ Namespace : testNamespace ,
94
+ },
95
+ Spec : & v1alpha1.SubscriptionSpec {
96
+ CatalogSource : "src" ,
97
+ },
98
+ Status : v1alpha1.SubscriptionStatus {
99
+ CurrentCSV : "csv.v.1" ,
100
+ State : "SubscriptionStateAtLatest" ,
101
+ },
102
+ },
103
+ },
104
+ },
105
+ args : args {
106
+ obj : & v1alpha1.Subscription {
107
+ ObjectMeta : metav1.ObjectMeta {
108
+ Name : "sub" ,
109
+ Namespace : testNamespace ,
110
+ },
111
+ Spec : & v1alpha1.SubscriptionSpec {
112
+ CatalogSource : "src" ,
113
+ },
114
+ Status : v1alpha1.SubscriptionStatus {
115
+ CurrentCSV : "" ,
116
+ State : "" ,
117
+ },
118
+ },
119
+ },
120
+ wantSubscriptions : []* v1alpha1.Subscription {
121
+ {
122
+ TypeMeta : metav1.TypeMeta {
123
+ Kind : v1alpha1 .SubscriptionKind ,
124
+ APIVersion : v1alpha1 .SubscriptionCRDAPIVersion ,
125
+ },
126
+ ObjectMeta : metav1.ObjectMeta {
127
+ Name : "sub" ,
128
+ Namespace : testNamespace ,
129
+ },
130
+ Spec : & v1alpha1.SubscriptionSpec {
131
+ CatalogSource : "src" ,
132
+ },
133
+ Status : v1alpha1.SubscriptionStatus {
134
+ CurrentCSV : "csv.v.1" ,
135
+ State : v1alpha1 .SubscriptionStateUpgradePending ,
136
+ Install : & v1alpha1.InstallPlanReference {
137
+ Kind : v1alpha1 .InstallPlanKind ,
138
+ APIVersion : v1alpha1 .InstallPlanAPIVersion ,
139
+ },
140
+ InstallPlanRef : & v1.ObjectReference {
141
+ Namespace : testNamespace ,
142
+ Kind : v1alpha1 .InstallPlanKind ,
143
+ APIVersion : v1alpha1 .InstallPlanAPIVersion ,
144
+ },
145
+ LastUpdated : now ,
146
+ },
147
+ },
148
+ },
149
+ wantInstallPlan : & v1alpha1.InstallPlan {
150
+ Spec : v1alpha1.InstallPlanSpec {
151
+ ClusterServiceVersionNames : []string {
152
+ "csv.v.1" ,
153
+ },
154
+ Approval : v1alpha1 .ApprovalAutomatic ,
155
+ Approved : true ,
156
+ },
157
+ Status : v1alpha1.InstallPlanStatus {
158
+ Phase : v1alpha1 .InstallPlanPhaseInstalling ,
159
+ CatalogSources : []string {
160
+ "src" ,
161
+ },
162
+ Plan : []* v1alpha1.Step {
163
+ {
164
+ Resolving : "csv.v.1" ,
165
+ Resource : v1alpha1.StepResource {
166
+ CatalogSource : "src" ,
167
+ CatalogSourceNamespace : testNamespace ,
168
+ Group : v1alpha1 .GroupName ,
169
+ Version : v1alpha1 .GroupVersion ,
170
+ Kind : v1alpha1 .ClusterServiceVersionKind ,
171
+ Name : "csv.v.1" ,
172
+ Manifest : "{}" ,
173
+ },
174
+ },
175
+ },
176
+ },
177
+ },
178
+ },
52
179
{
53
180
name : "NoStatus/NoCurrentCSV/FoundInCatalog" ,
54
181
fields : fields {
0 commit comments