add models unittest for moon_manager 29/50029/1
authorMohamedAssem <mmagraby.ext@orange.com>
Thu, 4 Jan 2018 10:46:35 +0000 (12:46 +0200)
committerMohamedAssem <mmagraby.ext@orange.com>
Thu, 4 Jan 2018 10:46:35 +0000 (12:46 +0200)
Change-Id: Ib16fe84d52a447619cd21c94d4baca9dbf787a89
Signed-off-by: MohamedAssem <mmagraby.ext@orange.com>
moon_manager/tests/unit_python/api/test_models.py [new file with mode: 0644]

diff --git a/moon_manager/tests/unit_python/api/test_models.py b/moon_manager/tests/unit_python/api/test_models.py
new file mode 100644 (file)
index 0000000..3c205d1
--- /dev/null
@@ -0,0 +1,67 @@
+import json
+import api.utilities as utilities
+
+
+def get_models(client):
+    req = client.get("/models")
+    models = utilities.get_json(req.data)
+    return req, models
+
+
+def add_models(client, name):
+    data = {
+        "name": name,
+        "description": "description of {}".format(name),
+        "meta_rules": ["meta_rule_id1", "meta_rule_id2"]
+    }
+    req = client.post("/models", data=json.dumps(data),
+                      headers={'Content-Type': 'application/json'})
+    models = utilities.get_json(req.data)
+    return req, models
+
+
+def delete_models(client, name):
+    request, models = get_models(client)
+    for key, value in models['models'].items():
+        if value['name'] == name:
+            req = client.delete("/models/{}".format(key))
+            break
+    return req
+
+
+def delete_models_without_id(client):
+    req = client.delete("/models/{}".format(""))
+    return req
+
+
+def test_get_models():
+    client = utilities.register_client()
+    req, models= get_models(client)
+    assert req.status_code == 200
+    assert isinstance(models, dict)
+    assert "models" in models
+
+
+def test_add_models():
+    client = utilities.register_client()
+    req, models = add_models(client, "testuser")
+    assert req.status_code == 200
+    assert isinstance(models, dict)
+    value = list(models["models"].values())[0]
+    assert "models" in models
+    assert value['name'] == "testuser"
+    assert value["description"] == "description of {}".format("testuser")
+    assert value["meta_rules"][0] == "meta_rule_id1"
+
+
+def test_delete_models():
+    client = utilities.register_client()
+    req = delete_models(client, "testuser")
+    assert req.status_code == 200
+
+
+def test_delete_models_without_id():
+    client = utilities.register_client()
+    req = delete_models_without_id(client)
+    assert req.status_code == 500
+