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")
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"}), ]
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)
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)
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"})]