buildframework/helium/sf/python/pythoncore/lib/pythoncoretests/test_ccm_object.py
changeset 628 7c4a911dc066
parent 588 c7c26511138f
equal deleted inserted replaced
588:c7c26511138f 628:7c4a911dc066
    19 
    19 
    20 """ Test cases for ccm python toolkit.
    20 """ Test cases for ccm python toolkit.
    21     unitesting CCMObject functionality
    21     unitesting CCMObject functionality
    22 """
    22 """
    23 
    23 
    24 # pylint: disable-msg=R0201
    24 # pylint: disable=R0201
    25 
    25 
    26 import unittest
    26 import unittest
    27 import ccm
    27 import ccm
    28 import logging
    28 import logging
    29 
    29 
    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()