Use Environment.portofolio and portfolio_id properties instead of accessing them through application

This commit is contained in:
leigh-mil 2020-02-25 15:01:05 -05:00
parent 3544896d32
commit 2a2fafe7ea
9 changed files with 14 additions and 17 deletions

View File

@ -111,9 +111,7 @@ class EnvironmentRoles(object):
environment_role = EnvironmentRoles.get_by_id(environment_role_id) environment_role = EnvironmentRoles.get_by_id(environment_role_id)
if environment_role.cloud_id and not environment_role.environment.cloud_id: if environment_role.cloud_id and not environment_role.environment.cloud_id:
tenant_id = environment_role.environment.application.portfolio.csp_data.get( tenant_id = environment_role.environment.portfolio.csp_data.get("tenant_id")
"tenant_id"
)
app.csp.cloud.disable_user(tenant_id, environment_role.csp_user_id) app.csp.cloud.disable_user(tenant_id, environment_role.csp_user_id)
environment_role.status = EnvironmentRole.Status.DISABLED environment_role.status = EnvironmentRole.Status.DISABLED

View File

@ -135,7 +135,7 @@ def do_create_environment(csp: CloudProviderInterface, environment_id=None):
if environment.cloud_id is not None: if environment.cloud_id is not None:
return return
csp_details = environment.application.portfolio.csp_data csp_details = environment.portfolio.csp_data
parent_id = environment.application.cloud_id parent_id = environment.application.cloud_id
tenant_id = csp_details.get("tenant_id") tenant_id = csp_details.get("tenant_id")
payload = EnvironmentCSPPayload( payload = EnvironmentCSPPayload(
@ -156,7 +156,7 @@ def do_create_environment_role(csp: CloudProviderInterface, environment_role_id=
return return
env = env_role.environment env = env_role.environment
csp_details = env.application.portfolio.csp_data csp_details = env.portfolio.csp_data
app_role = env_role.application_role app_role = env_role.application_role
role = None role = None

View File

@ -70,7 +70,7 @@ class Environment(
self.name, self.name,
self.num_users, self.num_users,
self.application.name, self.application.name,
self.application.portfolio.name, self.portfolio.name,
self.id, self.id,
) )

View File

@ -58,7 +58,7 @@ class EnvironmentRole(
@property @property
def portfolio_id(self): def portfolio_id(self):
return self.environment.application.portfolio_id return self.environment.portfolio_id
@property @property
def application_id(self): def application_id(self):
@ -86,8 +86,8 @@ class EnvironmentRole(
"environment_id": str(self.environment_id), "environment_id": str(self.environment_id),
"application": self.environment.application.name, "application": self.environment.application.name,
"application_id": str(self.environment.application_id), "application_id": str(self.environment.application_id),
"portfolio": self.environment.application.portfolio.name, "portfolio": self.environment.portfolio.name,
"portfolio_id": str(self.environment.application.portfolio.id), "portfolio_id": str(self.environment.portfolio.id),
} }

View File

@ -530,7 +530,7 @@ def resend_invite(application_id, application_role_id):
def build_subscription_payload(environment) -> SubscriptionCreationCSPPayload: def build_subscription_payload(environment) -> SubscriptionCreationCSPPayload:
csp_data = environment.application.portfolio.csp_data csp_data = environment.portfolio.csp_data
parent_group_id = environment.cloud_id parent_group_id = environment.cloud_id
invoice_section_name = csp_data["billing_profile_properties"]["invoice_sections"][ invoice_section_name = csp_data["billing_profile_properties"]["invoice_sections"][
0 0

View File

@ -23,10 +23,10 @@ def mock_csp():
def test_create_environment(mock_csp: MockCloudProvider): def test_create_environment(mock_csp: MockCloudProvider):
environment = EnvironmentFactory.create() environment = EnvironmentFactory.create()
environment.application.cloud_id = "parent_id" environment.application.cloud_id = "parent_id"
environment.application.portfolio.csp_data = {"tenant_id": "fake"} environment.portfolio.csp_data = {"tenant_id": "fake"}
payload = EnvironmentCSPPayload( payload = EnvironmentCSPPayload(
**dict( **dict(
tenant_id=environment.application.portfolio.csp_data.get("tenant_id"), tenant_id=environment.portfolio.csp_data.get("tenant_id"),
display_name=environment.name, display_name=environment.name,
parent_id=environment.application.cloud_id, parent_id=environment.application.cloud_id,
) )

View File

@ -111,7 +111,7 @@ def test_disable_checks_env_provisioning_status(session):
def test_disable_checks_env_role_provisioning_status(): def test_disable_checks_env_role_provisioning_status():
environment = EnvironmentFactory.create(cloud_id="cloud-id") environment = EnvironmentFactory.create(cloud_id="cloud-id")
environment.application.portfolio.csp_data = {"tenant_id": uuid4().hex} environment.portfolio.csp_data = {"tenant_id": uuid4().hex}
env_role1 = EnvironmentRoleFactory.create(environment=environment) env_role1 = EnvironmentRoleFactory.create(environment=environment)
assert not env_role1.cloud_id assert not env_role1.cloud_id
env_role1 = EnvironmentRoles.disable(env_role1.id) env_role1 = EnvironmentRoles.disable(env_role1.id)

View File

@ -786,10 +786,9 @@ def test_create_subscription_success(
client, user_session, mock_azure: AzureCloudProvider client, user_session, mock_azure: AzureCloudProvider
): ):
environment = EnvironmentFactory.create() environment = EnvironmentFactory.create()
user_session(environment.portfolio.owner) user_session(environment.portfolio.owner)
environment.cloud_id = "management/group/id" environment.cloud_id = "management/group/id"
environment.application.portfolio.csp_data = { environment.portfolio.csp_data = {
"billing_account_name": "xxxx-xxxx-xxx-xxx", "billing_account_name": "xxxx-xxxx-xxx-xxx",
"billing_profile_name": "xxxxxxxxxxx:xxxxxxxxxxxxx_xxxxxx", "billing_profile_name": "xxxxxxxxxxx:xxxxxxxxxxxxx_xxxxxx",
"tenant_id": "xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx", "tenant_id": "xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx",
@ -832,7 +831,7 @@ def test_create_subscription_failure(client, user_session, monkeypatch):
user_session(environment.portfolio.owner) user_session(environment.portfolio.owner)
environment.cloud_id = "management/group/id" environment.cloud_id = "management/group/id"
environment.application.portfolio.csp_data = { environment.portfolio.csp_data = {
"billing_account_name": "xxxx-xxxx-xxx-xxx", "billing_account_name": "xxxx-xxxx-xxx-xxx",
"billing_profile_name": "xxxxxxxxxxx:xxxxxxxxxxxxx_xxxxxx", "billing_profile_name": "xxxxxxxxxxx:xxxxxxxxxxxxx_xxxxxx",
"tenant_id": "xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx", "tenant_id": "xxxxxxxxxxx-xxxxxxxxxx-xxxxxxx-xxxxx",

View File

@ -104,7 +104,7 @@ tomorrow = now.add(days=1)
def test_create_environment_job(session, csp): def test_create_environment_job(session, csp):
environment = EnvironmentFactory.create() environment = EnvironmentFactory.create()
environment.application.cloud_id = "parentId" environment.application.cloud_id = "parentId"
environment.application.portfolio.csp_data = {"tenant_id": "fake"} environment.portfolio.csp_data = {"tenant_id": "fake"}
session.add(environment) session.add(environment)
session.commit() session.commit()
do_create_environment(csp, environment.id) do_create_environment(csp, environment.id)