Ejemplo n.º 1
0
 def test_update_with_duplicated_name(self, mock_update_segment):
     test_data = {"segment": {"name": "segment1"}}
     mock_update_segment.side_effect = exception.FailoverSegmentExists(
         name="segment1")
     self.assertRaises(exc.HTTPConflict,
                       self.controller.update,
                       self.req,
                       uuidsentinel.fake_segment,
                       body=test_data)
Ejemplo n.º 2
0
def failover_segment_update(context, segment_uuid, values):
    segment = _failover_segment_get_by_uuid(context, segment_uuid)

    segment.update(values)
    try:
        segment.save(session=context.session)
    except db_exc.DBDuplicateEntry:
        raise exception.FailoverSegmentExists(name=values.get('name'))

    return _failover_segment_get_by_uuid(context, segment.uuid)
Ejemplo n.º 3
0
def failover_segment_create(context, values):

    segment = models.FailoverSegment()
    segment.update(values)
    try:
        segment.save(session=context.session)
    except db_exc.DBDuplicateEntry:
        raise exception.FailoverSegmentExists(name=segment.name)

    return _failover_segment_get_by_uuid(context, segment.uuid)
Ejemplo n.º 4
0
    def test_save_failover_segment_already_exists(self, mock_segment_update):

        mock_segment_update.side_effect = (exception.FailoverSegmentExists(
            name="foo-segment"))

        segment_object = segment.FailoverSegment(context=self.context)
        segment_object.name = "foo-segment"
        segment_object.id = 123
        segment_object.uuid = uuidsentinel.fake_segment

        self.assertRaises(exception.FailoverSegmentExists, segment_object.save)
Ejemplo n.º 5
0
 def test_create_with_duplicate_segment_name(self, mock_create):
     body = {
         "segment": {
             "name": "segment1",
             "service_type": "COMPUTE",
             "recovery_method": "auto",
             "description": "failover_segment for compute"
         }
     }
     mock_create.side_effect = (exception.FailoverSegmentExists(
         name='segment1'))
     self.assertRaises(exc.HTTPConflict,
                       self.controller.create,
                       self.req,
                       body=body)
Ejemplo n.º 6
0
    def test_save_failover_segment_already_exists(self, mock_segment_update,
                                            mock_notify_about_segment_api):

        mock_segment_update.side_effect = (
            exception.FailoverSegmentExists(name="foo-segment"))

        segment_object = segment.FailoverSegment(context=self.context)
        segment_object.name = "foo-segment"
        segment_object.id = 123
        segment_object.uuid = uuidsentinel.fake_segment

        self.assertRaises(exception.FailoverSegmentExists, segment_object.save)
        action = fields.EventNotificationAction.SEGMENT_UPDATE
        phase_start = fields.EventNotificationPhase.START
        notify_calls = [
            mock.call(self.context, segment_object, action=action,
                      phase=phase_start)]
        mock_notify_about_segment_api.assert_has_calls(notify_calls)