|
@@ -84,6 +84,7 @@ class CLITestCase(DockerClientTestCase):
|
|
|
self.command.dispatch(['build', '--no-cache', 'simple'], None)
|
|
|
output = mock_stdout.getvalue()
|
|
|
self.assertNotIn(cache_indicator, output)
|
|
|
+
|
|
|
def test_up(self):
|
|
|
self.command.dispatch(['up', '-d'], None)
|
|
|
service = self.project.get_service('simple')
|
|
@@ -244,6 +245,40 @@ class CLITestCase(DockerClientTestCase):
|
|
|
self.command.dispatch(['rm', '--force'], None)
|
|
|
self.assertEqual(len(service.containers(stopped=True)), 0)
|
|
|
|
|
|
+ def test_kill(self):
|
|
|
+ self.command.dispatch(['up', '-d'], None)
|
|
|
+ service = self.project.get_service('simple')
|
|
|
+ self.assertEqual(len(service.containers()), 1)
|
|
|
+ self.assertTrue(service.containers()[0].is_running)
|
|
|
+
|
|
|
+ self.command.dispatch(['kill'], None)
|
|
|
+
|
|
|
+ self.assertEqual(len(service.containers(stopped=True)), 1)
|
|
|
+ self.assertFalse(service.containers(stopped=True)[0].is_running)
|
|
|
+
|
|
|
+ def test_kill_signal_sigint(self):
|
|
|
+ self.command.dispatch(['up', '-d'], None)
|
|
|
+ service = self.project.get_service('simple')
|
|
|
+ self.assertEqual(len(service.containers()), 1)
|
|
|
+ self.assertTrue(service.containers()[0].is_running)
|
|
|
+
|
|
|
+ self.command.dispatch(['kill', '-s', 'SIGINT'], None)
|
|
|
+
|
|
|
+ self.assertEqual(len(service.containers()), 1)
|
|
|
+ # The container is still running. It has been only interrupted
|
|
|
+ self.assertTrue(service.containers()[0].is_running)
|
|
|
+
|
|
|
+ def test_kill_interrupted_service(self):
|
|
|
+ self.command.dispatch(['up', '-d'], None)
|
|
|
+ service = self.project.get_service('simple')
|
|
|
+ self.command.dispatch(['kill', '-s', 'SIGINT'], None)
|
|
|
+ self.assertTrue(service.containers()[0].is_running)
|
|
|
+
|
|
|
+ self.command.dispatch(['kill', '-s', 'SIGKILL'], None)
|
|
|
+
|
|
|
+ self.assertEqual(len(service.containers(stopped=True)), 1)
|
|
|
+ self.assertFalse(service.containers(stopped=True)[0].is_running)
|
|
|
+
|
|
|
def test_restart(self):
|
|
|
service = self.project.get_service('simple')
|
|
|
container = service.create_container()
|