cli_test.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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 test_help(self):
  10. self.assertRaises(SystemExit, lambda: self.command.dispatch(['-h'], None))
  11. def test_ps(self):
  12. self.command.dispatch(['ps'], None)
  13. def test_scale(self):
  14. project = self.command.project
  15. self.command.scale({'SERVICE=NUM': ['simple=1']})
  16. self.assertEqual(len(project.get_service('simple').containers()), 1)
  17. self.command.scale({'SERVICE=NUM': ['simple=3', 'another=2']})
  18. self.assertEqual(len(project.get_service('simple').containers()), 3)
  19. self.assertEqual(len(project.get_service('another').containers()), 2)
  20. self.command.scale({'SERVICE=NUM': ['simple=1', 'another=1']})
  21. self.assertEqual(len(project.get_service('simple').containers()), 1)
  22. self.assertEqual(len(project.get_service('another').containers()), 1)
  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=0', 'another=0']})
  27. self.assertEqual(len(project.get_service('simple').containers()), 0)
  28. self.assertEqual(len(project.get_service('another').containers()), 0)