Skip to content

Commit e50eacd

Browse files
authored
Merge pull request #1648 from ChrsMark/master
Raising error in case of invalid value of since kwarg on Container.logs
2 parents a9d4c7e + c03a009 commit e50eacd

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

docker/api/container.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,11 @@ def logs(self, container, stdout=True, stderr=True, stream=False,
825825
params['since'] = utils.datetime_to_timestamp(since)
826826
elif (isinstance(since, int) and since > 0):
827827
params['since'] = since
828+
else:
829+
raise errors.InvalidArgument(
830+
'since value should be datetime or int, not {}'.
831+
format(type(since))
832+
)
828833
url = self._url("/containers/{0}/logs", container)
829834
res = self._get(url, params=params, stream=stream)
830835
return self._get_result(container, stream, res)

tests/unit/api_container_test.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1421,6 +1421,13 @@ def test_log_since_with_datetime(self):
14211421
stream=False
14221422
)
14231423

1424+
def test_log_since_with_invalid_value_raises_error(self):
1425+
with mock.patch('docker.api.client.APIClient.inspect_container',
1426+
fake_inspect_container):
1427+
with self.assertRaises(docker.errors.InvalidArgument):
1428+
self.client.logs(fake_api.FAKE_CONTAINER_ID, stream=False,
1429+
follow=False, since=42.42)
1430+
14241431
def test_log_tty(self):
14251432
m = mock.Mock()
14261433
with mock.patch('docker.api.client.APIClient.inspect_container',

0 commit comments

Comments
 (0)