Barry Warsaw pushed to branch click-cli at mailman / Mailman Core

Commits:
66dfa1a1 by Barry Warsaw at 2017-07-18T08:39:34-04:00
Boost coverage.

Remove the debugging `locale` test.

- - - - -


3 changed files:

- .gitlab-ci.yml
- src/mailman/commands/tests/test_cli_control.py
- tox.ini


Changes:

=====================================
.gitlab-ci.yml
=====================================
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,11 +12,6 @@ variables:
   MYSQL_DATABASE: "test_mailman"
   LC_ALL: "C.UTF-8"
 
-locale:
-  script:
-  - printenv
-  - locale
-
 qa:
   script:
   - tox -e qa


=====================================
src/mailman/commands/tests/test_cli_control.py
=====================================
--- a/src/mailman/commands/tests/test_cli_control.py
+++ b/src/mailman/commands/tests/test_cli_control.py
@@ -29,7 +29,8 @@ from click.testing import CliRunner
 from contextlib import ExitStack, suppress
 from datetime import datetime, timedelta
 from flufl.lock import SEP
-from mailman.commands.cli_control import start
+from mailman.bin.master import WatcherState
+from mailman.commands.cli_control import reopen, restart, start
 from mailman.config import config
 from mailman.testing.helpers import configuration
 from mailman.testing.layers import ConfigLayer
@@ -159,9 +160,7 @@ def kill_with_extreme_prejudice(pid_or_pidfile=None):
             print('WARNING: SIGKILL DID NOT EXIT PROCESS!', file=sys.stderr)
 
 
-class TestBinDir(unittest.TestCase):
-    """Test issues related to bin_dir, e.g. issue #3"""
-
+class TestControl(unittest.TestCase):
     layer = ConfigLayer
     maxDiff = None
 
@@ -252,3 +251,45 @@ class TestBinDir(unittest.TestCase):
         self.assertEqual(len(self._execl.call_args_list), 1)
         posargs, kws = self._execl.call_args_list[0]
         self.assertIn('--force', posargs)
+
+
+class TestControlSimple(unittest.TestCase):
+    layer = ConfigLayer
+    maxDiff = None
+
+    def setUp(self):
+        self._command = CliRunner()
+
+    def test_watcher_state_conflict(self):
+        with patch('mailman.commands.cli_control.master_state',
+                   return_value=(WatcherState.conflict, object())):
+            results = self._command.invoke(start)
+            self.assertEqual(results.exit_code, 2)
+            self.assertEqual(
+                results.output,
+                'Usage: start [OPTIONS]\n\n'
+                'Error: GNU Mailman is already running\n')
+
+    def test_reopen(self):
+        with patch('mailman.commands.cli_control.kill_watcher') as mock:
+            result = self._command.invoke(reopen)
+        mock.assert_called_once_with(signal.SIGHUP)
+        self.assertEqual(result.output, 'Reopening the Mailman runners\n')
+
+    def test_reopen_quiet(self):
+        with patch('mailman.commands.cli_control.kill_watcher') as mock:
+            result = self._command.invoke(reopen, ('--quiet',))
+        mock.assert_called_once_with(signal.SIGHUP)
+        self.assertEqual(result.output, '')
+
+    def test_restart(self):
+        with patch('mailman.commands.cli_control.kill_watcher') as mock:
+            result = self._command.invoke(restart)
+        mock.assert_called_once_with(signal.SIGUSR1)
+        self.assertEqual(result.output, 'Restarting the Mailman runners\n')
+
+    def test_restart_quiet(self):
+        with patch('mailman.commands.cli_control.kill_watcher') as mock:
+            result = self._command.invoke(restart, ('--quiet',))
+        mock.assert_called_once_with(signal.SIGUSR1)
+        self.assertEqual(result.output, '')


=====================================
tox.ini
=====================================
--- a/tox.ini
+++ b/tox.ini
@@ -10,7 +10,7 @@ commands =
     cov,diffcov: python -m coverage combine {[coverage]rc}
     cov: python -m coverage html {[coverage]rc}
     cov: python -m coverage report -m {[coverage]rc} --fail-under=93
-    diffcov: python -m coverage xml -i {[coverage]rc}
+    diffcov: python -m coverage xml {[coverage]rc}
     diffcov: diff-cover coverage.xml --html-report diffcov.html
     diffcov: diff-cover coverage.xml --fail-under=100
 #sitepackages = True



View it on GitLab: 
https://gitlab.com/mailman/mailman/commit/66dfa1a1479fc6c0fcddaeeb3e9e68274af71172

---
View it on GitLab: 
https://gitlab.com/mailman/mailman/commit/66dfa1a1479fc6c0fcddaeeb3e9e68274af71172
You're receiving this email because of your account on gitlab.com.
_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to