cli_test.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from __future__ import unicode_literals
  2. from __future__ import absolute_import
  3. from . import unittest
  4. from fig.cli.main import TopLevelCommand
  5. class CLITestCase(unittest.TestCase):
  6. def setUp(self):
  7. self.command = TopLevelCommand()
  8. self.command.base_dir = 'tests/fixtures/simple-figfile'
  9. def tearDown(self):
  10. self.command.project.kill()
  11. self.command.project.remove_stopped()
  12. def test_help(self):
  13. self.assertRaises(SystemExit, lambda: self.command.dispatch(['-h'], None))
  14. def test_ps(self):
  15. self.command.dispatch(['ps'], None)
  16. def test_scale(self):
  17. project = self.command.project
  18. self.command.scale({'SERVICE=NUM': ['simple=1']})
  19. self.assertEqual(len(project.get_service('simple').containers()), 1)
  20. self.command.scale({'SERVICE=NUM': ['simple=3', 'another=2']})
  21. self.assertEqual(len(project.get_service('simple').containers()), 3)
  22. self.assertEqual(len(project.get_service('another').containers()), 2)
  23. self.command.scale({'SERVICE=NUM': ['simple=1', 'another=1']})
  24. self.assertEqual(len(project.get_service('simple').containers()), 1)
  25. self.assertEqual(len(project.get_service('another').containers()), 1)
  26. self.command.scale({'SERVICE=NUM': ['simple=1', 'another=1']})
  27. self.assertEqual(len(project.get_service('simple').containers()), 1)
  28. self.assertEqual(len(project.get_service('another').containers()), 1)
  29. self.command.scale({'SERVICE=NUM': ['simple=0', 'another=0']})
  30. self.assertEqual(len(project.get_service('simple').containers()), 0)
  31. self.assertEqual(len(project.get_service('another').containers()), 0)