- move application routes to their own Flask blueprint - squash application routes to be resource-specific - reorganize application routes
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
from flask import url_for, get_flashed_messages
|
|
|
|
from tests.factories import (
|
|
UserFactory,
|
|
PortfolioFactory,
|
|
PortfolioRoleFactory,
|
|
EnvironmentRoleFactory,
|
|
EnvironmentFactory,
|
|
ApplicationFactory,
|
|
)
|
|
|
|
from atst.domain.applications import Applications
|
|
from atst.domain.portfolios import Portfolios
|
|
from atst.models.portfolio_role import Status as PortfolioRoleStatus
|
|
|
|
from tests.utils import captured_templates
|
|
|
|
|
|
def create_environment(user):
|
|
portfolio = PortfolioFactory.create()
|
|
portfolio_role = PortfolioRoleFactory.create(portfolio=portfolio, user=user)
|
|
application = ApplicationFactory.create(portfolio=portfolio)
|
|
return EnvironmentFactory.create(application=application, name="new environment!")
|
|
|
|
|
|
def test_environment_access_with_env_role(client, user_session):
|
|
user = UserFactory.create()
|
|
environment = create_environment(user)
|
|
env_role = EnvironmentRoleFactory.create(
|
|
user=user, environment=environment, role="developer"
|
|
)
|
|
user_session(user)
|
|
response = client.get(
|
|
url_for("applications.access_environment", environment_id=environment.id)
|
|
)
|
|
assert response.status_code == 302
|
|
assert "csp-environment-access" in response.location
|
|
|
|
|
|
def test_environment_access_with_no_role(client, user_session):
|
|
user = UserFactory.create()
|
|
environment = create_environment(user)
|
|
user_session(user)
|
|
response = client.get(
|
|
url_for("applications.access_environment", environment_id=environment.id)
|
|
)
|
|
assert response.status_code == 404
|