SLA and Service Directory code added
[unfold.git] / sla / slaclient / service / fed4fire / tests / testservice.py
1 # -*- coding: utf-8 -*-\r
2 \r
3 import uuid\r
4 import json\r
5 \r
6 from unittest import TestCase\r
7 from slaclient.service.fed4fire import fed4fireservice\r
8 from slaclient import restclient\r
9 from slaclient.templates.fed4fire.django.factory import Factory as TemplateFactory\r
10 \r
11 \r
12 class Fed4FireServiceTestCase(TestCase):\r
13 \r
14     def setUp(self):\r
15         self.context = fed4fireservice.ServiceContext(\r
16             restclient.Factory("http://localhost:8080/sla-service"),\r
17             TemplateFactory()\r
18         )\r
19         self.provider_id = str(uuid.uuid4())\r
20         self.template_id = str(uuid.uuid4())\r
21         self.provider = {\r
22             "uuid": self.provider_id,\r
23             "name": "provider-" + self.provider_id[0:4]\r
24         }\r
25         self.template = {\r
26             "template_id": self.template_id,\r
27             "template_name": "template-name",\r
28             "provider": self.provider_id,\r
29             "service_id": "service-test",\r
30             "expiration_time": "2014-03-28T13:55:00Z",\r
31             "service_properties": [\r
32                 {"name": "uptime"},\r
33                 {"name": "responsetime"}\r
34             ]\r
35         }\r
36         self.agreement = {\r
37             "agreement_id": str(uuid.uuid4()),\r
38             "template_id": self.template_id,\r
39             "expiration_time": "2014-03-28T13:55:00Z",\r
40             "consumer": "consumer-a",\r
41             "guarantees": [\r
42                 {\r
43                     "name": "uptime",\r
44                     "bounds": ["0.9", "1"]\r
45                 }\r
46             ]\r
47         }\r
48 \r
49     def test(self):\r
50         self._test_provider()\r
51         self._test_template()\r
52         self._test_agreement()\r
53 \r
54     def _test_provider(self):\r
55         json_data = json.dumps(self.provider)\r
56         fed4fireservice.createprovider(json_data, self.context)\r
57 \r
58     def _test_template(self):\r
59         json_data = json.dumps(self.template)\r
60         fed4fireservice.createtemplate(json_data, self.context)\r
61 \r
62     def _test_agreement(self):\r
63         json_data = json.dumps(self.agreement)\r
64         fed4fireservice.createagreement(json_data, self.context)\r
65         \r
66 def main():\r
67         context = fed4fireservice.ServiceContext(\r
68             restclient.Factory(),\r
69             TemplateFactory()\r
70         )\r
71         provider_id = "trento"\r
72         template_id = "template_vm-Trento:193.205.211.xx"\r
73         provider = {\r
74             "uuid": provider_id,\r
75             "name": "provider-" + provider_id[0:4]\r
76         }\r
77         template = {\r
78             "template_id": template_id,\r
79             "template_name": "template-name",\r
80             "provider": provider_id,\r
81             "service_id": "service-test",\r
82             "expiration_time": "2014-03-28T13:55:00Z",\r
83             "service_properties": [\r
84                 {"name": "uptime"},\r
85                 {"name": "responsetime"}\r
86             ]\r
87         }\r
88         agreement = {\r
89             "agreement_id": str(uuid.uuid4()),\r
90             "template_id": template_id,\r
91             "expiration_time": "2014-03-28T13:55:00Z",\r
92             "consumer": "consumer-a",\r
93             # the provider id must be repeated\r
94             "provider": provider_id,\r
95             "guarantees": [\r
96                 {\r
97                     "name": "uptime",\r
98                     "bounds": ["0.9", "1"]\r
99                 }\r
100             ]\r
101         }\r
102     \r
103         json_data = json.dumps(agreement)\r
104         fed4fireservice.createagreement(json_data, context)\r
105 \r
106 \r
107 if __name__ == "__main__":\r
108     main()\r
109       \r
110         \r