@@ -777,6 +777,92 @@ func (m *MetadataPersistenceSuiteV2) TestUpdateNamespace() {
777777 m .EqualTimes (time .Unix (0 , 0 ).UTC (), * resp6 .Namespace .FailoverEndTime )
778778}
779779
780+ func (m * MetadataPersistenceSuiteV2 ) TestRenameNamespace () {
781+ id := uuid .New ()
782+ name := "rename-namespace-test-name"
783+ newName := "rename-namespace-test-new-name"
784+ newNewName := "rename-namespace-test-new-new-name"
785+ state := enumspb .NAMESPACE_STATE_REGISTERED
786+ description := "rename-namespace-test-description"
787+ owner := "rename-namespace-test-owner"
788+ data := map [string ]string {"k1" : "v1" }
789+ retention := int32 (10 )
790+ historyArchivalState := enumspb .ARCHIVAL_STATE_ENABLED
791+ historyArchivalURI := "test://history/uri"
792+ visibilityArchivalState := enumspb .ARCHIVAL_STATE_ENABLED
793+ visibilityArchivalURI := "test://visibility/uri"
794+
795+ clusterActive := "some random active cluster name"
796+ clusterStandby := "some random standby cluster name"
797+ configVersion := int64 (10 )
798+ failoverVersion := int64 (59 )
799+ isGlobalNamespace := true
800+ clusters := []string {clusterActive , clusterStandby }
801+
802+ resp1 , err1 := m .CreateNamespace (
803+ & persistencespb.NamespaceInfo {
804+ Id : id ,
805+ Name : name ,
806+ State : state ,
807+ Description : description ,
808+ Owner : owner ,
809+ Data : data ,
810+ },
811+ & persistencespb.NamespaceConfig {
812+ Retention : timestamp .DurationFromDays (retention ),
813+ HistoryArchivalState : historyArchivalState ,
814+ HistoryArchivalUri : historyArchivalURI ,
815+ VisibilityArchivalState : visibilityArchivalState ,
816+ VisibilityArchivalUri : visibilityArchivalURI ,
817+ },
818+ & persistencespb.NamespaceReplicationConfig {
819+ ActiveClusterName : clusterActive ,
820+ Clusters : clusters ,
821+ },
822+ isGlobalNamespace ,
823+ configVersion ,
824+ failoverVersion ,
825+ )
826+ m .NoError (err1 )
827+ m .EqualValues (id , resp1 .ID )
828+
829+ _ , err2 := m .GetNamespace (id , "" )
830+ m .NoError (err2 )
831+
832+ err3 := m .MetadataManager .RenameNamespace (& p.RenameNamespaceRequest {
833+ PreviousName : name ,
834+ NewName : newName ,
835+ })
836+ m .NoError (err3 )
837+
838+ resp4 , err4 := m .GetNamespace ("" , newName )
839+ m .NoError (err4 )
840+ m .NotNil (resp4 )
841+ m .EqualValues (id , resp4 .Namespace .Info .Id )
842+ m .Equal (newName , resp4 .Namespace .Info .Name )
843+ m .Equal (isGlobalNamespace , resp4 .IsGlobalNamespace )
844+
845+ resp5 , err5 := m .GetNamespace (id , "" )
846+ m .NoError (err5 )
847+ m .NotNil (resp5 )
848+ m .EqualValues (id , resp5 .Namespace .Info .Id )
849+ m .Equal (newName , resp5 .Namespace .Info .Name )
850+ m .Equal (isGlobalNamespace , resp5 .IsGlobalNamespace )
851+
852+ err6 := m .MetadataManager .RenameNamespace (& p.RenameNamespaceRequest {
853+ PreviousName : newName ,
854+ NewName : newNewName ,
855+ })
856+ m .NoError (err6 )
857+
858+ resp6 , err6 := m .GetNamespace (id , "" )
859+ m .NoError (err6 )
860+ m .NotNil (resp6 )
861+ m .EqualValues (id , resp6 .Namespace .Info .Id )
862+ m .Equal (newNewName , resp6 .Namespace .Info .Name )
863+ m .Equal (isGlobalNamespace , resp6 .IsGlobalNamespace )
864+ }
865+
780866// TestDeleteNamespace test
781867func (m * MetadataPersistenceSuiteV2 ) TestDeleteNamespace () {
782868 id := uuid .New ()
0 commit comments