@@ -928,3 +928,69 @@ func TestIsUpToDate(t *testing.T) {
928928 })
929929 }
930930}
931+
932+ func TestGenerateRestoreDBClusterToPointInTimeInput (t * testing.T ) {
933+ type args struct {
934+ cr * svcapitypes.DBCluster
935+ }
936+
937+ type want struct {
938+ restoreType * string
939+ }
940+
941+ cases := map [string ]struct {
942+ args
943+ want
944+ }{
945+ "RestoreTypeSet" : {
946+ args : args {
947+ cr : & svcapitypes.DBCluster {
948+ Spec : svcapitypes.DBClusterSpec {
949+ ForProvider : svcapitypes.DBClusterParameters {
950+ CustomDBClusterParameters : svcapitypes.CustomDBClusterParameters {
951+ RestoreFrom : & svcapitypes.RestoreDBClusterBackupConfiguration {
952+ PointInTime : & svcapitypes.PointInTimeRestoreDBClusterBackupConfiguration {
953+ RestoreType : ptr .To ("copy-on-write" ),
954+ SourceDBClusterIdentifier : ptr .To ("source-cluster" ),
955+ },
956+ },
957+ },
958+ },
959+ },
960+ },
961+ },
962+ want : want {
963+ restoreType : ptr .To ("copy-on-write" ),
964+ },
965+ },
966+ "RestoreTypeNotSet" : {
967+ args : args {
968+ cr : & svcapitypes.DBCluster {
969+ Spec : svcapitypes.DBClusterSpec {
970+ ForProvider : svcapitypes.DBClusterParameters {
971+ CustomDBClusterParameters : svcapitypes.CustomDBClusterParameters {
972+ RestoreFrom : & svcapitypes.RestoreDBClusterBackupConfiguration {
973+ PointInTime : & svcapitypes.PointInTimeRestoreDBClusterBackupConfiguration {
974+ SourceDBClusterIdentifier : ptr .To ("source-cluster" ),
975+ },
976+ },
977+ },
978+ },
979+ },
980+ },
981+ },
982+ want : want {
983+ restoreType : nil ,
984+ },
985+ },
986+ }
987+
988+ for name , tc := range cases {
989+ t .Run (name , func (t * testing.T ) {
990+ result := generateRestoreDBClusterToPointInTimeInput (tc .args .cr )
991+ if diff := cmp .Diff (tc .want .restoreType , result .RestoreType ); diff != "" {
992+ t .Errorf ("RestoreType: -want, +got:\n %s" , diff )
993+ }
994+ })
995+ }
996+ }
0 commit comments