コード例 #1
0
    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()
コード例 #2
0
 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()
コード例 #3
0
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)
コード例 #4
0
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__