Statistics
| Branch: | Tag: | Revision:

root / test / createrelease.py @ 5c4f5b13

History | View | Annotate | Download (4.9 kB)

1
from config import QHTestCase
2
from config import run_test_case
3
from config import rand_string
4
from config import printf
5
import os
6

    
7
#def create_entity      OK
8
#def set_entity_key     OK
9
#def list_entities      OK
10
#def get_entity         OK 
11
#def get_limits         LOVERDOS
12
#def set_limits         LOVERDOS
13
#def release_entity     OK
14
#def get_holding
15
#def set_holding
16
#def list_resources     
17
#def get_quota
18
#def set_quota
19
#def issue_commission
20
#def accept_commission
21
#def reject_commission
22
#def get_pending_commissions
23
#def resolve_pending_commissions
24
#def get_timeline
25

    
26
class Context(object): 
27
        entityName = rand_string()
28
        entityKey = "key1" 
29
        parentName = "pgerakios"
30
        parentKey = "key1"
31

    
32
class create_release(object):
33

    
34
    def __init__(self, f):
35
        """
36
        If there are no decorator arguments, the function
37
        to be decorated is passed to the constructor.
38
        """
39
        print "Inside __init__()"
40
        self.f = f
41

    
42
    def __call__(self, *args):
43
        """
44
        The __call__ method is not called until the
45
        decorated function is called.
46
        """
47
        print "Inside __call__()"
48
        self.f(*args)
49
        print "After self.f(*args)"
50

    
51

    
52
class CreateReleaseListAPITest(QHTestCase):
53

    
54
    entityName = rand_string()
55
    entityKey = "key1" 
56
    parentName = "pgerakios"
57
    parentKey = "key1"
58

    
59
    def createEntity(self):
60
        printf("Creating entity: {0}", self.entityName)
61
        rejected = self.qh.create_entity(context={},
62
                                        create_entity=[(self.entityName,
63
                                                        self.parentName,
64
                                                        self.entityKey,
65
                                                        self.parentKey)])
66
        self.assertEqual(rejected,[])
67

    
68
    def releaseEntity(self):        
69
        printf("Releasing entity: {0}", self.entityName)
70
        rejected = self.qh.release_entity(context={},release_entity=[(self.entityName,
71
                                                                      self.entityKey)])
72
        self.assertEqual(rejected,[])
73

    
74
    def checkEntityList(self,exists):
75
        entityList = self.qh.list_entities(context={},entity=self.parentName,key=self.parentKey)
76
        if(exists):
77
            self.assertTrue(self.entityName in entityList)
78
        else:
79
            self.assertFalse(self.entityName in entityList)
80

    
81
    def setNewEntityKey(self):
82
         entityKey2 = rand_string()
83
         rejected = self.qh.set_entity_key(context={},set_entity_key=[(self.entityName,
84
                                                                       self.entityKey,
85
                                                                       entityKey2)])
86
         self.assertEqual(rejected,[])
87
         self.entityKey = entityKey2
88
           
89
    def checkGetEntity(self,exists):
90
        entityList = self.qh.get_entity(context={},get_entity=[(self.entityName,
91
                                                                self.entityKey)])
92
        if(exists):
93
            self.assertEqual([(self.entityName,self.entityKey)],entityList)
94
        else:
95
            self.assertEqual(entityList,[])
96

    
97
    def listResources(self,expected):
98
        resList = self.qh.list_resources(context={},entity=self.entityName,key=self.entityKey)
99
        self.assertEqual(expected,resList)
100

    
101
    def setQuota(self,r,q,c,i,e,f):
102
        rejected = self.qh.set_quota(context={},set_quota=[(self.entityName,r,self.entityKey,q,c,i,e,f)])
103
        self.assertEqual(rejected,[])
104
        resList = self.qh.get_quota(context={},get_quota=[(self.entityName,r,self.entityKey)])
105
        (e0,r1,q1,c1,i1,e1,t0,t1,t2,t3,f1),tail = resList[0],resList[1:]
106
        self.assertEqual(tail,[])
107
        self.assertEqual((self.entityName,r,q,c,i,e,f),
108
                         (e0,r1,q1,c1,i1,e1,f1))
109
                                    
110
    def setUp(self):
111
        super(CreateReleaseListAPITest,self).setUp()
112
        self.parentName = "pgerakios"
113
        self.parentKey = "key1"
114

    
115

    
116

    
117
    #BUG: max empty name <= 72 
118
    def test_001(self):
119
        self.createEntity()
120
        self.releaseEntity()
121

    
122
    # Test create, list and release
123
    def test_002(self):
124
        self.checkEntityList(False)
125
        self.createEntity()
126
        self.checkEntityList(True)
127
        self.releaseEntity()
128
        self.checkEntityList(False)
129

    
130

    
131
    # Test create,set key and release
132
    def test_003(self):
133
        self.createEntity()
134
        self.setNewEntityKey()
135
        self.setNewEntityKey()
136
        self.releaseEntity()
137

    
138
    # test get_entity
139
    def test_004(self):
140
        self.checkGetEntity(False)
141
        self.createEntity()
142
        self.checkGetEntity(True)
143
        self.releaseEntity()
144
        self.checkGetEntity(False)
145

    
146
    def test_005(self):
147
        self.createEntity()
148
        self.setQuota("res1",10,100,10,10,0)
149
#        self.listResources([])
150
        self.releaseEntity()
151

    
152
if __name__ == "__main__":
153
    import sys
154
    printf("Using {0}", sys.executable)
155
    run_test_case(CreateReleaseListAPITest)