diff options
author | Joffrey F <joffrey@docker.com> | 2015-02-10 12:43:56 -0800 |
---|---|---|
committer | Joffrey F <joffrey@docker.com> | 2015-02-10 12:55:44 -0800 |
commit | a7f7fbb0fdd1ad247c413170c354d08deb43dd32 (patch) | |
tree | b2fae940cc7a74caa1c8345f991cd6314e7f4a50 | |
parent | 35c4cbd9c49d70922802aa19cb57c302c9bc9d8b (diff) | |
download | docker-py-rename_container.tar.gz |
rename() tests and docsrename_container
-rw-r--r-- | docs/api.md | 9 | ||||
-rw-r--r-- | tests/fake_api.py | 9 | ||||
-rw-r--r-- | tests/integration_test.py | 12 | ||||
-rw-r--r-- | tests/test.py | 15 |
4 files changed, 44 insertions, 1 deletions
diff --git a/docs/api.md b/docs/api.md index dba4cde..1d162e9 100644 --- a/docs/api.md +++ b/docs/api.md @@ -526,6 +526,15 @@ Remove an image. Similar to the `docker rmi` command. * force (bool): Force removal of the image * noprune (bool): Do not delete untagged parents +## rename + +Rename a container. Similar to the `docker rename` command. + +**Params**: + +* container (str): ID of the container to rename +* name (str): New name for the container + ## restart Restart a container. Similar to the `docker restart` command. diff --git a/tests/fake_api.py b/tests/fake_api.py index c0b323b..d311fc1 100644 --- a/tests/fake_api.py +++ b/tests/fake_api.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -CURRENT_VERSION = 'v1.16' +CURRENT_VERSION = 'v1.17' FAKE_CONTAINER_ID = '3cc2351ab11b' FAKE_IMAGE_ID = 'e9aa60c60128' @@ -271,6 +271,11 @@ def post_fake_restart_container(): return status_code, response +def post_fake_rename_container(): + status_code = 204 + return status_code, None + + def delete_fake_remove_container(): status_code = 200 response = {'Id': FAKE_CONTAINER_ID} @@ -348,6 +353,8 @@ fake_responses = { post_fake_resize_container, '{1}/{0}/containers/3cc2351ab11b/json'.format(CURRENT_VERSION, prefix): get_fake_inspect_container, + '{1}/{0}/containers/3cc2351ab11b/rename'.format(CURRENT_VERSION, prefix): + post_fake_rename_container, '{1}/{0}/images/e9aa60c60128/tag'.format(CURRENT_VERSION, prefix): post_fake_tag_image, '{1}/{0}/containers/3cc2351ab11b/wait'.format(CURRENT_VERSION, prefix): diff --git a/tests/integration_test.py b/tests/integration_test.py index 32f32a0..46b630e 100644 --- a/tests/integration_test.py +++ b/tests/integration_test.py @@ -322,6 +322,18 @@ class TestCreateContainerWithName(BaseTestCase): self.assertEqual('/foobar', inspect['Name']) +class TestRenameContainer(BaseTestCase): + def runTest(self): + name = 'hong_meiling' + res = self.client.create_container('busybox', 'true') + self.assertIn('Id', res) + self.tmp_containers.append(res['Id']) + self.client.rename(res, name) + inspect = self.client.inspect_container(res['Id']) + self.assertIn('Name', inspect) + self.assertEqual(name, inspect['Name']) + + class TestStartContainer(BaseTestCase): def runTest(self): res = self.client.create_container('busybox', 'true') diff --git a/tests/test.py b/tests/test.py index 7ada2a9..5c8f6ea 100644 --- a/tests/test.py +++ b/tests/test.py @@ -1256,6 +1256,21 @@ class DockerClientTest(Cleanup, unittest.TestCase): timeout=docker.client.DEFAULT_TIMEOUT_SECONDS ) + def test_rename_container(self): + try: + self.client.rename( + {'Id': fake_api.FAKE_CONTAINER_ID}, + name='foobar' + ) + except Exception as e: + self.fail('Command shold not raise exception: {0}'.format(e)) + + fake_request.assert_called_with( + url_prefix + 'containers/3cc2351ab11b/rename', + params={'name': 'foobar'}, + timeout=docker.client.DEFAULT_TIMEOUT_SECONDS + ) + def test_wait(self): try: self.client.wait(fake_api.FAKE_CONTAINER_ID) |