Commit Graph

472 Commits

Author SHA1 Message Date
jcamiel
a2f4bc3625
Add more charset tests. 2023-06-01 17:22:16 +02:00
jcamiel
64d3db2b14
Add integration tests with GB2312 encoding. 2023-06-01 17:22:16 +02:00
jcamiel
ff9b62faa1
Add integration tests for --error-format long. 2023-06-01 17:22:06 +02:00
jcamiel
b624003679
Fix very-verbose taken into account only if verbose is true. 2023-06-01 17:22:06 +02:00
Fabrice Reix
0f759e6226
Support additional dot in jsonpath expression 2023-06-01 17:20:15 +02:00
Fabrice Reix
62d85054d2
Refacto cli options 2023-06-01 17:17:35 +02:00
Fabrice Reix
63125a8dcc
Print actual/expected lines when number of lines does not match 2023-06-01 17:17:35 +02:00
Fabrice Reix
64cf02f386
Add version integ test 2023-06-01 17:17:34 +02:00
jcamiel
2f76f43cda
Fix arguments in integration test utf8.hurl. 2023-06-01 17:17:21 +02:00
jcamiel
a2d91cc197
Add unit text for eval_html / encoding. 2023-06-01 17:17:21 +02:00
Fabrice Reix
1cf4476b8f
Change API in jsonpath / remove single-entry coercion 2023-06-01 17:16:07 +02:00
jcamiel
2be143ba1c
Add JSON and HTML exports to ssl integration tests. 2023-06-01 17:16:07 +02:00
jcamiel
14aaa31372
Add quotes around certificate attribute in HTML export. 2023-06-01 17:15:15 +02:00
Fabrice Reix
942e4982e7
Support different error messages 2023-06-01 15:10:21 +02:00
Fabrice Reix
b2ea23c0aa
Update test integ
normalize subject/issuer value in the test itself
2023-06-01 15:10:19 +02:00
Fabrice Reix
f5acbddec1
Add tests external websites 2023-06-01 13:10:00 +02:00
jcamiel
47cc03a87d
Bump Flask to 2.3.2 2023-05-02 14:24:54 +02:00
Fabrice Reix
4550e75ae2
Add more integ tests for hurlfmt --in curl 2023-04-24 14:38:27 +02:00
Fabrice Reix
b90dbf4925
Add curl input to hurlfmt 2023-04-24 13:28:41 +02:00
joesantos418
f29899c033
Add test attributes to junit XML 2023-04-22 07:33:41 +00:00
jcamiel
6f9faa5bb6
Add --cookie-jar integration test. 2023-04-21 13:14:11 +02:00
jcamiel
54b7d3766d
Add JUnit integration test. 2023-04-20 15:01:52 +02:00
Fabrice Reix
dfcbad29a3
Add options --in and --out in hurlfmt
--out replaces the previous --format option

