This commit is contained in:
Simone Scarduzio
2025-09-23 07:20:16 +02:00
parent 42aac30b41
commit 3bd545e94e
2 changed files with 32 additions and 30 deletions

View File

@@ -47,9 +47,7 @@ class TestCpCommand:
# Patch create_service to return our mock
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
result = runner.invoke(
cli, ["cp", str(test_file), "s3://test-bucket/test.zip"]
)
result = runner.invoke(cli, ["cp", str(test_file), "s3://test-bucket/test.zip"])
assert result.exit_code == 0
assert "upload:" in result.output
@@ -65,11 +63,7 @@ class TestCpCommand:
# Mock storage.head to indicate file exists
mock_service.storage.head.return_value = ObjectHead(
key="test.zip.delta",
size=100,
etag="test-etag",
last_modified=None,
metadata={}
key="test.zip.delta", size=100, etag="test-etag", last_modified=None, metadata={}
)
# Mock service.get to create the file
@@ -80,9 +74,7 @@ class TestCpCommand:
mock_service.get.side_effect = mock_get
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
result = runner.invoke(
cli, ["cp", "s3://test-bucket/test.zip", str(output_file)]
)
result = runner.invoke(cli, ["cp", "s3://test-bucket/test.zip", str(output_file)])
assert result.exit_code == 0
assert "download:" in result.output
@@ -114,9 +106,7 @@ class TestCpCommand:
)
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
result = runner.invoke(
cli, ["cp", "-r", str(test_dir), "s3://test-bucket/backup/"]
)
result = runner.invoke(cli, ["cp", "-r", str(test_dir), "s3://test-bucket/backup/"])
assert result.exit_code == 0
# Should upload both files
@@ -153,9 +143,7 @@ class TestSyncCommand:
)
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
result = runner.invoke(
cli, ["sync", str(test_dir), "s3://test-bucket/backup/"]
)
result = runner.invoke(cli, ["sync", str(test_dir), "s3://test-bucket/backup/"])
assert result.exit_code == 0
assert "Sync completed" in result.output
@@ -172,8 +160,20 @@ class TestSyncCommand:
# Mock service methods
mock_service.storage.list.return_value = [
ObjectHead(key="backup/file1.zip.delta", size=100, etag="etag1", last_modified=None, metadata={}),
ObjectHead(key="backup/file2.tar.delta", size=200, etag="etag2", last_modified=None, metadata={}),
ObjectHead(
key="backup/file1.zip.delta",
size=100,
etag="etag1",
last_modified=None,
metadata={},
),
ObjectHead(
key="backup/file2.tar.delta",
size=200,
etag="etag2",
last_modified=None,
metadata={},
),
]
mock_service.storage.head.side_effect = [
None, # file1.zip doesn't exist
@@ -183,9 +183,7 @@ class TestSyncCommand:
]
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
result = runner.invoke(
cli, ["sync", "s3://test-bucket/backup/", str(test_dir)]
)
result = runner.invoke(cli, ["sync", "s3://test-bucket/backup/", str(test_dir)])
assert result.exit_code == 0
assert "Sync completed" in result.output

View File

@@ -23,10 +23,12 @@ def test_get_command_with_original_name(mock_service):
# Mock the service.get method and storage.head
mock_service.get = Mock()
mock_service.storage.head = Mock(side_effect=[
None, # First check for original file returns None
Mock() # Second check for .delta file returns something
])
mock_service.storage.head = Mock(
side_effect=[
None, # First check for original file returns None
Mock(), # Second check for .delta file returns something
]
)
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
# Run get with original filename (should auto-append .delta)
@@ -84,10 +86,12 @@ def test_get_command_with_output_option(mock_service):
# Mock the service.get method and storage.head
mock_service.get = Mock()
mock_service.storage.head = Mock(side_effect=[
None, # First check for original file returns None
Mock() # Second check for .delta file returns something
])
mock_service.storage.head = Mock(
side_effect=[
None, # First check for original file returns None
Mock(), # Second check for .delta file returns something
]
)
with patch("deltaglider.app.cli.main.create_service", return_value=mock_service):
with tempfile.TemporaryDirectory() as tmpdir: