matrix tests: Add minimal help test for no-args and with -h.
This commit is contained in:
parent
6d8ac7c3c0
commit
fd66eb61c7
35
zulip/integrations/matrix/test_matrix.py
Normal file
35
zulip/integrations/matrix/test_matrix.py
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
from unittest import TestCase
|
||||||
|
from subprocess import Popen, PIPE
|
||||||
|
import os
|
||||||
|
|
||||||
|
script_file = "matrix_bridge.py"
|
||||||
|
script_dir = os.path.dirname(__file__)
|
||||||
|
script = os.path.join(script_dir, script_file)
|
||||||
|
|
||||||
|
|
||||||
|
class MatrixBridgeTests(TestCase):
|
||||||
|
def test_no_args(self):
|
||||||
|
# type: () -> None
|
||||||
|
popen = Popen(["python", script], stdin=PIPE, stdout=PIPE, universal_newlines=True)
|
||||||
|
output_lines = popen.communicate()[0].strip().split("\n")
|
||||||
|
expected_lines = [
|
||||||
|
"Options required: -c or --config to run, OR --write-sample-config.",
|
||||||
|
"usage: {} [-h]".format(script_file)
|
||||||
|
]
|
||||||
|
for expected, output in zip(expected_lines, output_lines):
|
||||||
|
self.assertIn(expected, output)
|
||||||
|
|
||||||
|
def test_help_usage_and_description(self):
|
||||||
|
# type: () -> None
|
||||||
|
popen = Popen(["python", script] + ["-h"], stdin=PIPE, stdout=PIPE, universal_newlines=True)
|
||||||
|
output_lines = popen.communicate()[0].strip().split("\n")
|
||||||
|
usage = "usage: {} [-h]".format(script_file)
|
||||||
|
description = "Script to bridge"
|
||||||
|
self.assertIn(usage, output_lines[0])
|
||||||
|
blank_lines = [num for num, line in enumerate(output_lines) if line == '']
|
||||||
|
# There should be blank lines in the output
|
||||||
|
self.assertTrue(blank_lines)
|
||||||
|
# There should be finite output
|
||||||
|
self.assertTrue(len(output_lines) > blank_lines[0])
|
||||||
|
# Minimal description should be in the first line of the 2nd "paragraph"
|
||||||
|
self.assertIn(description, output_lines[blank_lines[0] + 1])
|
Loading…
Reference in a new issue