diff options
| author | Ulysses Souza <ulysses.souza@docker.com> | 2020-02-06 11:43:03 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-06 11:43:03 +0100 |
| commit | 1d1532f0be8fdf69443cfc71f1fb9002e9af4ae4 (patch) | |
| tree | 927c9e652c7282cd012acb7632462662f341a529 /tests/integration/context_api_test.py | |
| parent | 66495870de024e61685a8eac9e13e0f7ca1ddee1 (diff) | |
| parent | ab5678469c7d2dc73367a63b947aa84d16f36591 (diff) | |
| download | docker-py-4.2.0.tar.gz | |
Merge pull request #2506 from ulyssessouza/4.2.0-release4.2.0
4.2.0 release
Diffstat (limited to 'tests/integration/context_api_test.py')
| -rw-r--r-- | tests/integration/context_api_test.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/integration/context_api_test.py b/tests/integration/context_api_test.py new file mode 100644 index 0000000..60235ee --- /dev/null +++ b/tests/integration/context_api_test.py @@ -0,0 +1,52 @@ +import os +import tempfile +import pytest +from docker import errors +from docker.context import ContextAPI +from docker.tls import TLSConfig +from .base import BaseAPIIntegrationTest + + +class ContextLifecycleTest(BaseAPIIntegrationTest): + def test_lifecycle(self): + assert ContextAPI.get_context().Name == "default" + assert not ContextAPI.get_context("test") + assert ContextAPI.get_current_context().Name == "default" + + dirpath = tempfile.mkdtemp() + ca = tempfile.NamedTemporaryFile( + prefix=os.path.join(dirpath, "ca.pem"), mode="r") + cert = tempfile.NamedTemporaryFile( + prefix=os.path.join(dirpath, "cert.pem"), mode="r") + key = tempfile.NamedTemporaryFile( + prefix=os.path.join(dirpath, "key.pem"), mode="r") + + # create context 'test + docker_tls = TLSConfig( + client_cert=(cert.name, key.name), + ca_cert=ca.name) + ContextAPI.create_context( + "test", tls_cfg=docker_tls) + + # check for a context 'test' in the context store + assert any([ctx.Name == "test" for ctx in ContextAPI.contexts()]) + # retrieve a context object for 'test' + assert ContextAPI.get_context("test") + # remove context + ContextAPI.remove_context("test") + with pytest.raises(errors.ContextNotFound): + ContextAPI.inspect_context("test") + # check there is no 'test' context in store + assert not ContextAPI.get_context("test") + + ca.close() + key.close() + cert.close() + + def test_context_remove(self): + ContextAPI.create_context("test") + assert ContextAPI.inspect_context("test")["Name"] == "test" + + ContextAPI.remove_context("test") + with pytest.raises(errors.ContextNotFound): + ContextAPI.inspect_context("test") |
