Esempio n. 1
0
    def test_pre_delete_async(self, settings, save_model_action, extract_content_data, cache, extract_process_data):
        settings.RUN_ASYNC = True
        model = TestModel(
            string_field='Test',
            integer_field=1,
            float_field=1.0,
        )
        old_object = serialize_model_instance(model)
        model.string_field = None
        model.integer_field = None
        model.float_field = None
        model.id = None
        new_object = serialize_model_instance(model)
        content = signals._extract_content_data(old_object, new_object)
        extract_content_data.return_value = content

        signals._pre_delete(model, instance=model)

        # Check that extract process and access was done successfully
        self.assertEqual(cache.get_last_access.call_count, 1)
        self.assertEqual(cache.get_process.call_count, 1)
        self.assertEqual(extract_process_data.call_count, 1)

        # Check that was called asynchronously
        self.assertEqual(save_model_action.call_count, 0)
        self.assertEqual(save_model_action.apply_async.call_count, 1)
Esempio n. 2
0
    def test_pre_delete_fail(self, serialize_model_instance_mock, logger):
        model = TestModel(
            string_field='Test',
            integer_field=1,
            float_field=1.0,
        )

        signals._pre_delete(model, instance=model)

        # Check that save process wasn't done successfully
        self.assertEqual(logger.exception.call_count, 1)
Esempio n. 3
0
    def test_pre_delete_fail_save_model_action(self, settings, save_model_action, extract_content_data, cache,
                                               extract_process_data, logger):
        settings.RUN_ASYNC = False
        model = TestModel(
            string_field='Test',
            integer_field=1,
            float_field=1.0,
        )
        content = signals._extract_content_data()
        extract_content_data.return_value = content

        signals._pre_delete(model, instance=model)

        # Check that extract process and access was done successfully
        self.assertEqual(cache.get_last_access.call_count, 1)
        self.assertEqual(cache.get_process.call_count, 1)
        self.assertEqual(extract_process_data.call_count, 1)

        # Check that save process wasn't done successfully
        self.assertEqual(logger.exception.call_count, 1)