Skip to content

Commit

Permalink
Add test for force upload
Browse files Browse the repository at this point in the history
  • Loading branch information
JimMadge committed Sep 20, 2024
1 parent 5d7f9fa commit 1bb9546
Showing 1 changed file with 35 additions and 6 deletions.
41 changes: 35 additions & 6 deletions tests/commands/test_config_sre.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,21 +284,50 @@ def test_upload_file_does_not_exist(self, mocker, runner):
assert result.exit_code == 1
assert "Configuration file 'fake_config.yaml' not found." in result.stdout

def test_upload_invalid_config(self, mocker, runner, context, sre_config_file, sre_config_yaml):
def test_upload_invalid_config(
self, mocker, runner, context, sre_config_file, sre_config_yaml
):
sre_name = "SandBox"
sre_filename = sre_config_name(sre_name)

mock_exists = mocker.patch.object(SREConfig, "remote_exists", return_value=True)
mocker.patch.object(
SREConfig, "remote_yaml_diff", side_effect=DataSafeHavenTypeError(" ")
)
mocker.patch.object(
AzureSdk, "download_blob", return_value=sre_config_yaml
)
mocker.patch.object(AzureSdk, "download_blob", return_value=sre_config_yaml)

result = runner.invoke(config_command_group, ["upload", str(sre_config_file)])

mock_exists.assert_called_once_with(context, filename=sre_filename)
assert result.exit_code == 1

mock_exists.assert_called_once_with(context, filename=sre_filename)
assert sre_config_yaml in result.stdout
assert "To overwrite the remote config, use `dsh config upload --force`" in result.stdout
assert (
"To overwrite the remote config, use `dsh config upload --force`"
in result.stdout
)

def test_upload_invalid_config_force(
self, mocker, runner, context, sre_config_file, sre_config_yaml
):
sre_name = "SandBox"
sre_filename = sre_config_name(sre_name)

mocker.patch.object(
SREConfig, "remote_yaml_diff", side_effect=DataSafeHavenTypeError(" ")
)
mock_upload = mocker.patch.object(AzureSdk, "upload_blob", return_value=None)

result = runner.invoke(
config_command_group, ["upload", "--force", str(sre_config_file)]
)

assert result.exit_code == 0

mock_upload.assert_called_once_with(
sre_config_yaml,
sre_filename,
context.resource_group_name,
context.storage_account_name,
context.storage_container_name,
)

0 comments on commit 1bb9546

Please sign in to comment.