# Path: pynubank/exception.py
# class NuException(Exception):
# 
#     def __init__(self, message):
#         super().__init__(message)
# 
# Path: pynubank/utils/graphql.py
# def prepare_request_body(graphql_object, variables=None):
#     if variables is None:
#         variables = {}
# 
#     return OrderedDict({
#         'variables': variables,
#         'query': _get_query(graphql_object)
#     })
# 
# Path: pynubank/utils/http.py
# class HttpClient:
# 
#     def __init__(self):
#         self._cert = None
#         self._headers = {
#             'Content-Type': 'application/json',
#             'X-Correlation-Id': 'WEB-APP.pewW9',
#             'User-Agent': 'pynubank Client - https://github.com/andreroggeri/pynubank',
#         }
# 
#     def set_cert(self, cert_path: str):
#         self._cert = cert_path
# 
#     def set_header(self, name: str, value: str):
#         self._headers[name] = value
# 
#     def remove_header(self, name: str):
#         self._headers.pop(name)
# 
#     def get_header(self, name: str):
#         return self._headers.get(name)
# 
#     @property
#     def _cert_args(self):
#         return {'pkcs12_filename': self._cert, 'pkcs12_password': ''} if self._cert else {}
# 
#     def _handle_response(self, response: Response) -> dict:
#         if response.status_code != 200:
#             raise NuRequestException(response)
# 
#         return response.json()
# 
#     def raw_get(self, url: str) -> Response:
#         return get(url, headers=self._headers, **self._cert_args)
# 
#     def get(self, url: str) -> dict:
#         return self._handle_response(self.raw_get(url))
# 
#     def post(self, url: str, json: dict) -> dict:
#         return self._handle_response(post(url, json=json, headers=self._headers, **self._cert_args))


import fnmatch
import json
from pathlib import Path
from pynubank import NuException
from pynubank.utils.graphql import prepare_request_body
from pynubank.utils.http import HttpClient


GHOSTFLAME_URL = 'https://mocked-proxy-url/api/proxy/ghostflame_123'


class MockHttpClient(HttpClient):
    _results = {}

    def __init__(self):
        super().__init__()

# Path: pynubank/exception.py
# class NuException(Exception):
# 
#     def __init__(self, message):
#         super().__init__(message)
# 
# Path: pynubank/utils/graphql.py
# def prepare_request_body(graphql_object, variables=None):
#     if variables is None:
#         variables = {}
# 
#     return OrderedDict({
#         'variables': variables,
#         'query': _get_query(graphql_object)
#     })
# 
# Path: pynubank/utils/http.py
# class HttpClient:
# 
#     def __init__(self):
#         self._cert = None
#         self._headers = {
#             'Content-Type': 'application/json',
#             'X-Correlation-Id': 'WEB-APP.pewW9',
#             'User-Agent': 'pynubank Client - https://github.com/andreroggeri/pynubank',
#         }
# 
#     def set_cert(self, cert_path: str):
#         self._cert = cert_path
# 
#     def set_header(self, name: str, value: str):
#         self._headers[name] = value
# 
#     def remove_header(self, name: str):
#         self._headers.pop(name)
# 
#     def get_header(self, name: str):
#         return self._headers.get(name)
# 
#     @property
#     def _cert_args(self):
#         return {'pkcs12_filename': self._cert, 'pkcs12_password': ''} if self._cert else {}
# 
#     def _handle_response(self, response: Response) -> dict:
#         if response.status_code != 200:
#             raise NuRequestException(response)
# 
#         return response.json()
# 
#     def raw_get(self, url: str) -> Response:
#         return get(url, headers=self._headers, **self._cert_args)
# 
#     def get(self, url: str) -> dict:
#         return self._handle_response(self.raw_get(url))
# 
#     def post(self, url: str, json: dict) -> dict:
#         return self._handle_response(post(url, json=json, headers=self._headers, **self._cert_args))


# Path: pynubank/utils/mock_http.py
import fnmatch
import json
from pathlib import Path
from pynubank import NuException
from pynubank.utils.graphql import prepare_request_body
from pynubank.utils.http import HttpClient



GHOSTFLAME_URL = 'https://mocked-proxy-url/api/proxy/ghostflame_123'


class MockHttpClient(HttpClient):
    _results = {}

    def __init__(self):
        super().__init__()

        self._results[(GHOSTFLAME_URL, str(prepare_request_body('account_balance')))] = self._read_data(