diff options
Diffstat (limited to 'ewww.py')
-rw-r--r-- | ewww.py | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -48,6 +48,12 @@ def _url(ctx, url): def fixme(*args, **kwargs): assert 0 +# Create a file. +def create_file(ctx, filename=None, content=None): + dirname = os.path.dirname(filename) + os.makedirs(dirname) + _write(filename, content) + # Start server using named configuration file. def start_server(ctx, filename=None): config = get_file(filename).decode('UTF-8') @@ -60,11 +66,29 @@ def start_server(ctx, filename=None): ctx['port'] = 3030 _run_exit(ctx, 0) +# Make a HTTP request. def request(ctx, method=None, url=None): url, host = _url(ctx, url) _run(ctx, ['curl', '-sv', '-X', method, '-HHost: {}'.format(host), url]) _run_exit(ctx, 0) +# Check status code of latest HTTP request. def status_code_is(ctx, code=None): pattern = '\n< HTTP/1.1 {} '.format(code) assert_eq(pattern in ctx['stderr'], True) + +# Check a HTTP response header for latest request has a given value. +def http_header_is(ctx, header=None, value=None): + s = ctx['stderr'] + pattern = '\n< {}: {}'.format(header, value) + print('stderr:', repr(s)) + print('pattern:', repr(pattern)) + assert_eq(pattern in s, True) + +# Check a HTTP body response for latest request has a given value. +def http_body_is(ctx, body=None): + s = ctx['stdout'] + body = body.encode('UTF8').decode('unicode-escape') + print('stdout:', repr(s)) + print('pattern:', repr(body)) + assert_eq(body, s) |