Add keystone tests 79/49679/1
authorMohamedAssem <rfawzy.ext@orange.com>
Wed, 27 Dec 2017 09:45:11 +0000 (11:45 +0200)
committerMohamedAssem <rfawzy.ext@orange.com>
Wed, 27 Dec 2017 09:45:11 +0000 (11:45 +0200)
Change-Id: I0d98547d201e5b7b2b9a240e9e70bc1a9cd29a38
Signed-off-by: MohamedAssem <rfawzy.ext@orange.com>
python_moondb/tests/unit_python/mock_keystone.py
python_moondb/tests/unit_python/test_keystone.py [new file with mode: 0644]

index c0b26b8..3f26253 100644 (file)
@@ -20,4 +20,14 @@ def register_keystone(m):
         json={"users": [{
             "id": "1111111111111"
         }]}
-    )
\ No newline at end of file
+    )
+    m.register_uri(
+        'POST', 'http://keystone:5000/v3/projects/',
+        json={
+            "description": "test_project",
+            "domain_id": ['domain_id_1'],
+            "enabled": True,
+            "is_domain": False,
+            "name": 'project_1'
+        }
+    )
diff --git a/python_moondb/tests/unit_python/test_keystone.py b/python_moondb/tests/unit_python/test_keystone.py
new file mode 100644 (file)
index 0000000..134bec0
--- /dev/null
@@ -0,0 +1,53 @@
+import pytest
+
+
+def create_project(tenant_dict):
+    from python_moondb.core import KeystoneManager
+    return KeystoneManager.create_project(tenant_dict)
+
+
+def list_projects():
+    from python_moondb.core import KeystoneManager
+    return KeystoneManager.list_projects()
+
+
+def create_user(subject_dict):
+    from python_moondb.core import KeystoneManager
+    return KeystoneManager.create_user(subject_dict)
+
+
+def test_create_project():
+    tenant_dict = {
+        "description": "test_project",
+        "domain_id": ['domain_id_1'],
+        "enabled": True,
+        "is_domain": False,
+        "name": 'project_1'
+    }
+    project = create_project(tenant_dict)
+    assert project
+    assert project.get('name') == tenant_dict.get('name')
+
+
+def test_create_project_without_name():
+    tenant_dict = {
+        "description": "test_project",
+        "domain_id": ['domain_id_1'],
+        "enabled": True,
+        "is_domain": False,
+    }
+    with pytest.raises(Exception) as exception_info:
+        create_project(tenant_dict)
+    assert '400: Keystone project error' == str(exception_info.value)
+
+
+def test_create_user():
+    subject_dict = {
+        "password": "password",
+        "domain_id": ['domain_id_1'],
+        "enabled": True,
+        "project": 'test_project',
+        "name": 'user_id_1'
+    }
+    user = create_user(subject_dict)
+    assert user