authz.go 656 B

123456789101112131415161718192021222324252627
  1. package apitest
  2. import (
  3. "context"
  4. "net/http"
  5. "testing"
  6. "github.com/porter-dev/porter/api/server/authz"
  7. "github.com/porter-dev/porter/api/types"
  8. "github.com/porter-dev/porter/internal/models"
  9. )
  10. func WithProject(t *testing.T, req *http.Request, proj *models.Project) *http.Request {
  11. ctx := req.Context()
  12. ctx = context.WithValue(ctx, types.ProjectScope, proj)
  13. req = req.WithContext(ctx)
  14. return req
  15. }
  16. func WithRequestScopes(t *testing.T, req *http.Request, reqScopes map[types.PermissionScope]*types.RequestAction) *http.Request {
  17. ctx := req.Context()
  18. ctx = authz.NewRequestScopeCtx(ctx, reqScopes)
  19. req = req.WithContext(ctx)
  20. return req
  21. }