Skip to content

Commit

Permalink
fix(store): warn on init instead of throw
Browse files Browse the repository at this point in the history
Signed-off-by: yanlong.wang <[email protected]>
  • Loading branch information
nomagick committed Dec 22, 2022
1 parent 82cf559 commit e03caca
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
3 changes: 2 additions & 1 deletion docker/credentials/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import json
import shutil
import subprocess
import warnings

from . import constants
from . import errors
Expand All @@ -18,7 +19,7 @@ def __init__(self, program, environment=None):
self.exe = shutil.which(self.program)
self.environment = environment
if self.exe is None:
raise errors.InitializationError(
warnings.warn(
'{} not installed or not available in PATH'.format(
self.program
)
Expand Down
7 changes: 7 additions & 0 deletions tests/integration/credentials/store_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,10 @@ def test_execute_with_env_override(self):
data = self.store._execute('--null', '')
assert b'\0FOO=bar\0' in data
assert 'FOO' not in os.environ

def test_unavailable_store(self):
some_unavailable_store = None
with pytest.warns(UserWarning):
some_unavailable_store = Store('that-does-not-exist')
with pytest.raises(StoreError):
some_unavailable_store.get('anything-this-does-not-matter')

0 comments on commit e03caca

Please sign in to comment.