コード例 #1
0
ファイル: test_terraform.py プロジェクト: run-x/opta
    def test_google_download_state(self, mocker: MockFixture) -> None:
        layer = mocker.Mock(spec=Layer)
        layer.gen_providers.return_value = {
            "terraform": {
                "backend": {
                    "gcs": {
                        "bucket": "opta-tf-state-test-dev1",
                        "prefix": "dev1"
                    }
                }
            },
            "provider": {
                "google": {
                    "region": "us-central1",
                    "project": "dummy-project"
                }
            },
        }
        layer.name = "blah"
        layer.cloud = "google"
        mocker.patch("opta.core.terraform.Terraform._gcp_verify_storage",
                     return_value=True)
        patched_init = mocker.patch("opta.core.terraform.Terraform.init",
                                    return_value=True)
        mocked_credentials = mocker.Mock()
        mocked_gcp_credentials = mocker.patch(
            "opta.core.terraform.GCP.get_credentials",
            return_value=[mocked_credentials, "dummy-project"],
        )
        mocked_storage_client = mocker.Mock()
        mocked_client_constructor = mocker.patch(
            "opta.core.terraform.storage.Client",
            return_value=mocked_storage_client)
        mocked_bucket_object = mocker.Mock()
        mocked_storage_client.get_bucket.return_value = mocked_bucket_object
        read_data = '{"a": 1}'
        mocked_file = mocker.mock_open(read_data=read_data)
        mocker.patch("opta.core.terraform.os.remove")
        mocked_open = mocker.patch("opta.core.terraform.open", mocked_file)

        assert Terraform.download_state(layer)

        patched_init.assert_not_called()
        mocked_gcp_credentials.assert_called_once_with()
        mocked_client_constructor.assert_called_once_with(
            project="dummy-project", credentials=mocked_credentials)
        mocked_storage_client.get_bucket.assert_called_once_with(
            "opta-tf-state-test-dev1")
        mocked_open.assert_has_calls(
            [
                mocker.call("./tmp.tfstate", "wb"),
                mocker.call("./tmp.tfstate", "r")
            ],
            any_order=True,
        )
        mocked_storage_client.download_blob_to_file.assert_called_once_with(
            mocker.ANY, mocker.ANY)
コード例 #2
0
def test_password(mocker: MockFixture) -> None:
    """Runs the start cipher method with different passwords

            args:
                mocker: Wrapper for pytest of the mock package
        """
    # No password
    mocker.patch("tests.main_gui_test.WINDOW.password_entry.get",
                 return_value=0)
    WINDOW.start_cipher()

    # Sets password
    mocker.patch("tests.main_gui_test.WINDOW.password_entry.get",
                 return_value='example_password')

    # Contents of file
    mocker.patch('builtins.open',
                 mocker.mock_open(read_data='example content'))
    WINDOW.start_cipher()
コード例 #3
0
ファイル: test_terraform.py プロジェクト: run-x/opta
    def test_aws_download_state(self, mocker: MockFixture) -> None:
        layer = mocker.Mock(spec=Layer)
        layer.gen_providers.return_value = {
            "terraform": {
                "backend": {
                    "s3": {
                        "bucket": "opta-tf-state-test-dev1",
                        "key": "dev1",
                        "dynamodb_table": "opta-tf-state-test-dev1",
                        "region": "us-east-1",
                    }
                }
            }
        }
        layer.name = "blah"
        layer.cloud = "aws"
        mocker.patch("opta.core.terraform.Terraform._aws_verify_storage",
                     return_value=True)
        patched_init = mocker.patch("opta.core.terraform.Terraform.init",
                                    return_value=True)
        mocked_s3_client = mocker.Mock()
        mocked_boto_client = mocker.patch("opta.core.terraform.boto3.client",
                                          return_value=mocked_s3_client)
        read_data = '{"a": 1}'
        mocked_file = mocker.mock_open(read_data=read_data)
        mocker.patch("opta.core.terraform.os.remove")
        mocked_open = mocker.patch("opta.core.terraform.open", mocked_file)

        assert Terraform.download_state(layer)
        layer.gen_providers.assert_called_once_with(0)
        mocked_s3_client.download_file.assert_called_once_with(
            Bucket="opta-tf-state-test-dev1",
            Key="dev1",
            Filename="./tmp.tfstate")
        mocked_open.assert_called_once_with("./tmp.tfstate", "r")
        patched_init.assert_not_called()
        mocked_boto_client.assert_called_once_with("s3", config=mocker.ANY)
コード例 #4
0
ファイル: test_terraform.py プロジェクト: run-x/opta
    def test_azure_download_state(self, mocker: MockFixture) -> None:
        layer = mocker.Mock(spec=Layer)
        layer.parent = None
        layer.cloud = "azurerm"
        layer.name = "blah"
        layer.providers = {
            "azurerm": {
                "location": "centralus",
                "tenant_id": "blahbc17-blah-blah-blah-blah291d395b",
                "subscription_id": "blah99ae-blah-blah-blah-blahd2a04788",
            }
        }
        layer.root.return_value = layer
        layer.gen_providers.return_value = {
            "terraform": {
                "backend": {
                    "azurerm": {
                        "resource_group_name": "dummy_resource_group",
                        "storage_account_name": "dummy_storage_account",
                        "container_name": "dummy_container_name",
                        "key": "dummy_key",
                    }
                }
            },
            "provider": {
                "azurerm": {
                    "location": "centralus",
                    "tenant_id": "blahbc17-blah-blah-blah-blah291d395b",
                    "subscription_id": "blah99ae-blah-blah-blah-blahd2a04788",
                }
            },
        }
        mocked_azure = mocker.patch("opta.core.terraform.Azure")
        mocked_credentials = mocker.Mock()
        mocked_azure.get_credentials.return_value = mocked_credentials
        mocker.patch("opta.core.terraform.Terraform._azure_verify_storage",
                     return_value=True)
        mocked_blob_service_client_instance = mocker.Mock()
        mocked_blob_service_client = mocker.patch(
            "opta.core.terraform.BlobServiceClient",
            return_value=mocked_blob_service_client_instance,
        )
        mocked_container_client = mocker.Mock()
        mocked_blob_service_client_instance.get_container_client.return_value = (
            mocked_container_client)
        mocked_blob_client = mocker.Mock()
        mocked_container_client.get_blob_client.return_value = mocked_blob_client
        read_data = '{"a": 1}'
        mocked_file = mocker.mock_open(read_data=read_data)
        mocker.patch("opta.core.terraform.os.remove")
        mocked_open = mocker.patch("opta.core.terraform.open", mocked_file)

        assert Terraform.download_state(layer)

        mocked_blob_service_client.assert_called_once_with(
            "https://dummy_storage_account.blob.core.windows.net/",
            credential=mocked_credentials,
        )
        mocked_blob_service_client_instance.get_container_client.assert_called_once_with(
            "dummy_container_name")
        mocked_container_client.get_blob_client.assert_called_once_with(
            "dummy_key")
        mocked_open.assert_has_calls(
            [
                mocker.call("./tmp.tfstate", "wb"),
                mocker.call("./tmp.tfstate", "r")
            ],
            any_order=True,
        )