Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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)
Example #7
0
    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)
        ])
Example #8
0
    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)
        ])
Example #9
0
    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)
Example #10
0
    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)
Example #11
0
    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)
Example #12
0
    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)