summaryrefslogtreecommitdiff
path: root/ewww.py
diff options
context:
space:
mode:
Diffstat (limited to 'ewww.py')
-rw-r--r--ewww.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/ewww.py b/ewww.py
index a7ff930..22c6507 100644
--- a/ewww.py
+++ b/ewww.py
@@ -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)