Currently --in can only take 'hurl' format,
but it will include other formats such as curl or har in the future.
2023-04-18 08:34:44 +02:00
Fabrice Reix
d3541c493b
Setting Content-Length header explicitly in the request 2023-04-17 16:15:32 +02:00
jcamiel
7d12f1890c
Fix multiline export when used as predicate value. 2023-04-17 14:13:50 +02:00
jcamiel
0b761c49ad
Remove uncessay span around : and =. 2023-04-17 13:05:34 +02:00
lepapareil
63b219d234
Add --fail-at-end integration tests 2023-04-14 15:59:02 +00:00
Fabrice Reix
798d87979c
Parse empty JSON array 2023-04-13 12:44:46 +00:00
jcamiel
4963821c23
Update HTML exports. 2023-04-11 17:28:28 +02:00
Filipe PINTO
453a99071d
Use squid instead of mitmproxy on ci 2023-04-09 14:03:14 +02:00
Fabrice Reix
ebdd5eabc7
Delete unused script
test_script.py is now used instead
2023-04-06 10:16:54 +02:00
Fabrice Reix
ccb1097090
Migrate integ tests to unit scripts 2023-04-06 08:50:20 +02:00
jcamiel
a90d78175a
Add raw multipart form data sample. 2023-04-05 23:45:39 +02:00
Fabrice Reix
d34730c968
Migrate integ test to unit scripts 2023-04-01 10:06:04 +02:00
Fabrice Reix
447bb06297
Do not test exact serial number because its changes for every renewal 2023-04-01 09:39:08 +02:00
Fabrice Reix
271bc82d2c
Migrate integ tests to unit scripts 2023-03-30 15:45:04 +02:00
Fabrice Reix
c0c4983148
Reduce Expire-Date check to 15 days 2023-03-30 09:39:22 +02:00
Filipe PINTO
246fab4639
Add integration/tests_ok/hurlfmt.ps1 2023-03-28 16:01:56 +02:00
fpinto
949e1370b0
Add stdin.ps1 to integration tests 2023-03-28 12:41:14 +02:00
fpinto
b98821c5ca
Fix integration *.ps1 tests 2023-03-28 11:34:25 +02:00
Fabrice Reix
56c52ab7f5
Migrate test integ SSL 2023-03-27 13:55:01 +02:00
Fabrice Reix
3541ae9498
Refactoring test integ
Encapsulate each integ test in its own shell script
2023-03-24 09:06:58 +01:00
Fabrice Reix
b85bdc29e1
add daysAfterNow/DaysBeforeNow filters 2023-03-19 12:37:45 +01:00
Rached Mejri
48447ce744
Implement isEmpty predicate
Signed-off-by: Rached Mejri <rached.mejri@orange.com>
2023-03-13 10:11:47 +01:00
Fabrice Reix
f3bfe66863
Remove option --no-format in hurlfmt 2023-03-12 14:23:19 +01:00
jcamiel
3cddc20f34
Update integration tests. 2023-03-11 00:14:16 +01:00
jcamiel
ed259a73f2
Invert %M and %m in date format. 2023-03-04 20:04:49 +01:00
Fabrice Reix
591eb7087c
Add certificate query 2023-03-04 10:23:58 +01:00
jcamiel
daa5e5ebd4
Update werkzeug from 2.0.3 to 2.2.3
This update solves security issue but bumps HTTP Flask version from HTTP/1.0 to HTTP/1.1.
2023-02-17 00:58:41 +01:00
jcamiel
361fd8bd63
Add progress bar for tests. 2023-02-12 14:59:55 +01:00
lepapareil
4bbcfb1337
Use long options for curl command 2023-02-06 16:35:21 +01:00
Fabrice Reix
bf96812212
Use Date for cookie Expires query 2023-02-05 19:06:19 +01:00
jcamiel
8dfd8b40b8
Replace google.fr by hurl.dev 2023-02-02 22:03:54 +01:00
Fabrice Reix
550c517149
Add Date value/filters 2023-02-02 13:00:40 +01:00
jcamiel
98f5db346f
Fix GraphQL query with variables to HTTP body request 2023-01-29 19:05:00 +01:00
fpinto
1b6b583e7a
Fix servers log artifacts 2023-01-27 07:49:09 +01:00
jcamiel
d39e975c05
Accept mutiple --variables-file options 2023-01-18 17:40:46 +01:00
Fabrice Reix
748a2084c5
Pass whether filters are applied in assert or not 2023-01-18 13:47:59 +01:00
Fabrice Reix
dd82208771
Support '-' in jsonpath dot notation 2023-01-17 20:09:44 +01:00
Fabrice Reix
a7e4c8c139
Fix allowfailure 2023-01-17 13:08:23 +01:00
Fabrice Reix
f12ce3e597
Add option ssl-no-revoke 2023-01-17 13:08:22 +01:00
jcamiel
79b2fcd099
Fixes various issues on HTML export. 2023-01-11 16:23:39 +01:00
Fabrice Reix
18f4ba1afe
Add Test integ SSL client Authentication 2023-01-11 15:44:04 +01:00
Fabrice Reix
0543431490
Refacto Test integ SSL 2023-01-11 14:55:13 +01:00
jcamiel
e15deb5ca7
Add number class for nth filter argument in HTML format. 2023-01-11 10:10:08 +01:00
Fabrice Reix
b46c82ce0f
Add nth/replace/split filters 2023-01-07 18:12:39 +01:00
jcamiel
28b5a49c1d
Update variables.hurl integration test.
We can define multiple variables in [Options] section. Contrary to other options, variables defined on this request are still available to following entries.
2023-01-03 17:43:13 +01:00
Filipe PINTO
3789f8abf3
Self-signed error test less flexible 2022-12-29 11:51:47 +01:00
Fabrice Reix
51ecec615d
Add SSL Test with trusted CA 2022-12-28 21:39:33 +01:00
fpinto
15a07fcd5d
Fix ssl tests for windows 2022-12-28 15:55:49 +01:00
lepapareil
6f0e666dce
Fix false negatives on dockerised tests 2022-12-15 18:09:44 +01:00
lepapareil
662ec8184e
Standardised shell scripts shebang and error handling 2022-12-15 18:09:34 +01:00
jcamiel
c2f0fe46ba
Implement html_escape and html_unescape.
This PR removes import of html-escape crate.
2022-12-14 13:10:43 +01:00
jcamiel
aa2f1d5b4d
Add connect-to option 2022-12-10 23:55:14 +01:00
jcamiel
b9dc82d22c
Harden integration test on GraphQL.
This test could have detected regression on header parsing.
2022-12-10 23:30:48 +01:00
jcamiel
6b7753e174
Check HTTP version and status first, then other asserts.
If HTTP version or status are not correct, we fail the test without running others asserts.
2022-12-10 14:44:23 +01:00
jcamiel
ec30da5b05
Normalize curl command line debug with the url at the end. 2022-12-09 15:10:35 +01:00
jcamiel
38c47501ab
Add --resolve options 2022-12-09 10:17:07 +01:00
jcamiel
00006eab74
Support new one line string format. 2022-12-08 13:15:32 +01:00
Luke Mondy
43487b0f1a
Add integration tests for htmlEscape and htmlUnescape filters 2022-12-07 08:17:37 +11:00
jcamiel
6ea9d90841
Delete unused directory. 2022-12-06 14:54:43 +01:00
jcamiel
74cce8b994
Harden bom integration test. 2022-12-04 21:35:20 +01:00
jcamiel
bc32e4e84d
Fix error message case. 2022-12-04 18:27:42 +01:00
Fabrice Reix
ffd31a271c
Add toInt filter 2022-12-03 12:16:24 +01:00
jcamiel
45050a4aed
Update integration tests. 2022-12-01 15:32:12 +01:00
Fabrice Reix
3eaa74ce11
Fix Parsing / compliant with grammar 2022-12-01 14:50:55 +01:00
jcamiel
44f43bcf73
Add support for LINK, UNLINK, PURGE, LOCK, UNLOCK, PROPFIND and VIEW HTTP method 2022-11-30 18:28:11 +01:00
jcamiel
ed3217c41f
Add support for GraphQL variables. 2022-11-25 11:34:03 +01:00
jcamiel
c15eecec88
Change "type": "multiline-string" for "type": "text" in JSON export. 2022-11-25 10:15:31 +01:00
jcamiel
0aa0568c91
Add application/json Content-Type header for GraphQL queries. 2022-11-24 16:14:44 +01:00
jcamiel
65350a71bb
Add GraphQL simple query support.
We add GraphQL query support. For the moment, variables are not supported.
2022-11-23 14:52:34 +01:00
jcamiel
80fb0fd5b3
Delete raw string wording everywhere. 2022-11-18 15:30:56 +01:00
jcamiel
3b3483a997
Add lang identifier to multiline. 2022-11-18 00:20:53 +01:00
jcamiel
04770b352c
Use HTTP keyword in integration tests. 2022-11-11 14:25:00 +01:00
jcamiel
4e41799623
Use HTTP instead of HTTP/* for any HTTP version match 2022-11-10 22:29:21 +01:00
jcamiel
b38d108eb2
Fix hurlfmt --color crash. 2022-11-05 01:17:23 +01:00
Fabrice Reix
67d48bde22
Add filters urlEncode/urlDecode 2022-11-02 17:07:00 +01:00
Fabrice Reix
2653401819
Fix missing line in HTML output 2022-11-01 19:02:00 +01:00
jcamiel
f25c6b9129
Delete subquery dead code. 2022-10-31 11:04:49 +01:00
Fabrice Reix
8666229edf
Move filters outside query 2022-10-28 08:04:16 +02:00
Fabrice Reix
046ab9baa1
Update error messages 2022-10-25 09:04:27 +02:00
Fabrice Reix
83beadff47
Update JSON/HTML export 2022-10-25 08:59:18 +02:00
Fabrice Reix
bf79a512e0
Newline added at the end of the files
hurlfmt now also outputs a trailing newline.
2022-10-24 15:04:50 +02:00
jcamiel
debbeb250e
Add retry-max-count request option. 2022-10-20 13:06:27 +02:00
jcamiel
9e6f5088c6
Add retry-interval request option. 2022-10-20 13:06:27 +02:00
jcamiel
cec84ca811
Add retry request option. 2022-10-20 13:06:27 +02:00
jcamiel
06c706210f
Output curl logs in very-verbose. 2022-10-19 21:19:37 +02:00
jcamiel
8fbe84c701
Update test self-signed certificate. 2022-10-19 17:32:34 +02:00
Fabrice Reix
6472866c22
Fix HTTP HEAD 2022-10-18 14:27:47 +02:00
jcamiel
e85354f0eb
Add retry-max-count option. 2022-10-18 11:51:49 +02:00
Fabrice Reix
7f28baeb1f
Fix test curl commands 2022-10-17 16:22:42 +02:00
jcamiel
104360a05d
Update integration tests. 2022-10-16 10:42:42 +02:00
Fabrice Reix
b912a6f06c
Add url query 2022-10-16 09:59:08 +02:00
jcamiel
d621fdab6b
Add integration test. 2022-10-10 15:51:34 +02:00
Fabrice Reix
1ae68efd82
Fix relative redirect 2022-10-10 15:13:03 +02:00
jcamiel
95a647bde2
Use generic foo.out.pattern instead of foo.output.json
foo.output.json was hand written to remove non-constant fields (like time, date etc...)
We have now a more simple and generic way of testing variable output with .pattern files. Plus, expected JSON output is more complete.
2022-10-10 11:35:12 +02:00
Kian-Meng Ang
3a5ff7dcb2 Fix typos
Found via `codespell -S contrib,target -L crate,asser,te,pleas`
2022-10-01 18:48:18 +08:00
lepapareil
e590b6eeda
Clean ci integration bindings 2022-09-19 16:05:52 +02:00
jcamiel
5d4d41a559
Be more restrictive on first char for url parsing. 2022-09-12 16:42:40 +02:00
jcamiel
c1684f60b3
Add support for strings comparison. 2022-09-09 16:54:28 +02:00
jcamiel
b9e4b71208
Update IntelliJ contrib README. 2022-09-08 22:34:35 +02:00
jcamiel
b0f50c3b30
Add comment for HURL_xxx variable. 2022-09-07 20:58:02 +02:00
Fabrice Reix
cc820c6190
Accept expression in comparison predicate 2022-09-07 08:39:28 +02:00
Fabrice Reix
802d78359f
Update test integ 2022-09-06 13:53:15 +02:00
jcamiel
84e7cbee23
Delete os customisation for .err in favor of .err.pattern 2022-08-26 16:13:02 +02:00
jcamiel
75089c0620
Add support for multiple Hurl file in the same test. 2022-08-26 13:17:52 +02:00
Fabrice Reix
97bbf905cb
Move/Update requirements.txt 2022-08-25 13:55:44 +02:00
jcamiel
651f3bd694
Improve text summary. 2022-08-23 17:54:19 +02:00
jcamiel
96ef0c7228
Add --compressed entry option. 2022-08-18 20:28:08 +02:00
jcamiel
cd64b3310a
Log number bytes received and duration. 2022-08-18 18:39:23 +02:00
jcamiel
2a002f81a6
Add max-redirs entry option. 2022-08-16 12:09:33 +02:00
jcamiel
a2d3f87640
Add follow location entry option. 2022-08-16 10:20:25 +02:00
jcamiel
b08de3a19b
Add very-verbose entry option. 2022-08-15 18:01:35 +02:00
jcamiel
633500ebbd
Add verbose entry option. 2022-08-14 18:37:10 +02:00
jcamiel
02a1e49ddb
Add --to-entry integration test. 2022-08-14 14:02:53 +02:00
jcamiel
aae808b0b0
Add support for cacert entry option. 2022-08-12 17:42:24 +02:00
jcamiel
18d5696c67
Add integration test. 2022-08-12 16:18:55 +02:00
jcamiel
4845621ac9
Add test for string variable render in double quiotes. 2022-08-10 20:15:48 +02:00
jcamiel
7f561566dc
Normalize acronym case in errors. 2022-08-08 18:42:57 +02:00
jcamiel
bafb02a996
Add integration test for --test. 2022-08-07 09:51:24 +02:00
jcamiel
d35653e500
Use default exit code 0 for tests_ok integration tests. 2022-08-05 20:57:19 +02:00
jcamiel
3fc7b7744b
Make verbose and very-verbose logs more colored. 2022-08-05 17:27:38 +02:00
Fabrice Reix
e646f75269
Convert bash script to Python 2022-08-05 12:02:18 +02:00
Fabrice Reix
524084d314
Add comment - Test fails only when output is decompressed 2022-08-05 12:02:07 +02:00
Fabrice Reix
67ee97d0ef
Make sure that tests ok are ok 2022-08-05 11:06:42 +02:00
Fabrice Reix
0a06be993b
Install python modules with requirements.txt 2022-08-05 11:06:42 +02:00
jcamiel
74efc91da3
Create bas logger for basic error and logger for a run file. 2022-08-03 17:58:02 +02:00
jcamiel
59a3e24c40
Rationalize log functions usages. 2022-08-01 15:19:09 +02:00
Fabrice Reix
34075bc8a9
Refacto workflow scripts 2022-07-31 09:59:10 +02:00
jcamiel
f174f12cd5 Escape \ when transforming pattern to regex. 2022-07-29 14:10:16 +02:00
jcamiel
a3a975c6e0 Fix curl output for very-verbose. 2022-07-29 14:10:16 +02:00
jcamiel
6d6a0d6842 Update very_verbose integration test. 2022-07-29 14:10:16 +02:00
jcamiel
568b83266e
Fixes file access authorization. 2022-07-28 11:24:53 +02:00
jcamiel
2c9f0c649b
Fix exit code when use as module. 2022-07-21 10:43:04 +02:00
jcamiel
dbc51de167
Fix broken stdin. 2022-07-20 13:24:32 +02:00
Fabrice Reix
126e10537f
Add test for charset 2022-07-05 13:55:08 +02:00
Fabrice Reix
5f6917dc98
Add test for multiple Hurl files 2022-07-02 18:38:09 +02:00
Fabrice Reix
1017dffdf1
Add additional script for ad-hoc tests 2022-07-02 06:15:13 +02:00
jcamiel
cb9823bac2
Add integration test on --very-verbose. 2022-07-01 16:15:07 +02:00
jcamiel
1c8713ebe4
Add type hints to test_hurl.py 2022-07-01 13:30:30 +02:00
Fabrice Reix
daa95ce619
Remove additional spaces in verbose mode 2022-06-30 15:34:18 +02:00
Fabrice Reix
15582c03f6
Use expected pattern to compare textual stdout/stderr 2022-06-30 15:30:16 +02:00
Fabrice Reix
de79388be5 Support regex literal in query/subquery 2022-06-24 11:42:06 +02:00
Fabrice Reix
99768edcff Encode string variable in JSON body 2022-06-21 15:15:21 +02:00
Fabrice Reix
e239891ffc Use Template type for cookie value 2022-06-12 21:35:12 +02:00
Fabrice Reix
7fbbd9e1cb Test specific error message for Fedora 2022-05-17 21:12:57 +02:00
jcamiel
cf240a3921 Fix Brotli response body decoding. 2022-05-12 08:49:11 +02:00
lepapareil
c112f759f9 Double the timeout of the large test for ci compatibility with emulated arm64 2022-05-12 08:48:47 +02:00
jcamiel
7c6b03fc73 Fix implicit body asserts on compressed response body. 2022-05-11 17:36:48 +02:00
jcamiel
9b81ac1a95 Fix sha256, md5, bytes query on compressed body. 2022-05-11 10:18:03 +02:00
jcamiel
810089bd2a Fix redirection not followed with 'location' header. 2022-05-09 08:24:14 +02:00
jcamiel
057814555d Fix log verbose case. 2022-05-08 15:56:11 +02:00
Fabrice Reix
03b6c432d0 Update Tests integ 2022-04-12 07:51:35 +02:00
jcamiel
5a5393462a Use shorthand syntax in integration tests. 2022-04-01 14:43:11 +02:00
jcamiel
4371484fe4 Fixe Flask version for integration tests. 2022-04-01 11:51:38 +02:00
jcamiel
f63c078ea8 Add integration test for failed regex predicate. 2022-03-25 14:52:39 +01:00
Fabrice Reix
19a4a6042b Support @ for the username in [BasicAuth] section 2022-03-23 07:39:53 +01:00
jcamiel
80d1e6c726 Add integration tests on XPath/namespaces. 2022-03-14 17:18:37 +01:00
jcamiel
19a79fbec7 Fix curl command check error output. 2022-03-11 18:57:15 +01:00
Fabrice Reix
ce66121d03 Allow different types in JSON array 2022-03-10 15:54:40 +01:00
jcamiel
51dedfed14 Split integration tests between tests_ok / tests_failed repository. 2022-02-14 16:24:39 +01:00
jcamiel
fedcf08fb7 Update html export. 2022-02-11 11:04:48 +01:00
jcamiel
a049cd5404 Add comment on basic auth integration sample. 2022-02-11 11:04:48 +01:00
Fabrice Reix
5e9a94a430 Format python files with black formater 2022-02-05 18:15:41 +01:00
Fabrice Reix
b3246fef1b Fix shellsheck errors 2022-02-05 18:15:41 +01:00
jcamiel
3efe215e0e Delete unnecessary integration test.
/data.bin is a now a valid filename, provided one use --file-root option.
2022-02-05 17:30:10 +01:00
jcamiel
44910a082a Add error integration tests. 2022-02-05 17:30:10 +01:00
jcamiel
0177dc1b43 Check that data file is a child of user provided context dir. 2022-02-05 17:30:10 +01:00
Fabrice Reix
227228e1bb Check number of tests is valid 2022-02-05 12:41:43 +01:00
Fabrice Reix
b83bbf67ed Add Regex predicate value 2022-01-29 15:59:55 +01:00
jcamiel
dab0b66ec7 Use Path/PathBuf struct when appropriates.
We use PathBuf in ClientOptions, and RunnerOptions an &Path in functions if possible.
2022-01-28 10:46:46 +01:00
jcamiel
022d970c53 Exclude windows curl tests on Linux CI. 2022-01-28 10:46:46 +01:00
Fabrice Reix
c0b1acb5eb Add square brackets in key-string 2022-01-25 17:14:07 +01:00
jcamiel
f023e99e08 Add integration tests for --user-agent option. 2022-01-21 18:35:19 +01:00
jcamiel
f08335e9ad Use new line for splitting options.
This allows us to use options value with space in integration tests.
2022-01-21 16:03:00 +01:00
Fabrice Reix
b056ee5245 Increase max response for large test 2022-01-07 21:08:06 +01:00
Fabrice Reix
4a4838448d Support filter with nested object in jsonpath expression 2021-12-20 21:02:25 +01:00
Fabrice Reix
82894a8a1a Add BasicAuth section 2021-12-17 08:14:40 +01:00
Fabrice Reix
ac5c87ef78 Update JUnit XML report in integration 2021-12-16 11:43:38 +01:00
Fabrice Reix
165e79054e Report error on missing closing quote for quoted String 2021-12-10 09:01:47 +01:00