示例#1
0
 def get_value_map_for_update(self):
     # Empty ticket return empty maps.
     ticket = TicketWrapper(ticket_id=123)
     value_map1 = ticket.get_value_map_for_update()
     self.assert_equal(len(value_map1), 0)
     # Otherwise the map should contain all not None value.
     ticket.summary = 'Test TicketWrapper'
     ticket.priority = PRIORITY_ATTRIBUTE_VALUES.LOW
     value_map2 = ticket.get_value_map_for_update()
     self.assert_equal(len(value_map2), 2)
     self.assert_equal(value_map2[SummaryAttribute.NAME], 'Test TicketWrapper')
     self.assert_equal(value_map2[PriorityAttribute.NAME],
                       PRIORITY_ATTRIBUTE_VALUES.LOW)
示例#2
0
 def get_value_map_for_update(self):
     # Empty ticket return empty maps.
     ticket = TicketWrapper(ticket_id=123)
     value_map1 = ticket.get_value_map_for_update()
     self.assert_equal(len(value_map1), 0)
     # Otherwise the map should contain all not None value.
     ticket.summary = 'Test TicketWrapper'
     ticket.priority = PRIORITY_ATTRIBUTE_VALUES.LOW
     value_map2 = ticket.get_value_map_for_update()
     self.assert_equal(len(value_map2), 2)
     self.assert_equal(value_map2[SummaryAttribute.NAME],
                       'Test TicketWrapper')
     self.assert_equal(value_map2[PriorityAttribute.NAME],
                       PRIORITY_ATTRIBUTE_VALUES.LOW)
示例#3
0
 def test_update(self):
     ori_ticket = self.__create_ticket_wrapper()
     trac = self.__alter_to_trac_with_all_permissions()
     create_attrs = ori_ticket.get_value_map_for_ticket_creation()
     ticket_data = (ori_ticket.summary, ori_ticket.description,
                    create_attrs, True)
     ticket_id = trac.create(*ticket_data)
     self.assert_equal(trac.ticket_counter, 1)
     upd_ticket = TicketWrapper(description='changes in description',
                         owner='owner2')
     comment = 'A normal ticket update.'
     update_attrs = upd_ticket.get_value_map_for_update()
     update_data = (ticket_id, comment, update_attrs, True)
     # invalid connection
     trac = self.__alter_to_trac_with_invalid_connection(trac)
     self.assert_raises(ProtocolError, trac.update, *update_data)
     # invalid permission
     trac = self.__alter_to_trac_with_get_only_permission(trac)
     self.assert_raises(ProtocolError, trac.update, *update_data)
     # success
     trac.get_only = False
     return_value = trac.update(*update_data)
     self.assert_equal(trac.ticket_counter, 1)
     self.assert_equal(len(return_value), 4)
     self.assert_equal(return_value[0], ticket_id)
     self.assert_is_not_none(return_value[1]) # created time
     self.assert_is_not_none(return_value[2]) # changetime
     self.assert_not_equal(return_value[1], return_value[2])
     attrs = return_value[3]
     for attr_name, value in attrs.iteritems():
         if update_attrs.has_key(attr_name):
             value_map = update_attrs
         elif create_attrs.has_key(attr_name):
             value_map = create_attrs
         else:
             value = getattr(ori_ticket, attr_name)
             if value == '':
                 value = None
             self.assert_equal(getattr(ori_ticket, attr_name), value)
             continue
         self.assert_equal(value_map[attr_name], value)
     get_ticket = trac.get(ticket_id)
     self.assert_equal(get_ticket, return_value)
     # invalid arguments
     update_data = ('123', comment, update_attrs, True)
     self.assert_raises(Fault, trac.update, *update_data)
     update_data = (None, comment, update_attrs, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, None, update_attrs, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, comment, None, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, comment, update_attrs.values(), True)
     self.assert_raises(Fault, trac.update, *update_data)
     update_data = (1, comment, update_attrs, None)
     self.assert_raises(TypeError, trac.update, *update_data)
示例#4
0
 def test_update(self):
     ori_ticket = self.__create_ticket_wrapper()
     trac = self.__alter_to_trac_with_all_permissions()
     create_attrs = ori_ticket.get_value_map_for_ticket_creation()
     ticket_data = (ori_ticket.summary, ori_ticket.description,
                    create_attrs, True)
     ticket_id = trac.create(*ticket_data)
     self.assert_equal(trac.ticket_counter, 1)
     upd_ticket = TicketWrapper(description='changes in description',
                                owner='owner2')
     comment = 'A normal ticket update.'
     update_attrs = upd_ticket.get_value_map_for_update()
     update_data = (ticket_id, comment, update_attrs, True)
     # invalid connection
     trac = self.__alter_to_trac_with_invalid_connection(trac)
     self.assert_raises(ProtocolError, trac.update, *update_data)
     # invalid permission
     trac = self.__alter_to_trac_with_get_only_permission(trac)
     self.assert_raises(ProtocolError, trac.update, *update_data)
     # success
     trac.get_only = False
     return_value = trac.update(*update_data)
     self.assert_equal(trac.ticket_counter, 1)
     self.assert_equal(len(return_value), 4)
     self.assert_equal(return_value[0], ticket_id)
     self.assert_is_not_none(return_value[1])  # created time
     self.assert_is_not_none(return_value[2])  # changetime
     self.assert_not_equal(return_value[1], return_value[2])
     attrs = return_value[3]
     for attr_name, value in attrs.iteritems():
         if update_attrs.has_key(attr_name):
             value_map = update_attrs
         elif create_attrs.has_key(attr_name):
             value_map = create_attrs
         else:
             value = getattr(ori_ticket, attr_name)
             if value == '':
                 value = None
             self.assert_equal(getattr(ori_ticket, attr_name), value)
             continue
         self.assert_equal(value_map[attr_name], value)
     get_ticket = trac.get(ticket_id)
     self.assert_equal(get_ticket, return_value)
     # invalid arguments
     update_data = ('123', comment, update_attrs, True)
     self.assert_raises(Fault, trac.update, *update_data)
     update_data = (None, comment, update_attrs, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, None, update_attrs, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, comment, None, True)
     self.assert_raises(TypeError, trac.update, *update_data)
     update_data = (1, comment, update_attrs.values(), True)
     self.assert_raises(Fault, trac.update, *update_data)
     update_data = (1, comment, update_attrs, None)
     self.assert_raises(TypeError, trac.update, *update_data)