def __init__(self, filepath, options=None, match_options=None): self._filepath = filepath default_options = dict(verify_ssl=False) if options: default_options.update(options) self._options = options or dict() self._formatter = Formatter() self._match_options = match_options or dict()
def __init__(self, filepath): """ :param filepath: new record will append to file if filepath exists :return: """ self.filepath = filepath self._running = False self._closing = False self._service_thread = None self._queue = Queue() self._formatter = Formatter()
def test_http_recorder(): _, filepath = tempfile.mkstemp() formatter = Formatter() recorder = HTTPRecorder(filepath) try: recorder.start_service() recorder.record_http(req, res) finally: recorder.close() with open(filepath, 'r') as readable: request, response = formatter.read_record(readable) assert req.__dict__ == request.__dict__ assert res.__dict__ == response.__dict__ os.remove(filepath)
from zerotest.utils.io_helper import StringIO from zerotest.record.formatter import Formatter from zerotest.request import Request from zerotest.response import Response req = Request(scheme="http", method="get", params="query_string=here", host="example.com", path="/test", headers={"just": "header"}, data="request") res = Response(status=200, headers={"responsed": "header"}, body="response") formatter = Formatter() def test_formatter(): writable = StringIO() formatter.write_record(writable, req, res) readable = StringIO(writable.getvalue()) request, response = formatter.read_record(readable) assert req.__dict__ == request.__dict__ assert res.__dict__ == response.__dict__