1 from tests.test_basics import BasicTest
6 from click.testing import CliRunner
7 from motion import create_user
11 def db_select2(self, sql, parameter, parameter2):
12 with self.open_DB() as db:
13 rv = db.prepare(sql)(parameter, parameter2)
16 class GeneralTests(BasicTest):
26 def test_create_user(self):
28 host= app.config.get("DEFAULT_HOST")
29 runner = app.test_cli_runner()
30 result = runner.invoke(create_user, (user, host))
31 assert result.exit_code == 0
32 self.assertIn("User 'John Doe' inserted to %s." % host, result.output)
34 rv = db_select2(self,"SELECT email FROM voter WHERE lower(email)=lower($1) AND host=$2", user, host)
35 self.assertIn(user, rv[0].get("email"))
37 result = runner.invoke(create_user, (user, host))
38 assert result.exit_code == 0
39 self.assertIn("User 'John Doe' already exists on %s." % host, result.output)
41 # test with second host
42 host= '127.0.0.1:5001'
43 runner = app.test_cli_runner()
44 result = runner.invoke(create_user, (user, host))
45 assert result.exit_code == 0
46 self.assertIn("User 'John Doe' inserted to 127.0.0.1:5001.", result.output)
48 rv = db_select2(self,"SELECT email FROM voter WHERE lower(email)=lower($1) AND host=$2", user, host)
49 self.assertIn(user, rv[0].get("email"))
51 result = runner.invoke(create_user, (user, host))
52 assert result.exit_code == 0
53 self.assertIn("User 'John Doe' already exists on 127.0.0.1:5001.", result.output)