def test_attribute_error(self): """Attribute errors are logged. No handler added to C{pdata}""" # Mock the __import__ builtin import_mock = self.mocker.replace("__builtin__.__import__") import_mock(self.expected_module_name) self.mocker.result(self.module_fake) # Mock the handle_register function handle_reg_mock = self.mocker.replace(handler_register, passthrough=False) handle_reg_mock(self.module_fake, self.data["handlers"], self.data["data"], self.data["frequency"]) self.mocker.throw(AttributeError()) # Mock log function logexc_mock = self.mocker.replace(logexc, passthrough=False) logexc_mock(ANY) # Mock the print_exc function print_exc_mock = self.mocker.replace("traceback.print_exc", passthrough=False) print_exc_mock(ARGS, KWARGS) # Activate mocks self.mocker.replay() partwalker_handle_handler(self.data, self.ctype, self.filename, self.payload) self.assertEqual(0, self.data["handlercount"])
def test_no_errors(self): """Payload gets written to file and added to C{pdata}.""" # Mock the __import__ builtin import_mock = self.mocker.replace("__builtin__.__import__") import_mock(self.expected_module_name) self.mocker.result(self.module_fake) # Mock the handle_register function handle_reg_mock = self.mocker.replace(handler_register, passthrough=False) handle_reg_mock(self.module_fake, self.data["handlers"], self.data["data"], self.data["frequency"]) # Activate mocks self.mocker.replay() partwalker_handle_handler(self.data, self.ctype, self.filename, self.payload) self.assertEqual(1, self.data["handlercount"])
def test_import_error(self): """Module import errors are logged. No handler added to C{pdata}""" # Mock the __import__ builtin import_mock = self.mocker.replace("__builtin__.__import__") import_mock(self.expected_module_name) self.mocker.throw(ImportError()) # Mock log function logexc_mock = self.mocker.replace(logexc, passthrough=False) logexc_mock(ANY) # Mock the print_exc function print_exc_mock = self.mocker.replace("traceback.print_exc", passthrough=False) print_exc_mock(ARGS, KWARGS) # Activate mocks self.mocker.replay() partwalker_handle_handler(self.data, self.ctype, self.filename, self.payload) self.assertEqual(0, self.data["handlercount"])