Example #1
0
 def test_tuple_parser_key_error(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.return_value = {
         "message": [
             {"mock": "json1", "mock2": "json2"},
             {"mock": "json3", "mock2": "json4"},
         ]
     }
     with pytest.raises(RequestParserError):
         RequestParser.tuple_parser(mock_response, data_key="data")
Example #2
0
    def test_csv_parser(self, mocker):
        mock_response = mocker.Mock()
        mock_data_key = "data"

        mock_df = mocker.Mock()
        pandas_parser = mocker.patch(
            self.CLASS_PATH + ".pandas_parser", return_value=mock_df
        )

        RequestParser.csv_parser(mock_response, data_key=mock_data_key)
        pandas_parser.assert_called_once_with(mock_response, data_key="data")
Example #3
0
 def test_tuple_parser_list(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.return_value = {"data": [{"mock": "json"}, {"mock": "json"}]}
     result = RequestParser.tuple_parser(mock_response, data_key="data")
     expected_named_tuple = namedtuple("response_tuple", ["mock"])
     assert result == [
         expected_named_tuple(**{"mock": "json"}),
         expected_named_tuple(**{"mock": "json"}),
     ]
Example #4
0
    def test_pandas_parser(self, mocker):
        data_key = "data"
        mock_response = mocker.Mock()
        tuple_parser = mocker.patch(self.CLASS_PATH + ".tuple_parser")

        expected_named_tuple = namedtuple("response_tuple", ["mock"])
        tuple_result = [
            expected_named_tuple(**{"mock": "json"}),
            expected_named_tuple(**{"mock": "json"}),
        ]
        tuple_parser.return_value = tuple_result
        expected_result = pd.DataFrame(columns=["mock"], data=["json", "json"])

        result = RequestParser.pandas_parser(mock_response, data_key)
        tuple_parser.assert_called_once_with(mock_response, data_key)

        pd.testing.assert_frame_equal(result, expected_result)
Example #5
0
 def test_tuple_parser_unable_to_parse(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.return_value = 1
     with pytest.raises(RequestParserError):
         RequestParser.tuple_parser(mock_response)
Example #6
0
 def test_tuple_parser_json_fail(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.side_effect = ValueError
     with pytest.raises(RequestParserError):
         RequestParser.tuple_parser(mock_response)
Example #7
0
 def test_tuple_parser(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.return_value = {"mock": "json"}
     result = RequestParser.tuple_parser(mock_response)
     expected_named_tuple = namedtuple("response_tuple", ["mock"])
     assert result == [expected_named_tuple(**{"mock": "json"})]
Example #8
0
 def test_json_parser_parser_text(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.side_effect = ValueError
     mock_response.text = "mock_response"
     result = RequestParser.json_parser(mock_response)
     assert result == "mock_response"
Example #9
0
 def test_json_parser_json(self, mocker):
     mock_response = mocker.Mock()
     mock_response.json.return_value = {"mock": "json"}
     result = RequestParser.json_parser(mock_response)
     assert result == {"mock": "json"}