diff options
author | Milas Bowman <milas.bowman@docker.com> | 2022-08-12 09:19:47 -0400 |
---|---|---|
committer | Milas Bowman <milas.bowman@docker.com> | 2022-08-12 09:21:51 -0400 |
commit | c03aeb659e2ac996aa69927e928b73d2979b9fce (patch) | |
tree | fe885ca150c72bfb2f2be760333d459df61c708f /tests/unit/context_test.py | |
parent | 656db96b4a8b0db28d4b19ca60c95036c995175b (diff) | |
parent | 58aa62bb154a2ccea433cf475aefbd695fb5abc8 (diff) | |
download | docker-py-c03aeb659e2ac996aa69927e928b73d2979b9fce.tar.gz |
Merge remote-tracking branch 'upstream/main' into connect-with-mac
Diffstat (limited to 'tests/unit/context_test.py')
-rw-r--r-- | tests/unit/context_test.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/unit/context_test.py b/tests/unit/context_test.py new file mode 100644 index 0000000..6d6d672 --- /dev/null +++ b/tests/unit/context_test.py @@ -0,0 +1,49 @@ +import unittest +import docker +import pytest +from docker.constants import DEFAULT_UNIX_SOCKET +from docker.constants import DEFAULT_NPIPE +from docker.constants import IS_WINDOWS_PLATFORM +from docker.context import ContextAPI, Context + + +class BaseContextTest(unittest.TestCase): + @pytest.mark.skipif( + IS_WINDOWS_PLATFORM, reason='Linux specific path check' + ) + def test_url_compatibility_on_linux(self): + c = Context("test") + assert c.Host == DEFAULT_UNIX_SOCKET.strip("http+") + + @pytest.mark.skipif( + not IS_WINDOWS_PLATFORM, reason='Windows specific path check' + ) + def test_url_compatibility_on_windows(self): + c = Context("test") + assert c.Host == DEFAULT_NPIPE + + def test_fail_on_default_context_create(self): + with pytest.raises(docker.errors.ContextException): + ContextAPI.create_context("default") + + def test_default_in_context_list(self): + found = False + ctx = ContextAPI.contexts() + for c in ctx: + if c.Name == "default": + found = True + assert found is True + + def test_get_current_context(self): + assert ContextAPI.get_current_context().Name == "default" + + def test_https_host(self): + c = Context("test", host="tcp://testdomain:8080", tls=True) + assert c.Host == "https://testdomain:8080" + + def test_context_inspect_without_params(self): + ctx = ContextAPI.inspect_context() + assert ctx["Name"] == "default" + assert ctx["Metadata"]["StackOrchestrator"] == "swarm" + assert ctx["Endpoints"]["docker"]["Host"] in [ + DEFAULT_NPIPE, DEFAULT_UNIX_SOCKET.strip("http+")] |