Add integration test to check query cache (not implemented yet).

This commit is contained in:
Jean-Christophe Amiel 2024-07-02 14:10:39 +02:00
parent 841ccabe07
commit 46f2fd7806
No known key found for this signature in database
GPG Key ID: 07FF11CFD55356CC
10 changed files with 235 additions and 4 deletions

View File

@ -1,3 +1,4 @@
Set-StrictMode -Version latest
$ErrorActionPreference = 'Stop'
hurl tests_ok/compressed.hurl --compressed --verbose
hurl --compressed tests_ok/compressed.hurl

View File

@ -1,3 +1,4 @@
#!/bin/bash
set -Eeuo pipefail
hurl tests_ok/compressed.hurl --compressed --verbose
hurl --compressed tests_ok/compressed.hurl

Binary file not shown.

View File

@ -0,0 +1,210 @@
# This file test that response are parsed only once even if there
# is multiple XPath asserts.
GET http://localhost:8000/large/html
HTTP 200
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
[Asserts]
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
# Captures query should be cached also
GET http://localhost:8000/large/html
HTTP 200
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
[Captures]
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
# Captures and asserts should share their query cache.
GET http://localhost:8000/large/html
HTTP 200
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
[Captures]
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
var1: xpath "//h1" count
var2: xpath "//h2" count
var3: xpath "//h3" count
var4: xpath "//h4" count
var5: xpath "//p" count
var6: xpath "//a" count
[Asserts]
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
xpath "//h1" count == 1
xpath "//h2" count == 6
xpath "//h3" count == 10
xpath "//h4" count == 0
xpath "//p" count == 397
xpath "//a" count == 3364
# A call without explicit asserts to give a comparison for the first call.
GET http://localhost:8000/large/html
HTTP 200
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8

Binary file not shown.

View File

@ -0,0 +1,4 @@
Set-StrictMode -Version latest
$ErrorActionPreference = 'Stop'
hurl --no-output tests_ok/query_cache.hurl

View File

@ -0,0 +1,10 @@
from app import app
from flask import Response, make_response
@app.route("/large/html")
def large_html():
data = open("tests_ok/query_cache.html.gz", "rb")
resp = make_response(data)
resp.headers["Content-Encoding"] = "gzip"
return resp

View File

@ -0,0 +1,4 @@
#!/bin/bash
set -Eeuo pipefail
hurl --no-output tests_ok/query_cache.hurl

View File

@ -1,3 +1,4 @@
Set-StrictMode -Version latest
$ErrorActionPreference = 'Stop'
hurl tests_ok/querystring_params.hurl --verbose
hurl tests_ok/querystring_params.hurl

View File

@ -1,3 +1,3 @@
#!/bin/bash
set -Eeuo pipefail
hurl tests_ok/querystring_params.hurl --verbose
hurl tests_ok/querystring_params.hurl