aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-06-18 02:31:49 +0000
committerGerrit Code Review <review@openstack.org>2016-06-18 02:31:49 +0000
commitc6cd15d55c36897f37a22b2f243fffdac6cd7234 (patch)
tree88ee250bf50c478e718d457870f5c0eee7739533 /tests
parentddb6e339458d82c74f1904cec777e07402d09b1a (diff)
parent0e459bb6d3dc858e3c10bc5a7850b2093f62860c (diff)
downloadkolla-c6cd15d55c36897f37a22b2f243fffdac6cd7234.tar.gz
kolla-c6cd15d55c36897f37a22b2f243fffdac6cd7234.zip
Merge "Added unit test for start container"
Diffstat (limited to 'tests')
-rw-r--r--tests/test_kolla_docker.py71
1 files changed, 60 insertions, 11 deletions
diff --git a/tests/test_kolla_docker.py b/tests/test_kolla_docker.py
index 0b2501646..8acba9a38 100644
--- a/tests/test_kolla_docker.py
+++ b/tests/test_kolla_docker.py
@@ -162,31 +162,80 @@ class TestContainer(base.BaseTestCase):
def setUp(self):
super(TestContainer, self).setUp()
+ self.fake_data = copy.deepcopy(FAKE_DATA)
def test_create_container(self):
- self.dw = get_DockerWorker(FAKE_DATA['params'])
+ self.dw = get_DockerWorker(self.fake_data['params'])
self.dw.dc.create_host_config = mock.MagicMock(
- return_value=FAKE_DATA['params']['host_config'])
+ return_value=self.fake_data['params']['host_config'])
self.dw.create_container()
self.assertTrue(self.dw.changed)
self.dw.dc.create_container.assert_called_once_with(
- **FAKE_DATA['params'])
+ **self.fake_data['params'])
def test_start_container_without_pull(self):
- FAKE_DATA['params'].update({'auth_username': 'fake_user',
- 'auth_password': 'fake_psw',
- 'auth_registry': 'myrepo/myapp',
- 'auth_email': 'fake_mail@foogle.com'})
- self.dw = get_DockerWorker(FAKE_DATA['params'])
- self.dw.dc.images = mock.MagicMock(return_value=FAKE_DATA['images'])
+ self.fake_data['params'].update({'auth_username': 'fake_user',
+ 'auth_password': 'fake_psw',
+ 'auth_registry': 'myrepo/myapp',
+ 'auth_email': 'fake_mail@foogle.com'})
+ self.dw = get_DockerWorker(self.fake_data['params'])
+ self.dw.dc.images = mock.MagicMock(
+ return_value=self.fake_data['images'])
self.dw.dc.containers = mock.MagicMock(params={'all': 'True'})
- new_container = copy.deepcopy(FAKE_DATA['containers'])
+ new_container = copy.deepcopy(self.fake_data['containers'])
new_container.append({'Names': '/test_container',
'Status': 'Up 2 seconds'})
- self.dw.dc.containers.side_effect = [FAKE_DATA['containers'],
+ self.dw.dc.containers.side_effect = [self.fake_data['containers'],
new_container]
self.dw.check_container_differs = mock.MagicMock(return_value=False)
self.dw.create_container = mock.MagicMock()
self.dw.start_container()
self.assertFalse(self.dw.changed)
self.dw.create_container.assert_called_once_with()
+
+ def test_start_container_with_duplicate_name(self):
+ self.fake_data['params'].update({'name': 'my_container',
+ 'auth_username': 'fake_user',
+ 'auth_password': 'fake_psw',
+ 'auth_registry': 'myrepo/myapp',
+ 'auth_email': 'fake_mail@foogle.com'})
+ self.dw = get_DockerWorker(self.fake_data['params'])
+ self.dw.dc.images = mock.MagicMock(
+ return_value=self.fake_data['images'])
+ self.dw.dc.containers = mock.MagicMock(params={'all': 'True'})
+ updated_cont_list = copy.deepcopy(self.fake_data['containers'])
+ updated_cont_list.pop(0)
+ self.dw.dc.containers.side_effect = [self.fake_data['containers'],
+ self.fake_data['containers'],
+ updated_cont_list,
+ self.fake_data['containers']
+ ]
+ self.dw.check_container_differs = mock.MagicMock(return_value=True)
+ self.dw.dc.remove_container = mock.MagicMock()
+ self.dw.create_container = mock.MagicMock()
+ self.dw.start_container()
+ self.assertTrue(self.dw.changed)
+ self.dw.dc.remove_container.assert_called_once_with(
+ container=self.fake_data['params'].get('name'),
+ force=True)
+ self.dw.create_container.assert_called_once_with()
+
+ def test_start_container(self):
+ self.fake_data['params'].update({'name': 'my_container',
+ 'auth_username': 'fake_user',
+ 'auth_password': 'fake_psw',
+ 'auth_registry': 'myrepo/myapp',
+ 'auth_email': 'fake_mail@foogle.com'})
+ self.dw = get_DockerWorker(self.fake_data['params'])
+ self.dw.dc.images = mock.MagicMock(
+ return_value=self.fake_data['images'])
+ self.fake_data['containers'][0].update(
+ {'Status': 'Exited 2 days ago'})
+ self.dw.dc.containers = mock.MagicMock(
+ return_value=self.fake_data['containers'])
+ self.dw.check_container_differs = mock.MagicMock(return_value=False)
+ self.dw.dc.start = mock.MagicMock()
+ self.dw.start_container()
+ self.assertTrue(self.dw.changed)
+ self.dw.dc.start.assert_called_once_with(
+ container=self.fake_data["params"].get('name'))