@@ -459,7 +459,7 @@ public void testGetEncryptionInfos() {
459459 Map <String , List <com .google .cloud .bigtable .admin .v2 .models .EncryptionInfo >> actualResult =
460460 adminClient .getEncryptionInfo (TABLE_ID );
461461
462- // Verify that the encryption info is transfered from the proto to the model.
462+ // Verify that the encryption info is transferred from the proto to the model.
463463 assertThat (actualResult )
464464 .containsExactly (
465465 "cluster1" , ImmutableList .of (EncryptionInfo .fromProto (expectedEncryptionInfo )));
@@ -615,7 +615,9 @@ public void testCreateBackup() {
615615 Timestamp expireTime = Timestamp .newBuilder ().setSeconds (789 ).build ();
616616 long sizeBytes = 123456789 ;
617617 CreateBackupRequest req =
618- CreateBackupRequest .of (CLUSTER_ID , BACKUP_ID ).setSourceTableId (TABLE_ID );
618+ CreateBackupRequest .of (CLUSTER_ID , BACKUP_ID )
619+ .setSourceTableId (TABLE_ID )
620+ .setExpireTime (Instant .ofEpochMilli (Timestamps .toMillis (expireTime )));
619621 mockOperationResult (
620622 mockCreateBackupOperationCallable ,
621623 req .toProto (PROJECT_ID , INSTANCE_ID ),
@@ -648,6 +650,61 @@ public void testCreateBackup() {
648650 assertThat (actualResult .getSizeBytes ()).isEqualTo (sizeBytes );
649651 }
650652
653+ @ Test
654+ public void testCreateHotBackup () {
655+ // Setup
656+ Mockito .when (mockStub .createBackupOperationCallable ())
657+ .thenReturn (mockCreateBackupOperationCallable );
658+
659+ String backupName = NameUtil .formatBackupName (PROJECT_ID , INSTANCE_ID , CLUSTER_ID , BACKUP_ID );
660+ Timestamp startTime = Timestamp .newBuilder ().setSeconds (123 ).build ();
661+ Timestamp endTime = Timestamp .newBuilder ().setSeconds (456 ).build ();
662+ Timestamp expireTime = Timestamp .newBuilder ().setSeconds (789 ).build ();
663+ Timestamp hotToStandardTime = Timestamp .newBuilder ().setSeconds (500 ).build ();
664+ long sizeBytes = 123456789 ;
665+ CreateBackupRequest req =
666+ CreateBackupRequest .of (CLUSTER_ID , BACKUP_ID )
667+ .setSourceTableId (TABLE_ID )
668+ .setExpireTime (Instant .ofEpochMilli (Timestamps .toMillis (expireTime )))
669+ .setBackupType (Backup .BackupType .HOT )
670+ .setHotToStandardTime (Instant .ofEpochMilli (Timestamps .toMillis (hotToStandardTime )));
671+ mockOperationResult (
672+ mockCreateBackupOperationCallable ,
673+ req .toProto (PROJECT_ID , INSTANCE_ID ),
674+ com .google .bigtable .admin .v2 .Backup .newBuilder ()
675+ .setName (backupName )
676+ .setSourceTable (TABLE_NAME )
677+ .setStartTime (startTime )
678+ .setEndTime (endTime )
679+ .setExpireTime (expireTime )
680+ .setSizeBytes (sizeBytes )
681+ .setBackupType (com .google .bigtable .admin .v2 .Backup .BackupType .HOT )
682+ .setHotToStandardTime (hotToStandardTime )
683+ .build (),
684+ CreateBackupMetadata .newBuilder ()
685+ .setName (backupName )
686+ .setStartTime (startTime )
687+ .setEndTime (endTime )
688+ .setSourceTable (TABLE_NAME )
689+ .build ());
690+ // Execute
691+ Backup actualResult = adminClient .createBackup (req );
692+
693+ // Verify
694+ assertThat (actualResult .getId ()).isEqualTo (BACKUP_ID );
695+ assertThat (actualResult .getSourceTableId ()).isEqualTo (TABLE_ID );
696+ assertThat (actualResult .getStartTime ())
697+ .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (startTime )));
698+ assertThat (actualResult .getEndTime ())
699+ .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (endTime )));
700+ assertThat (actualResult .getExpireTime ())
701+ .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (expireTime )));
702+ assertThat (actualResult .getBackupType ()).isEqualTo (Backup .BackupType .HOT );
703+ assertThat (actualResult .getHotToStandardTime ())
704+ .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (hotToStandardTime )));
705+ assertThat (actualResult .getSizeBytes ()).isEqualTo (sizeBytes );
706+ }
707+
651708 @ Test
652709 public void testGetBackup () {
653710 // Setup
@@ -674,6 +731,7 @@ public void testGetBackup() {
674731 .setEndTime (endTime )
675732 .setSizeBytes (sizeBytes )
676733 .setState (state )
734+ .setBackupType (com .google .bigtable .admin .v2 .Backup .BackupType .STANDARD )
677735 .build ()));
678736
679737 // Execute
@@ -690,6 +748,7 @@ public void testGetBackup() {
690748 .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (endTime )));
691749 assertThat (actualResult .getSizeBytes ()).isEqualTo (sizeBytes );
692750 assertThat (actualResult .getState ()).isEqualTo (Backup .State .fromProto (state ));
751+ assertThat (actualResult .getBackupType ()).isEqualTo (Backup .BackupType .STANDARD );
693752 }
694753
695754 @ Test
@@ -698,6 +757,7 @@ public void testUpdateBackup() {
698757 Mockito .when (mockStub .updateBackupCallable ()).thenReturn (mockUpdateBackupCallable );
699758
700759 Timestamp expireTime = Timestamp .newBuilder ().setSeconds (123456789 ).build ();
760+ Timestamp hotToStandardTime = Timestamp .newBuilder ().setSeconds (123456789 ).build ();
701761 long sizeBytes = 12345L ;
702762 UpdateBackupRequest req = UpdateBackupRequest .of (CLUSTER_ID , BACKUP_ID );
703763 Mockito .when (mockUpdateBackupCallable .futureCall (req .toProto (PROJECT_ID , INSTANCE_ID )))
@@ -709,6 +769,7 @@ public void testUpdateBackup() {
709769 .setSourceTable (NameUtil .formatTableName (PROJECT_ID , INSTANCE_ID , TABLE_ID ))
710770 .setExpireTime (expireTime )
711771 .setSizeBytes (sizeBytes )
772+ .setHotToStandardTime (hotToStandardTime )
712773 .build ()));
713774
714775 // Execute
@@ -719,6 +780,8 @@ public void testUpdateBackup() {
719780 assertThat (actualResult .getSourceTableId ()).isEqualTo (TABLE_ID );
720781 assertThat (actualResult .getExpireTime ())
721782 .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (expireTime )));
783+ assertThat (actualResult .getHotToStandardTime ())
784+ .isEqualTo (Instant .ofEpochMilli (Timestamps .toMillis (hotToStandardTime )));
722785 assertThat (actualResult .getSizeBytes ()).isEqualTo (sizeBytes );
723786 }
724787
0 commit comments