@@ -192,8 +192,10 @@ func TestEnforceValidPermissionsOnCreate(t *testing.T) {
192192
193193 deposit := sdk .NewCoins (sdk .NewInt64Coin ("denom" , 100000 ))
194194 creator := keepers .Faucet .NewFundedAccount (ctx , deposit ... )
195+ other := keepers .Faucet .NewFundedAccount (ctx , deposit ... )
195196
196197 onlyCreator := types .AccessTypeOnlyAddress .With (creator )
198+ onlyOther := types .AccessTypeOnlyAddress .With (other )
197199
198200 specs := map [string ]struct {
199201 defaultPermssion types.AccessType
@@ -213,6 +215,11 @@ func TestEnforceValidPermissionsOnCreate(t *testing.T) {
213215 requestedPermission : nil ,
214216 grantedPermission : types.AccessConfig {Permission : types .AccessTypeEverybody },
215217 },
218+ "explicitly set everybody" : {
219+ defaultPermssion : types .AccessTypeEverybody ,
220+ requestedPermission : & types.AccessConfig {Permission : types .AccessTypeEverybody },
221+ grantedPermission : types.AccessConfig {Permission : types .AccessTypeEverybody },
222+ },
216223 "cannot override nobody" : {
217224 defaultPermssion : types .AccessTypeNobody ,
218225 requestedPermission : & onlyCreator ,
@@ -223,6 +230,21 @@ func TestEnforceValidPermissionsOnCreate(t *testing.T) {
223230 requestedPermission : nil ,
224231 grantedPermission : types.AccessConfig {Permission : types .AccessTypeNobody },
225232 },
233+ "only defaults to code creator" : {
234+ defaultPermssion : types .AccessTypeOnlyAddress ,
235+ requestedPermission : nil ,
236+ grantedPermission : onlyCreator ,
237+ },
238+ "can explicitly set to code creator" : {
239+ defaultPermssion : types .AccessTypeOnlyAddress ,
240+ requestedPermission : & onlyCreator ,
241+ grantedPermission : onlyCreator ,
242+ },
243+ "cannot override which address in only" : {
244+ defaultPermssion : types .AccessTypeOnlyAddress ,
245+ requestedPermission : & onlyOther ,
246+ expError : sdkerrors .ErrUnauthorized ,
247+ },
226248 }
227249 for msg , spec := range specs {
228250 t .Run (msg , func (t * testing.T ) {
0 commit comments