78 # |
78 # |
79 # |
79 # |
80 |
80 |
81 class MockResultSession(ccm.AbstractSession): |
81 class MockResultSession(ccm.AbstractSession): |
82 """ Fake session used to test Result""" |
82 """ Fake session used to test Result""" |
83 def __init__(self, behave = {}, database="fakedb"): |
83 def __init__(self, behave=None, database="fakedb"): |
|
84 if behave == None: |
|
85 behave = {} |
84 ccm.AbstractSession.__init__(self, None, None, None, None) |
86 ccm.AbstractSession.__init__(self, None, None, None, None) |
85 self._behave = behave |
87 self._behave = behave |
86 self._database = database |
88 self._database = database |
87 |
89 |
88 def database(self): |
90 def database(self): |
99 result.output = self._behave[cmdline] |
101 result.output = self._behave[cmdline] |
100 else: |
102 else: |
101 result.status = -1 |
103 result.status = -1 |
102 return result |
104 return result |
103 |
105 |
|
106 |
104 class CCMObjectTest(unittest.TestCase): |
107 class CCMObjectTest(unittest.TestCase): |
105 """ Unit test case for CCMObject functionality """ |
108 """ Unit test case for CCMObject functionality """ |
106 def test_get_baseline(self): |
109 def test_get_baseline(self): |
107 """test get baseline""" |
110 """test get baseline""" |
108 behave = {'up -show baseline_project "foo-1.0:project:db#1" -f "%displayname" -u': """foo-1.0:project:db#1 does not have a baseline project. |
111 behave = {'up -show baseline_project "foo-1.0:project:db#1" -f "%displayname" -u': """foo-1.0:project:db#1 does not have a baseline project. |
112 session = MockResultSession(behave) |
115 session = MockResultSession(behave) |
113 objv1 = session.create('foo-1.0:project:db#1') |
116 objv1 = session.create('foo-1.0:project:db#1') |
114 assert objv1.baseline == None |
117 assert objv1.baseline == None |
115 objv2 = session.create('foo-2.0:project:db#1') |
118 objv2 = session.create('foo-2.0:project:db#1') |
116 assert objv2.baseline == objv1 |
119 assert objv2.baseline == objv1 |
117 |
|
118 |
120 |
119 def test_delete_project(self): |
121 def test_delete_project(self): |
120 """ Check project deletion """ |
122 """ Check project deletion """ |
121 behave = {'delete -project "project-1:project:db#1"': "Deleting object 'project-1:project:db#1'"} |
123 behave = {'delete -project "project-1:project:db#1"': "Deleting object 'project-1:project:db#1'"} |
122 session = MockResultSession(behave) |
124 session = MockResultSession(behave) |
138 session = MockResultSession(behave) |
140 session = MockResultSession(behave) |
139 project = session.create('project-1:project:db#1') |
141 project = session.create('project-1:project:db#1') |
140 try: |
142 try: |
141 result = project.delete(recurse=True, scope='project_and_subproject_hierarchy') |
143 result = project.delete(recurse=True, scope='project_and_subproject_hierarchy') |
142 assert False, "The delete method must fail in case of synergy failure" |
144 assert False, "The delete method must fail in case of synergy failure" |
143 except: |
145 except ccm.CCMException: |
144 pass |
146 pass |
145 |
147 |
146 def test_delete_object(self): |
148 def test_delete_object(self): |
147 """ Check object deletion """ |
149 """ Check object deletion """ |
148 behave = {'delete "object-1:object:db#1"': "Deleting object 'object-1:object:db#1'"} |
150 behave = {'delete "object-1:object:db#1"': "Deleting object 'object-1:object:db#1'"} |
149 session = MockResultSession(behave) |
151 session = MockResultSession(behave) |
150 obj = session.create('object-1:object:db#1') |
152 obj = session.create('object-1:object:db#1') |
151 result = obj.delete() |
153 result = obj.delete() |
152 assert "Deleting object 'object-1:object:db#1'" in result.output |
154 assert "Deleting object 'object-1:object:db#1'" in result.output |
153 |
155 |
|
156 |
|
157 |
154 if __name__ == "__main__": |
158 if __name__ == "__main__": |
155 unittest.main() |
159 unittest.main() |