def test_do_resource_delete(self):
        self._prepare_master_node()

        expected_value = {
            'kubernetes': {
                'body': {
                    'payload_param': 'payload_value'
                },
                'first': 'second'
            }
        }

        class _Result(object):
            def to_dict(self):
                return expected_value

        class _DeleteResource(object):
            def __call__(self, api_mapping, id, options):
                if api_mapping == 'fake_api_mapping':
                    if id == 'fake_id':
                        if options['first'] == 'second':
                            return _Result()

        client = MagicMock()
        client.delete_resource = _DeleteResource()

        result = tasks._do_resource_delete(client=client,
                                           api_mapping='fake_api_mapping',
                                           id='fake_id')

        self.assertEqual(result, expected_value)
    def test_external_do_resource_delete(self):
        self._prepare_master_node(external=True)

        expected_value = {
            'kubernetes': {
                'body': {
                    'payload_param': 'payload_value'
                },
                'first': 'second'
            }
        }
        fake_resource_def = MagicMock()
        setattr(fake_resource_def, 'metadata', {'name': 'name'})

        class _Result(object):
            def to_dict(self):
                return expected_value

        class _ReadResource(object):
            def __call__(self, api_mapping, resource_definition, options):
                if api_mapping == 'fake_api_mapping':
                    if resource_definition == 'fake_id':
                        if options['first'] == 'second':
                            return _Result()

        client = MagicMock()
        client.read_resource = _ReadResource()

        result = tasks._do_resource_delete(
            client=client,
            api_mapping='fake_api_mapping',
            resource_definition=fake_resource_def,
            resource_id='fake_id')

        self.assertEqual(result, expected_value)