def test_sync_from_local(mock_get_project, mock_run): rubicon = Rubicon(persistence="filesystem", root_dir="./local/path") project_name = "Sync Test Project" mock_get_project.return_value = client.Project( domain.Project(project_name)) rubicon.sync(project_name, "s3://test/path") assert "aws s3 sync ./local/path/sync-test-project s3://test/path" in str( mock_run._mock_call_args_list)
def test_sync_from_local_error(mock_get_project, mock_run): rubicon = Rubicon(persistence="filesystem", root_dir="./local/path") project_name = "Sync Test Project" mock_get_project.return_value = client.Project( domain.Project(project_name)) mock_run.side_effect = subprocess.CalledProcessError( cmd="aws cli sync", stderr="Some error. I bet it was proxy tho.", returncode=1) with pytest.raises(RubiconException) as e: rubicon.sync(project_name, "s3://test/path") assert "Some error. I bet it was proxy tho." in str(e)