]> WPIA git - motion.git/blobdiff - tests/test_user_api.py
add: adjust user handling per host
[motion.git] / tests / test_user_api.py
index 1bec464131e1e34529c11e1ce81e9d643e9ce6d6..f1819f8d36e6a8cfee5b3f6ad0ed9d18c7c2b370 100644 (file)
@@ -7,9 +7,10 @@ from click.testing import CliRunner
 from motion import create_user
 from motion import app
 
-def db_select(self, sql, parameter):
-    with postgresql.open(app.config.get("DATABASE"), user=app.config.get("USER"), password=app.config.get("PASSWORD")) as db:
-        rv = db.prepare(sql)(parameter)
+
+def db_select2(self, sql, parameter, parameter2):
+    with self.open_DB() as db:
+        rv = db.prepare(sql)(parameter, parameter2)
         return rv
 
 class GeneralTests(BasicTest):
@@ -24,14 +25,29 @@ class GeneralTests(BasicTest):
 
     def test_create_user(self):
         user = 'John Doe'
+        host= app.config.get("DEFAULT_HOST")
+        runner = app.test_cli_runner()
+        result = runner.invoke(create_user, (user, host))
+        assert result.exit_code == 0
+        self.assertIn("User 'John Doe' inserted to %s." % host, result.output)
+
+        rv = db_select2(self,"SELECT email FROM voter WHERE lower(email)=lower($1) AND host=$2", user, host)
+        self.assertIn(user, rv[0].get("email"))
+
+        result = runner.invoke(create_user, (user, host))
+        assert result.exit_code == 0
+        self.assertIn("User 'John Doe' already exists on %s." % host, result.output)
+
+        # test with second host
+        host= '127.0.0.1:5001'
         runner = app.test_cli_runner()
-        result = runner.invoke(create_user, [user])
+        result = runner.invoke(create_user, (user, host))
         assert result.exit_code == 0
-        self.assertIn("User 'John Doe' inserted.", result.output)
+        self.assertIn("User 'John Doe' inserted to 127.0.0.1:5001.", result.output)
 
-        rv = db_select(self,"SELECT email FROM voter WHERE lower(email)=lower($1)", user)
+        rv = db_select2(self,"SELECT email FROM voter WHERE lower(email)=lower($1) AND host=$2", user, host)
         self.assertIn(user, rv[0].get("email"))
 
-        result = runner.invoke(create_user, [user])
+        result = runner.invoke(create_user, (user, host))
         assert result.exit_code == 0
-        self.assertIn("User 'John Doe' already exists.", result.output)
+        self.assertIn("User 'John Doe' already exists on 127.0.0.1:5001.", result.output)