summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2015-02-10 12:43:56 -0800
committerJoffrey F <joffrey@docker.com>2015-02-10 12:55:44 -0800
commita7f7fbb0fdd1ad247c413170c354d08deb43dd32 (patch)
treeb2fae940cc7a74caa1c8345f991cd6314e7f4a50
parent35c4cbd9c49d70922802aa19cb57c302c9bc9d8b (diff)
downloaddocker-py-rename_container.tar.gz
rename() tests and docsrename_container
-rw-r--r--docs/api.md9
-rw-r--r--tests/fake_api.py9
-rw-r--r--tests/integration_test.py12
-rw-r--r--tests/test.py15
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)