def test_text_unicodeerror(self): self.config["get_payload.return_value.decode.side_effect"] = UnicodeError mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, []) expected = [call.decode('utf8', 'ignore'), call.decode('ascii', 'ignore')] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)
def test_text_unicodeerror(self): self.config[ "get_payload.return_value.decode.side_effect"] = UnicodeError mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, []) expected = [ call.decode('utf8', 'ignore'), call.decode('ascii', 'ignore') ] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)
def test_text_lookuperror(self): def _decode(encoding, errors): if encoding not in ("ascii",): raise LookupError() return "decoded" self.config["get_payload.return_value.decode.side_effect"] = _decode mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, ["decoded"]) expected = [call.decode('utf8', 'ignore'), call.decode('ascii', 'ignore')] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)
def test_text_lookuperror(self): def _decode(encoding, errors): if encoding not in ("ascii", ): raise LookupError() return "decoded" self.config["get_payload.return_value.decode.side_effect"] = _decode mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, ["decoded"]) expected = [ call.decode('utf8', 'ignore'), call.decode('ascii', 'ignore') ] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)
def test_text(self): mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, ["decoded"]) expected = [call.decode('utf8', 'ignore')] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected, True)
def test_decode_inputs_save_max_block_for_query(self): """Test saving max block parameter during all operation""" test_max_block = 1000 test_contracts_from_elasticsearch = [{ "_id": "contract" + str(i), "_source": { "abi": "contract", "address": "contract_address" + str(i) } } for i in range(3)] mockify( self.contracts, { "_iterate_contracts_with_abi": MagicMock(return_value=[test_contracts_from_elasticsearch]), "_get_max_block": MagicMock(side_effect=[test_max_block]) }, ["decode_inputs"]) process = Mock(iterate=self.contracts._iterate_contracts_with_abi, decode=self.contracts._decode_inputs_for_contracts, save=self.contracts._save_max_block) self.contracts.decode_inputs() self.contracts._get_max_block.assert_called_with(ANY) process.assert_has_calls([ call.iterate(test_max_block), call.decode(ANY, test_max_block), call.save(ANY, test_max_block) ])
def test_decode_inputs_save_inputs_decoded(self): """Test saving decoded inputs in process""" test_contracts = ["contract1", "contract2", "contract3"] test_contracts_from_elasticsearch = [{ "_id": contract, "_source": { "abi": contract, "address": contract + "_address" } } for contract in test_contracts] mockify( self.contracts, { "_iterate_contracts_with_abi": MagicMock(return_value=[test_contracts_from_elasticsearch]), "_get_max_block": MagicMock() }, ["decode_inputs"]) process = Mock(decode=self.contracts._decode_inputs_for_contracts, save=self.contracts._save_max_block) self.contracts.decode_inputs() process.assert_has_calls([ call.decode(test_contracts_from_elasticsearch, ANY), call.save(test_contracts, ANY) ])
def test_text_quopri(self): self.config["get_content_charset.return_value"] = "quopri" mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, ["decoded"]) expected = [call.decode('quopri', 'strict')] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)
def test_text_no_charset(self): self.config["get_content_charset.return_value"] = None mock_part, mock_msg, result = self.check_msg() self.assertEqual(result, ["decoded"]) expected = [call.decode('ascii', 'ignore')] payload = mock_part.get_payload.return_value payload.assert_has_calls(expected)