SLA and Service Directory code added
[myslice.git] / sla / slaclient / service / fed4fire / tests / testservice.py
diff --git a/sla/slaclient/service/fed4fire/tests/testservice.py b/sla/slaclient/service/fed4fire/tests/testservice.py
new file mode 100755 (executable)
index 0000000..58a24f2
--- /dev/null
@@ -0,0 +1,110 @@
+# -*- coding: utf-8 -*-\r
+\r
+import uuid\r
+import json\r
+\r
+from unittest import TestCase\r
+from slaclient.service.fed4fire import fed4fireservice\r
+from slaclient import restclient\r
+from slaclient.templates.fed4fire.django.factory import Factory as TemplateFactory\r
+\r
+\r
+class Fed4FireServiceTestCase(TestCase):\r
+\r
+    def setUp(self):\r
+        self.context = fed4fireservice.ServiceContext(\r
+            restclient.Factory("http://localhost:8080/sla-service"),\r
+            TemplateFactory()\r
+        )\r
+        self.provider_id = str(uuid.uuid4())\r
+        self.template_id = str(uuid.uuid4())\r
+        self.provider = {\r
+            "uuid": self.provider_id,\r
+            "name": "provider-" + self.provider_id[0:4]\r
+        }\r
+        self.template = {\r
+            "template_id": self.template_id,\r
+            "template_name": "template-name",\r
+            "provider": self.provider_id,\r
+            "service_id": "service-test",\r
+            "expiration_time": "2014-03-28T13:55:00Z",\r
+            "service_properties": [\r
+                {"name": "uptime"},\r
+                {"name": "responsetime"}\r
+            ]\r
+        }\r
+        self.agreement = {\r
+            "agreement_id": str(uuid.uuid4()),\r
+            "template_id": self.template_id,\r
+            "expiration_time": "2014-03-28T13:55:00Z",\r
+            "consumer": "consumer-a",\r
+            "guarantees": [\r
+                {\r
+                    "name": "uptime",\r
+                    "bounds": ["0.9", "1"]\r
+                }\r
+            ]\r
+        }\r
+\r
+    def test(self):\r
+        self._test_provider()\r
+        self._test_template()\r
+        self._test_agreement()\r
+\r
+    def _test_provider(self):\r
+        json_data = json.dumps(self.provider)\r
+        fed4fireservice.createprovider(json_data, self.context)\r
+\r
+    def _test_template(self):\r
+        json_data = json.dumps(self.template)\r
+        fed4fireservice.createtemplate(json_data, self.context)\r
+\r
+    def _test_agreement(self):\r
+        json_data = json.dumps(self.agreement)\r
+        fed4fireservice.createagreement(json_data, self.context)\r
+        \r
+def main():\r
+        context = fed4fireservice.ServiceContext(\r
+            restclient.Factory(),\r
+            TemplateFactory()\r
+        )\r
+        provider_id = "trento"\r
+        template_id = "template_vm-Trento:193.205.211.xx"\r
+        provider = {\r
+            "uuid": provider_id,\r
+            "name": "provider-" + provider_id[0:4]\r
+        }\r
+        template = {\r
+            "template_id": template_id,\r
+            "template_name": "template-name",\r
+            "provider": provider_id,\r
+            "service_id": "service-test",\r
+            "expiration_time": "2014-03-28T13:55:00Z",\r
+            "service_properties": [\r
+                {"name": "uptime"},\r
+                {"name": "responsetime"}\r
+            ]\r
+        }\r
+        agreement = {\r
+            "agreement_id": str(uuid.uuid4()),\r
+            "template_id": template_id,\r
+            "expiration_time": "2014-03-28T13:55:00Z",\r
+            "consumer": "consumer-a",\r
+            # the provider id must be repeated\r
+            "provider": provider_id,\r
+            "guarantees": [\r
+                {\r
+                    "name": "uptime",\r
+                    "bounds": ["0.9", "1"]\r
+                }\r
+            ]\r
+        }\r
+    \r
+        json_data = json.dumps(agreement)\r
+        fed4fireservice.createagreement(json_data, context)\r
+\r
+\r
+if __name__ == "__main__":\r
+    main()\r
+      \r
+        \r