SLA and Service Directory code added
[unfold.git] / sla / slaclient / tests / testconverters.py
1 # -*- coding: utf-8 -*-
2
3 from unittest import TestCase
4 from pprint import pprint
5 import json
6
7 from slaclient import wsag_model
8 from slaclient import xmlconverter
9
10
11 class AgreementAnnotatorTestCase(TestCase):
12
13     def setUp(self):
14         self.violation = """
15             <violation>
16                 <uuid>ce0e148f-dfac-4492-bb26-ad2e9a6965ec</uuid>
17                 <contract_uuid>agreement04</contract_uuid>
18                 <service_scope></service_scope>
19                 <metric_name>Performance</metric_name>
20                 <datetime>2014-01-14T11:28:22Z</datetime>
21                 <actual_value>0.09555700123360344</actual_value>
22             </violation>"""
23
24         self.provider = """
25             <provider>
26                 <uuid>1ad9acb9-8dbc-4fe6-9a0b-4244ab6455da</uuid>
27                 <name>Provider2</name>
28             </provider> """
29
30         self.list = """
31             <collection href="/providers">
32                 <items offset="0" total="2">
33                     <provider>
34                         <uuid>1ad9acb9-8dbc-4fe6-9a0b-4244ab6455da</uuid>
35                         <name>Provider1</name>
36                     </provider>
37                     <provider>
38                         <uuid>2ad9acb9-8dbc-4fe6-9a0b-4244ab6455da</uuid>
39                         <name>Provider2</name>
40                     </provider>
41                 </items>
42             </collection>"""
43
44         self.agreement_status = """
45             {
46                 "AgreementId":"agreement03",
47                 "guaranteestatus":"VIOLATED",
48                 "guaranteeterms":
49                     [
50                         {"name":"GT_ResponseTime","status":"FULFILLED"},
51                         {"name":"GT_Performance","status":"VIOLATED"}
52                     ]
53             }"""
54
55     def test_agreement(self):
56         conv = xmlconverter.AgreementConverter()
57
58         out = xmlconverter.convertfile(conv, "slagui/testing/agreement.xml")
59         """:type : Agreement"""
60
61         #pprint(out)
62
63     def test_provider(self):
64         conv = xmlconverter.ProviderConverter()
65         out = xmlconverter.convertstring(conv, self.provider)
66         #pprint(out)
67
68     def test_violation(self):
69         conv = xmlconverter.ViolationConverter()
70         out = xmlconverter.convertstring(conv, self.violation)
71         #pprint(out)
72
73     def test_list(self):
74         conv = xmlconverter.ListConverter(xmlconverter.ProviderConverter())
75         out = xmlconverter.convertstring(conv, self.list)
76         #pprint(out)
77
78     def test_agreement_status_decode(self):
79         json_obj = json.loads(self.agreement_status)
80         out = wsag_model.AgreementStatus.json_decode(json_obj)
81         #pprint(out)