@@ -144,8 +144,8 @@ func TestBackupCompliancePolicyFromAtlas(t *testing.T) {
144
144
})
145
145
}
146
146
147
- func TestBackupCompliancePolicyNilOndemandPolicy (t * testing.T ) {
148
- t .Run ("Can convert when OndemandPolicyItem is nil" , func (t * testing.T ) {
147
+ func TestBackupCompliancePolicyFromAtlasNilOndemandPolicy (t * testing.T ) {
148
+ t .Run ("Can convert from Atlas when OndemandPolicyItem is nil" , func (t * testing.T ) {
149
149
in := & admin.DataProtectionSettings20231001 {
150
150
AuthorizedEmail :
"[email protected] " ,
151
151
AuthorizedUserFirstName : "James" ,
@@ -190,3 +190,57 @@ func TestBackupCompliancePolicyNilOndemandPolicy(t *testing.T) {
190
190
assert .True (t , reflect .DeepEqual (* out , want ), cmp .Diff (* out , want ))
191
191
})
192
192
}
193
+
194
+ func TestBackupCompliancePolicyToAtlasNilOndemandPolicy (t * testing.T ) {
195
+ t .Run ("Can convert to Atlas when OndemandPolicyItem is nil" , func (t * testing.T ) {
196
+ in := AtlasBackupCompliancePolicy {
197
+ ObjectMeta : metav1.ObjectMeta {
198
+ Name : "my-bcp" ,
199
+ Namespace : "test-ns" ,
200
+ Labels : map [string ]string {
201
+ "test" : "label" ,
202
+ },
203
+ },
204
+ Spec : AtlasBackupCompliancePolicySpec {
205
+ AuthorizedEmail :
"[email protected] " ,
206
+ AuthorizedUserFirstName : "James" ,
207
+ AuthorizedUserLastName : "Bond" ,
208
+ CopyProtectionEnabled : true ,
209
+ EncryptionAtRestEnabled : false ,
210
+ PITEnabled : true ,
211
+ RestoreWindowDays : 24 ,
212
+ ScheduledPolicyItems : []AtlasBackupPolicyItem {
213
+ {
214
+ FrequencyType : "monthly" ,
215
+ FrequencyInterval : 2 ,
216
+ RetentionUnit : "months" ,
217
+ RetentionValue : 4 ,
218
+ },
219
+ },
220
+ },
221
+ }
222
+ out := in .ToAtlas ("testProjectID" )
223
+
224
+ want := admin.DataProtectionSettings20231001 {
225
+ AuthorizedEmail :
"[email protected] " ,
226
+ AuthorizedUserFirstName : "James" ,
227
+ AuthorizedUserLastName : "Bond" ,
228
+ CopyProtectionEnabled : pointer .MakePtr (true ),
229
+ EncryptionAtRestEnabled : pointer .MakePtr (false ),
230
+ PitEnabled : pointer .MakePtr (true ),
231
+ ProjectId : pointer .MakePtr ("testProjectID" ),
232
+ RestoreWindowDays : pointer .MakePtr (24 ),
233
+ ScheduledPolicyItems : & []admin.BackupComplianceScheduledPolicyItem {
234
+ {
235
+ FrequencyType : "monthly" ,
236
+ FrequencyInterval : 2 ,
237
+ RetentionUnit : "months" ,
238
+ RetentionValue : 4 ,
239
+ },
240
+ },
241
+ OnDemandPolicyItem : nil ,
242
+ }
243
+
244
+ assert .True (t , reflect .DeepEqual (* out , want ), cmp .Diff (* out , want ))
245
+ })
246
+ }
0 commit comments