matrix tests: Add test for sample config generation.
This commit is contained in:
		
							parent
							
								
									c692c4712a
								
							
						
					
					
						commit
						e693c25abc
					
				
					 1 changed files with 39 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -2,12 +2,40 @@ from unittest import TestCase
 | 
			
		|||
from subprocess import Popen, PIPE
 | 
			
		||||
import os
 | 
			
		||||
 | 
			
		||||
import shutil
 | 
			
		||||
 | 
			
		||||
from contextlib import contextmanager
 | 
			
		||||
from tempfile import mkdtemp
 | 
			
		||||
 | 
			
		||||
script_file = "matrix_bridge.py"
 | 
			
		||||
script_dir = os.path.dirname(__file__)
 | 
			
		||||
script = os.path.join(script_dir, script_file)
 | 
			
		||||
 | 
			
		||||
from typing import List
 | 
			
		||||
from typing import List, Iterator
 | 
			
		||||
 | 
			
		||||
sample_config_path = "matrix_test.conf"
 | 
			
		||||
 | 
			
		||||
sample_config_text = """[matrix]
 | 
			
		||||
host = https://matrix.org
 | 
			
		||||
username = username
 | 
			
		||||
password = password
 | 
			
		||||
room_id = #zulip:matrix.org
 | 
			
		||||
 | 
			
		||||
[zulip]
 | 
			
		||||
email = glitch-bot@chat.zulip.org
 | 
			
		||||
api_key = aPiKeY
 | 
			
		||||
site = https://chat.zulip.org
 | 
			
		||||
stream = test here
 | 
			
		||||
topic = matrix
 | 
			
		||||
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
@contextmanager
 | 
			
		||||
def new_temp_dir():
 | 
			
		||||
    # type: () -> Iterator[str]
 | 
			
		||||
    path = mkdtemp()
 | 
			
		||||
    yield path
 | 
			
		||||
    shutil.rmtree(path)
 | 
			
		||||
 | 
			
		||||
class MatrixBridgeTests(TestCase):
 | 
			
		||||
    def output_from_script(self, options):
 | 
			
		||||
| 
						 | 
				
			
			@ -38,3 +66,13 @@ class MatrixBridgeTests(TestCase):
 | 
			
		|||
        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])
 | 
			
		||||
 | 
			
		||||
    def test_write_sample_config(self):
 | 
			
		||||
        # type: () -> None
 | 
			
		||||
        with new_temp_dir() as tempdir:
 | 
			
		||||
            path = os.path.join(tempdir, sample_config_path)
 | 
			
		||||
            output_lines = self.output_from_script(["--write-sample-config", path])
 | 
			
		||||
            self.assertEqual(output_lines, ["Wrote sample configuration to '{}'".format(path)])
 | 
			
		||||
 | 
			
		||||
            with open(path) as sample_file:
 | 
			
		||||
                self.assertEqual(sample_file.read(), sample_config_text)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue