@@ -154,6 +154,13 @@ func TestGrantDefaultPrivileges(t *testing.T) {
154
154
targetObject : privilege .Schemas ,
155
155
objectCreator : creatorUser ,
156
156
},
157
+ {
158
+ defaultPrivilegesRole : catpb.DefaultPrivilegesRole {Role : creatorUser },
159
+ privileges : privilege.List {privilege .CHANGEFEED },
160
+ grantees : []username.SQLUsername {fooUser , barUser , bazUser },
161
+ targetObject : privilege .Databases ,
162
+ objectCreator : creatorUser ,
163
+ },
157
164
}
158
165
159
166
for _ , tc := range testCases {
@@ -270,6 +277,19 @@ func TestRevokeDefaultPrivileges(t *testing.T) {
270
277
targetObject : privilege .Schemas ,
271
278
objectCreator : creatorUser ,
272
279
},
280
+ {
281
+ defaultPrivilegesRole : catpb.DefaultPrivilegesRole {ForAllRoles : true },
282
+ grantPrivileges : privilege.List {privilege .ALL },
283
+ revokePrivileges : privilege.List {privilege .CHANGEFEED },
284
+ expectedPrivileges : privilege.List {
285
+ privilege .ALL , privilege .BACKUP , privilege .CONNECT ,
286
+ privilege .CREATE , privilege .DROP , privilege .RESTORE ,
287
+ privilege .ZONECONFIG , privilege .INSPECT ,
288
+ },
289
+ grantees : []username.SQLUsername {fooUser , barUser , bazUser },
290
+ targetObject : privilege .Databases ,
291
+ objectCreator : creatorUser ,
292
+ },
273
293
}
274
294
275
295
for _ , tc := range testCases {
@@ -677,6 +697,60 @@ func TestDefaultPrivileges(t *testing.T) {
677
697
},
678
698
},
679
699
},
700
+ {
701
+ objectCreator : username .MakeSQLUsernameFromPreNormalizedString ("creator" ),
702
+ defaultPrivilegesRole : username .MakeSQLUsernameFromPreNormalizedString ("creator" ),
703
+ targetObject : privilege .Databases ,
704
+ dbID : defaultDatabaseID ,
705
+ userAndGrants : []userAndGrants {
706
+ {
707
+ user : username .MakeSQLUsernameFromPreNormalizedString ("foo" ),
708
+ grants : privilege.List {privilege .ALL },
709
+ },
710
+ },
711
+ expectedGrantsOnObject : []userAndGrants {
712
+ {
713
+ user : username .RootUserName (),
714
+ grants : privilege.List {privilege .ALL },
715
+ },
716
+ {
717
+ user : username .AdminRoleName (),
718
+ grants : privilege.List {privilege .ALL },
719
+ },
720
+ {
721
+ user : username .MakeSQLUsernameFromPreNormalizedString ("foo" ),
722
+ // Should be the union of the default privileges on the db and schema.
723
+ grants : privilege.List {privilege .ALL },
724
+ },
725
+ },
726
+ },
727
+ {
728
+ objectCreator : username .MakeSQLUsernameFromPreNormalizedString ("creator" ),
729
+ defaultPrivilegesRole : username .MakeSQLUsernameFromPreNormalizedString ("creator" ),
730
+ targetObject : privilege .Databases ,
731
+ dbID : defaultDatabaseID ,
732
+ userAndGrants : []userAndGrants {
733
+ {
734
+ user : username .MakeSQLUsernameFromPreNormalizedString ("foo" ),
735
+ grants : privilege.List {privilege .CHANGEFEED },
736
+ },
737
+ },
738
+ expectedGrantsOnObject : []userAndGrants {
739
+ {
740
+ user : username .RootUserName (),
741
+ grants : privilege.List {privilege .ALL },
742
+ },
743
+ {
744
+ user : username .AdminRoleName (),
745
+ grants : privilege.List {privilege .ALL },
746
+ },
747
+ {
748
+ user : username .MakeSQLUsernameFromPreNormalizedString ("foo" ),
749
+ // Should be the union of the default privileges on the db and schema.
750
+ grants : privilege.List {privilege .CHANGEFEED },
751
+ },
752
+ },
753
+ },
680
754
}
681
755
for _ , tc := range testCases {
682
756
defaultPrivilegeDescriptor := MakeDefaultPrivilegeDescriptor (catpb .DefaultPrivilegeDescriptor_DATABASE )
@@ -752,6 +826,10 @@ func TestModifyDefaultDefaultPrivileges(t *testing.T) {
752
826
targetObject : privilege .Schemas ,
753
827
revokeAndGrantPrivileges : privilege.List {privilege .USAGE },
754
828
},
829
+ {
830
+ targetObject : privilege .Schemas ,
831
+ revokeAndGrantPrivileges : privilege.List {privilege .CHANGEFEED },
832
+ },
755
833
}
756
834
757
835
for _ , tc := range testCases {
@@ -932,6 +1010,12 @@ func TestApplyDefaultPrivileges(t *testing.T) {
932
1010
privilege.List {privilege .SELECT , privilege .INSERT },
933
1011
privilege.List {privilege .CREATE },
934
1012
privilege.List {privilege .CREATE }},
1013
+ {catpb .NewPrivilegeDescriptor (testUser , privilege.List {privilege .CREATE }, privilege.List {privilege .CREATE }, username .AdminRoleName ()),
1014
+ testUser , privilege .Database ,
1015
+ privilege.List {privilege .CHANGEFEED },
1016
+ privilege.List {privilege .CHANGEFEED },
1017
+ privilege.List {privilege .CREATE , privilege .CHANGEFEED },
1018
+ privilege.List {privilege .CREATE , privilege .CHANGEFEED }},
935
1019
}
936
1020
937
1021
for tcNum , tc := range testCases {
0 commit comments