fix(testing:bolt:inmem): add org admin permissions during onboarding generate

pull/10616/head
Michael Desa 2019-01-09 11:43:58 -05:00
parent bef148ffd2
commit 0ec22953df
4 changed files with 41 additions and 3 deletions

View File

@ -120,6 +120,15 @@ func (c *Client) Generate(ctx context.Context, req *platform.OnboardingRequest)
perms := platform.OperPermissions() perms := platform.OperPermissions()
perms = append(perms, platform.OrgAdminPermissions(o.ID)...) perms = append(perms, platform.OrgAdminPermissions(o.ID)...)
writeBucketPerm, err := platform.NewPermissionAtID(bucket.ID, platform.WriteAction, platform.BucketsResource)
if err != nil {
return nil, err
}
readBucketPerm, err := platform.NewPermissionAtID(bucket.ID, platform.ReadAction, platform.BucketsResource)
if err != nil {
return nil, err
}
perms = append(perms, *writeBucketPerm, *readBucketPerm)
auth := &platform.Authorization{ auth := &platform.Authorization{
UserID: u.ID, UserID: u.ID,

View File

@ -28,6 +28,6 @@ func initOnboardingService(f platformtesting.OnboardingFields, t *testing.T) (pl
} }
} }
func TestGenerate(t *testing.T) { func TestOnboardingService_Generate(t *testing.T) {
platformtesting.Generate(initOnboardingService, t) platformtesting.Generate(initOnboardingService, t)
} }

View File

@ -92,11 +92,24 @@ func (s *Service) Generate(ctx context.Context, req *platform.OnboardingRequest)
if err = s.CreateBucket(ctx, bucket); err != nil { if err = s.CreateBucket(ctx, bucket); err != nil {
return nil, err return nil, err
} }
perms := platform.OperPermissions()
perms = append(perms, platform.OrgAdminPermissions(o.ID)...)
writeBucketPerm, err := platform.NewPermissionAtID(bucket.ID, platform.WriteAction, platform.BucketsResource)
if err != nil {
return nil, err
}
readBucketPerm, err := platform.NewPermissionAtID(bucket.ID, platform.ReadAction, platform.BucketsResource)
if err != nil {
return nil, err
}
perms = append(perms, *writeBucketPerm, *readBucketPerm)
auth := &platform.Authorization{ auth := &platform.Authorization{
UserID: u.ID, UserID: u.ID,
Description: fmt.Sprintf("%s's Token", u.Name), Description: fmt.Sprintf("%s's Token", u.Name),
OrgID: o.ID, OrgID: o.ID,
Permissions: platform.OperPermissions(), Permissions: perms,
} }
if err = s.CreateAuthorization(ctx, auth); err != nil { if err = s.CreateAuthorization(ctx, auth); err != nil {
return nil, err return nil, err

View File

@ -170,7 +170,7 @@ func Generate(
UserID: MustIDBase16(oneID), UserID: MustIDBase16(oneID),
Description: "admin's Token", Description: "admin's Token",
OrgID: MustIDBase16(twoID), OrgID: MustIDBase16(twoID),
Permissions: platform.OperPermissions(), Permissions: mustGeneratePermissions(MustIDBase16(twoID), MustIDBase16(threeID)),
}, },
}, },
}, },
@ -203,6 +203,22 @@ func Generate(
} }
func mustGeneratePermissions(orgID, bucketID platform.ID) []platform.Permission {
perms := platform.OperPermissions()
perms = append(perms, platform.OrgAdminPermissions(orgID)...)
writeBucketPerm, err := platform.NewPermissionAtID(bucketID, platform.WriteAction, platform.BucketsResource)
if err != nil {
panic(err)
}
readBucketPerm, err := platform.NewPermissionAtID(bucketID, platform.ReadAction, platform.BucketsResource)
if err != nil {
panic(err)
}
perms = append(perms, *writeBucketPerm, *readBucketPerm)
return perms
}
const ( const (
oneID = "020f755c3c082000" oneID = "020f755c3c082000"
twoID = "020f755c3c082001" twoID = "020f755c3c082001"