hurlfmt Hurl files in tests_ok

This commit is contained in:
Fabrice Reix 2023-06-01 09:24:52 +02:00 committed by jcamiel
parent 56bb2042b8
commit 5e54b86719
No known key found for this signature in database
GPG Key ID: 07FF11CFD55356CC
35 changed files with 60 additions and 51 deletions

View File

@ -12,6 +12,7 @@ hurlfmt --version
# integration tests
cd integration
./hurlfmt_check.sh tests_ok/*.hurl
./integration.py
./test_curl_commands.sh
./test_html_output.py tests_ok/*.html tests_failed/*.html

12
integration/hurlfmt_check.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
#!/bin/bash
set -Eeuo pipefail
for hurl_file in "$@"; do
echo "hurlfmt $hurl_file"
output_file=/tmp/$(basename "$hurl_file")
hurlfmt "$hurl_file" >"$output_file"
if ! diff "$hurl_file" "$output_file"; then
exit 1
fi
done

View File

@ -28,6 +28,7 @@ def main():
extension = "ps1" if platform.system() == "Windows" else "sh"
script_files = (
get_files("tests_ok/*." + extension)
+ get_files("tests_ok_not_linted/*." + extension)
+ get_files("tests_failed/*." + extension)
+ get_files("tests_error_parser/*." + extension)
+ get_files("ssl/*." + extension)

View File

@ -15,14 +15,12 @@
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">==</span> <span class="number">5</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">==</span> <span class="number">5.0</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">==</span> <span class="expr">{{five}}</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">equals</span> <span class="number">5</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">!=</span> <span class="number">4</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">!=</span> <span class="expr">{{four}}</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="not">not</span> <span class="predicate-type">equals</span> <span class="number">4</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="not">not</span> <span class="predicate-type">==</span> <span class="number">4</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">&gt;</span> <span class="number">1</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">&gt;</span> <span class="expr">{{one}}</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">&gt;</span> <span class="number">1.0</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.count"</span> <span class="predicate-type">greaterThan</span> <span class="number">1.0</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.success"</span> <span class="predicate-type">==</span> <span class="boolean">false</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.success"</span> <span class="predicate-type">!=</span> <span class="null">null</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.success"</span> <span class="predicate-type">exists</span></span>
@ -47,8 +45,6 @@
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">&lt;=</span> <span class="number">2.0</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">&lt;</span> <span class="number">2</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">&lt;</span> <span class="expr">{{two}}</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">lessThanOrEquals</span> <span class="number">2.0</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">lessThan</span> <span class="number">2</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="predicate-type">isFloat</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.duration"</span> <span class="not">not</span> <span class="predicate-type">isInteger</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.nullable"</span> <span class="predicate-type">==</span> <span class="null">null</span></span>
@ -99,5 +95,5 @@
<span class="line"><span class="method">GET</span> <span class="url">http://localhost:8000/assert-json/filter</span></span>
</span><span class="response"><span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="section-header">[Asserts]</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.fruit[?(@.price.US==200)].name"</span> <span class="filter-type">nth</span> <span class="number">0</span> <span class="predicate-type">equals</span> <span class="string">"grape"</span></span>
<span class="line"><span class="query-type">jsonpath</span> <span class="string">"$.fruit[?(@.price.US==200)].name"</span> <span class="filter-type">nth</span> <span class="number">0</span> <span class="predicate-type">==</span> <span class="string">"grape"</span></span>
</span></span></code></pre>

View File

@ -15,14 +15,12 @@ count: jsonpath "$.count"
jsonpath "$.count" == 5
jsonpath "$.count" == 5.0
jsonpath "$.count" == {{five}}
jsonpath "$.count" equals 5
jsonpath "$.count" != 4
jsonpath "$.count" != {{four}}
jsonpath "$.count" not equals 4
jsonpath "$.count" not == 4
jsonpath "$.count" > 1
jsonpath "$.count" > {{one}}
jsonpath "$.count" > 1.0
jsonpath "$.count" greaterThan 1.0
jsonpath "$.success" == false
jsonpath "$.success" != null
jsonpath "$.success" exists
@ -47,8 +45,6 @@ jsonpath "$.duration" == 1.5
jsonpath "$.duration" <= 2.0
jsonpath "$.duration" < 2
jsonpath "$.duration" < {{two}}
jsonpath "$.duration" lessThanOrEquals 2.0
jsonpath "$.duration" lessThan 2
jsonpath "$.duration" isFloat
jsonpath "$.duration" not isInteger
jsonpath "$.nullable" == null
@ -99,4 +95,4 @@ jsonpath "$[?(@.id == 1)].name" nth 0 == "Bob"
GET http://localhost:8000/assert-json/filter
HTTP 200
[Asserts]
jsonpath "$.fruit[?(@.price.US==200)].name" nth 0 equals "grape"
jsonpath "$.fruit[?(@.price.US==200)].name" nth 0 == "grape"

File diff suppressed because one or more lines are too long

View File

@ -32,7 +32,7 @@
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="section-header">[Asserts]</span></span>
<span class="line"><span class="query-type">xpath</span> <span class="string">"//_:svg/_:g/_:circle"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
<span class="line"><span class="query-type">xpath</span> <span class="string">"//*[local-name()='svg']/*[local-name()='g']/*[local-name()='circle']"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
<span class="line"><span class="query-type">xpath</span> <span class="string">"//*[local-name()='svg']/*[local-name()='g']/*[local-name()='circle']"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
<span class="line"><span class="query-type">xpath</span> <span class="string">"//*[name()='svg']/*[name()='g']/*[name()='circle']"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
</span></span><span class="hurl-entry"><span class="request"><span class="line"></span>
<span class="line"></span>

View File

@ -32,7 +32,7 @@ GET http://localhost:8000/assert-xpath-svg
HTTP 200
[Asserts]
xpath "//_:svg/_:g/_:circle" count == 3
xpath "//*[local-name()='svg']/*[local-name()='g']/*[local-name()='circle']" count == 3
xpath "//*[local-name()='svg']/*[local-name()='g']/*[local-name()='circle']" count == 3
xpath "//*[name()='svg']/*[name()='g']/*[name()='circle']" count == 3

View File

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

View File

@ -27,14 +27,14 @@
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="section-header">[Captures]</span></span>
<span class="line"><span class="name">an_object</span>: <span class="query-type">jsonpath</span> <span class="string">"$['an_object']"</span></span>
<span class="line"><span class="name">a_list</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_list']"</span></span>
<span class="line"><span class="name">a_null</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_null']"</span></span>
<span class="line"><span class="name">an_object</span>: <span class="query-type">jsonpath</span> <span class="string">"$['an_object']"</span></span>
<span class="line"><span class="name">a_list</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_list']"</span></span>
<span class="line"><span class="name">a_null</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_null']"</span></span>
<span class="line"><span class="name">an_integer</span>: <span class="query-type">jsonpath</span> <span class="string">"$['an_integer']"</span></span>
<span class="line"><span class="name">a_float</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_float']"</span></span>
<span class="line"><span class="name">a_bool</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_bool']"</span></span>
<span class="line"><span class="name">a_string</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_string']"</span></span>
<span class="line"><span class="name">all</span>: <span class="query-type">jsonpath</span> <span class="string">"$"</span></span>
<span class="line"><span class="name">a_float</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_float']"</span></span>
<span class="line"><span class="name">a_bool</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_bool']"</span></span>
<span class="line"><span class="name">a_string</span>: <span class="query-type">jsonpath</span> <span class="string">"$['a_string']"</span></span>
<span class="line"><span class="name">all</span>: <span class="query-type">jsonpath</span> <span class="string">"$"</span></span>
<span class="line"><span class="section-header">[Asserts]</span></span>
<span class="line"><span class="query-type">variable</span> <span class="string">"a_null"</span> <span class="predicate-type">exists</span></span>
<span class="line"><span class="query-type">variable</span> <span class="string">"undefined"</span> <span class="not">not</span> <span class="predicate-type">exists</span></span>

View File

@ -27,14 +27,14 @@ GET http://localhost:8000/captures-json
HTTP 200
[Captures]
an_object: jsonpath "$['an_object']"
a_list: jsonpath "$['a_list']"
a_null: jsonpath "$['a_null']"
an_object: jsonpath "$['an_object']"
a_list: jsonpath "$['a_list']"
a_null: jsonpath "$['a_null']"
an_integer: jsonpath "$['an_integer']"
a_float: jsonpath "$['a_float']"
a_bool: jsonpath "$['a_bool']"
a_string: jsonpath "$['a_string']"
all: jsonpath "$"
a_float: jsonpath "$['a_float']"
a_bool: jsonpath "$['a_bool']"
a_string: jsonpath "$['a_string']"
all: jsonpath "$"
[Asserts]
variable "a_null" exists
variable "undefined" not exists

View File

@ -10,7 +10,7 @@
<span class="line"><span class="string">Set-Cookie</span>: <span class="string">SSID=Ap4PGTEq; Domain=localhost; Expires=Thu, 13 Jan 2078 22:23:01 GMT; HttpOnly; Path=/</span></span>
<span class="line"><span class="section-header">[Asserts]</span></span>
<span class="line"><span class="query-type">header</span> <span class="string">"Set-Cookie"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID"</span> <span class="predicate-type">equals</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID"</span> <span class="predicate-type">==</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Value]"</span> <span class="predicate-type">==</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Expires]"</span> <span class="predicate-type">exists</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Expires]"</span> <span class="filter-type">format</span> <span class="string">"%a, %d %b %Y %H:%M:%S"</span> <span class="predicate-type">==</span> <span class="string">"Thu, 13 Jan 2078 22:23:01"</span></span>

View File

@ -10,7 +10,7 @@ Set-Cookie: HSID=AYQEVnDKrdst; Domain=localhost; Expires=Thu, 13 Jan 2078 22:23:
Set-Cookie: SSID=Ap4PGTEq; Domain=localhost; Expires=Thu, 13 Jan 2078 22:23:01 GMT; HttpOnly; Path=/
[Asserts]
header "Set-Cookie" count == 3
cookie "LSID" equals "DQAAAKEaem_vYg"
cookie "LSID" == "DQAAAKEaem_vYg"
cookie "LSID[Value]" == "DQAAAKEaem_vYg"
cookie "LSID[Expires]" exists
cookie "LSID[Expires]" format "%a, %d %b %Y %H:%M:%S" == "Thu, 13 Jan 2078 22:23:01"

View File

@ -51,7 +51,7 @@
<span class="line"><span class="string">Set-Cookie</span>: <span class="string">SSID=Ap4PGTEq; Domain=localhost; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly; Path=/</span></span>
<span class="line"><span class="section-header">[Asserts]</span></span>
<span class="line"><span class="query-type">header</span> <span class="string">"Set-Cookie"</span> <span class="filter-type">count</span> <span class="predicate-type">==</span> <span class="number">3</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID"</span> <span class="predicate-type">equals</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID"</span> <span class="predicate-type">==</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Value]"</span> <span class="predicate-type">==</span> <span class="string">"DQAAAKEaem_vYg"</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Expires]"</span> <span class="predicate-type">exists</span></span>
<span class="line"><span class="query-type">cookie</span> <span class="string">"LSID[Expires]"</span> <span class="filter-type">format</span> <span class="string">"%a, %d %b %Y %H:%M:%S"</span> <span class="predicate-type">==</span> <span class="string">"Wed, 13 Jan 2021 22:23:01"</span></span>

View File

@ -51,7 +51,7 @@ Set-Cookie: HSID=AYQEVnDKrdst; Domain=localhost; Expires=Wed, 13 Jan 2021 22:23:
Set-Cookie: SSID=Ap4PGTEq; Domain=localhost; Expires=Wed, 13 Jan 2021 22:23:01 GMT; Secure; HttpOnly; Path=/
[Asserts]
header "Set-Cookie" count == 3
cookie "LSID" equals "DQAAAKEaem_vYg"
cookie "LSID" == "DQAAAKEaem_vYg"
cookie "LSID[Value]" == "DQAAAKEaem_vYg"
cookie "LSID[Expires]" exists
cookie "LSID[Expires]" format "%a, %d %b %Y %H:%M:%S" == "Wed, 13 Jan 2021 22:23:01"

View File

@ -1,5 +1,5 @@
<pre><code class="language-hurl"><span class="hurl-entry"><span class="request"><span class="line"><span class="method">POST</span> <span class="url">http://localhost:8000/post-base64</span></span>
<span class="line">base64, <span class="base64">SGVsbG8gV29ybGQh</span>;</span> <span class="comment"># Hello World!</span>
<span class="line">base64,<span class="base64">SGVsbG8gV29ybGQh</span>;</span> <span class="comment"># Hello World!</span>
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
</span></span><span class="line"></span>

View File

@ -1,5 +1,5 @@
POST http://localhost:8000/post-base64
base64, SGVsbG8gV29ybGQh; # Hello World!
base64,SGVsbG8gV29ybGQh; # Hello World!
HTTP 200

View File

@ -1,6 +1,6 @@
<pre><code class="language-hurl"><span class="hurl-entry"><span class="request"><span class="line"><span class="method">POST</span> <span class="url">http://localhost:8000/post-bytes</span></span>
<span class="line"><span class="string">Content-Type</span>: <span class="string">application/octet-stream</span></span>
<span class="line">base64, <span class="base64">AQID</span>;</span> <span class="comment"># echo -e -n '\x01\x02\x03' | base64</span>
<span class="line">base64,<span class="base64">AQID</span>;</span> <span class="comment"># echo -e -n '\x01\x02\x03' | base64</span>
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
</span></span></code></pre>

View File

@ -1,5 +1,5 @@
POST http://localhost:8000/post-bytes
Content-Type: application/octet-stream
base64, AQID; # echo -e -n '\x01\x02\x03' | base64
base64,AQID; # echo -e -n '\x01\x02\x03' | base64
HTTP 200

View File

@ -19,13 +19,13 @@
<span class="line"><span class="string">param2</span>:<span class="string"></span></span>
<span class="line"><span class="string">param3</span>: <span class="string">a=b</span></span>
<span class="line"><span class="string">param4</span>: <span class="string">1,2,3</span></span>
<span class="line"><span class="string">$top</span>:<span class="string">5</span></span>
<span class="line"><span class="string">$top</span>: <span class="string">5</span></span>
</span><span class="response"><span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
</span></span><span class="hurl-entry"><span class="request"><span class="line"></span>
<span class="line"></span>
<span class="line"></span><span class="comment"># encoding slash</span>
<span class="line"><span class="method">GET</span> <span class="url">http://localhost:8000/querystring-params-encoded?value1=/&amp;value2=%2F</span></span>
<span class="line"><span class="section-header">[QueryStringParams]</span></span>
<span class="line"><span class="string">value3</span>:<span class="string">/</span></span>
<span class="line"><span class="string">value3</span>: <span class="string">/</span></span>
</span><span class="response"><span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
</span></span></code></pre>

View File

@ -19,12 +19,12 @@ GET http://localhost:8000/querystring-params?param1=value1
param2:
param3: a=b
param4: 1,2,3
$top:5
$top: 5
HTTP 200
# encoding slash
GET http://localhost:8000/querystring-params-encoded?value1=/&value2=%2F
[QueryStringParams]
value3:/
value3: /
HTTP 200

View File

@ -1,4 +1,5 @@
<pre><code class="language-hurl"><span class="hurl-entry"><span class="request"><span class="line"><span class="method">GET</span> <span class="url">http://localhost:8000/hello</span></span>
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="string">`Hello World!`</span></span></span></span></code></pre>
<span class="line"><span class="string">`Hello World!`</span></span>
</span></span></code></pre>

View File

@ -1,4 +1,4 @@
GET http://localhost:8000/hello
HTTP 200
`Hello World!`
`Hello World!`

View File

@ -1,4 +1,5 @@
<pre><code class="language-hurl"><span class="hurl-entry"><span class="request"><span class="line"><span class="method">GET</span> <span class="url">http://localhost:8000/hello</span></span>
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="string">`Hello World!`</span></span></span></span></code></pre>
<span class="line"><span class="string">`Hello World!`</span></span>
</span></span></code></pre>

View File

@ -1,4 +1,4 @@
GET http://localhost:8000/hello
HTTP 200
`Hello World!`
`Hello World!`

View File

@ -1,4 +1,5 @@
<pre><code class="language-hurl"><span class="hurl-entry"><span class="request"><span class="line"><span class="method">GET</span> <span class="url">http://localhost:8000/hello</span></span>
</span><span class="response"><span class="line"></span>
<span class="line"><span class="version">HTTP</span> <span class="number">200</span></span>
<span class="line"><span class="string">`Hello World!`</span></span></span></span></code></pre>
<span class="line"><span class="string">`Hello World!`</span></span>
</span></span></code></pre>

View File

@ -1,4 +1,4 @@
GET http://localhost:8000/hello
HTTP 200
`Hello World!`
`Hello World!`

View File

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

View File

@ -0,0 +1,3 @@
#!/bin/bash
set -Eeuo pipefail
hurl tests_ok_not_linted/bom.hurl --verbose