Update relationship between Environment and EnvironmentRole so only environment roles that are not deleted are included
This commit is contained in:
parent
17149efa09
commit
e5f83d2456
@ -32,6 +32,12 @@ class Environment(
|
||||
|
||||
job_failures = relationship("EnvironmentJobFailure")
|
||||
|
||||
roles = relationship(
|
||||
"EnvironmentRole",
|
||||
back_populates="environment",
|
||||
primaryjoin="and_(EnvironmentRole.environment_id == Environment.id, EnvironmentRole.deleted == False)",
|
||||
)
|
||||
|
||||
class ProvisioningStatus(Enum):
|
||||
PENDING = "pending"
|
||||
COMPLETED = "completed"
|
||||
|
@ -24,7 +24,7 @@ class EnvironmentRole(
|
||||
environment_id = Column(
|
||||
UUID(as_uuid=True), ForeignKey("environments.id"), nullable=False
|
||||
)
|
||||
environment = relationship("Environment", backref="roles")
|
||||
environment = relationship("Environment")
|
||||
|
||||
role = Column(String())
|
||||
|
||||
|
@ -3,6 +3,7 @@ import pytest
|
||||
from atst.models import AuditEvent
|
||||
from atst.models.environment_role import CSPRole
|
||||
from atst.domain.applications import Applications
|
||||
from atst.domain.environment_roles import EnvironmentRoles
|
||||
|
||||
from tests.factories import *
|
||||
|
||||
@ -70,3 +71,19 @@ def test_audit_event_for_environment_deletion(session):
|
||||
def test_environment_provisioning_status(env_data, expected_status):
|
||||
environment = EnvironmentFactory.create(**env_data)
|
||||
assert environment.provisioning_status == expected_status
|
||||
|
||||
|
||||
def test_environment_roles_do_not_include_deleted():
|
||||
member_list = [
|
||||
{"role_name": CSPRole.BASIC_ACCESS.value},
|
||||
{"role_name": CSPRole.BASIC_ACCESS.value},
|
||||
{"role_name": CSPRole.BASIC_ACCESS.value},
|
||||
]
|
||||
env = EnvironmentFactory.create(members=member_list)
|
||||
role_1 = env.roles[0]
|
||||
role_2 = env.roles[1]
|
||||
|
||||
EnvironmentRoles.delete(role_1.application_role_id, env.id)
|
||||
EnvironmentRoles.disable(role_2.id)
|
||||
|
||||
assert len(env.roles) == 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user