Rudimentary tests to validate mocking

This commit is contained in:
tomdds 2019-10-29 16:15:02 -04:00
parent 99e306e602
commit 63ea7db390
3 changed files with 35 additions and 10 deletions

View File

@ -488,21 +488,21 @@ class AzureCloudProvider(CloudProviderInterface):
)
# Create role assignment for
role_assignment_id = uuid.uuid4()
role_assignment_id = str(uuid4())
role_assignment_create_params = auth_client.role_assignments.models.RoleAssignmentCreateParameters(
role_definition_id=REMOTE_ROOT_ROLE_DEF_ID,
principal_id=managment_principal.id,
)
self.sdk.authorization.models.RoleAssignment = auth_client.role_assignments.create(
auth_client.role_assignments.create(
scope=f"/subscriptions/{subscription.id}/",
role_assignment_name=role_assignment_id,
parameters=role_assignment_create_params,
)
return {
"csp_user_id": service_principal.object_id,
"credentials": service_principal.password_credentials,
"csp_user_id": managment_principal.object_id,
"credentials": managment_principal.password_credentials,
"role_name": role_assignment_id,
}

View File

@ -1,6 +1,8 @@
import pytest
from unittest.mock import Mock
from uuid import uuid4
from atst.domain.csp.cloud import EnvironmentCreationException, AzureCloudProvider
from atst.jobs import (
do_create_environment,
@ -13,4 +15,30 @@ from tests.factories import EnvironmentFactory
def test_create_environment_succeeds(mock_azure: AzureCloudProvider):
print(mock_azure._get_credential_obj(mock_azure._root_creds))
environment = EnvironmentFactory.create()
subscription_id = str(uuid4())
mock_azure.sdk.subscription.SubscriptionClient.return_value.subscription_factory.create_subscription.return_value.result.return_value.subscription_link = (
f"subscriptions/{subscription_id}"
)
result = mock_azure.create_environment(
AUTH_CREDENTIALS, environment.creator, environment
)
assert result == subscription_id
def test_create_atat_admin_user_succeeds(mock_azure: AzureCloudProvider):
environment_id = str(uuid4())
csp_user_id = str(uuid4)
mock_azure.sdk.graphrbac.GraphRbacManagementClient.return_value.service_principals.create.return_value.object_id = (
csp_user_id
)
result = mock_azure.create_atat_admin_user(AUTH_CREDENTIALS, environment_id)
assert result.get("csp_user_id") == csp_user_id

View File

@ -19,9 +19,7 @@ AUTH_CREDENTIALS = {
def mock_subscription():
from azure.mgmt import subscription
sub_mock = Mock(spec=subscription)
return sub_mock
return Mock(spec=subscription)
def mock_authorization():
@ -39,8 +37,7 @@ def mock_graphrbac():
def mock_credentials():
import azure.common.credentials as credentials
cred_mock = Mock(spec=credentials)
return cred_mock
return Mock(spec=credentials)
class MockAzureSDK(object):