Commit Graph

306 Commits

Author SHA1 Message Date
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
Fabrice Reix
2ae6e85f11 Update Junit Report
One testcase per Hurl file
Reuse exactly the same error message than command-line
2021-12-02 21:37:37 +01:00
lepapareil
b83da91c7d Add alpine-x64 test job to ci 2021-11-29 16:00:55 +01:00
Fabrice Reix
91cc14882a Update report 2021-11-26 21:06:03 +01:00
Fabrice Reix
6d7d9fe973 Fix Memory Allocation error (usize cast) 2021-11-26 11:30:29 +01:00
Fabrice Reix
af6b60eec1 Using Floating-point for the Float Value 2021-11-21 21:51:09 +01:00
Fabrice Reix
e46d44b4a8 Update assert duration 2021-11-14 21:35:51 +01:00
Fabrice Reix
809609a442 Set variables from HURL_ environment variables 2021-11-11 19:10:09 +01:00
Fabrice Reix
dd98920f80 Update output
Can now be on the following:
- Binary response body
- JSON
- Textual Summary
2021-11-11 18:24:48 +01:00
Fabrice Reix
5eef54bfa4 Update reports (include xml junit) 2021-11-08 11:45:05 +01:00
Fabrice Reix
c6bf58030f Rename option --html 2021-11-08 11:30:26 +01:00
Fabrice Reix
96306bfa57 Update Test integ 2021-10-29 18:40:18 +02:00
Fabrice Reix
8398c24fe7 Display libcurl error code/message 2021-10-23 10:36:08 +02:00
Fabrice Reix
0ecc117396 Update test integ 2021-10-21 13:21:01 +02:00
Fabrice Reix
ddbb639496 Add test for non-utf8 sequence 2021-10-17 20:33:21 +02:00
Fabrice Reix
b6f8797904 Parse more characters in URLs 2021-10-17 13:49:23 +02:00
Fabrice Reix
8be45d56a7 Add asserts in JSON output 2021-10-16 14:10:33 +02:00
Fabrice Reix
be36b702d0 Update report HTML/JSON 2021-10-14 21:08:44 +02:00
Fabrice Reix
852a9cb06e Add integ test for JSON output 2021-10-14 11:01:44 +02:00
Fabrice Reix
09115f3228 Support tidle in url 2021-10-14 09:17:49 +02:00
Fabrice Reix
24932394e2 Print stderr if exitcode does not match 2021-10-08 09:31:15 +02:00
Fabrice Reix
497124c3c2 Test --test option 2021-10-08 09:31:15 +02:00
Fabrice Reix
f02a849e78 Add tests for jsonpath filter 2021-09-30 09:03:20 +02:00
Fabrice Reix
a9f3f3ddcc Add option --ignore-asserts 2021-09-26 09:56:14 +02:00
Fabrice Reix
f557a33209 Add test for html file output 2021-09-25 09:17:33 +02:00
Fabrice Reix
6c145e2e9c Update report 2021-09-25 09:17:33 +02:00
Fabrice Reix
60de1be7a0 Update integ test 2021-09-25 09:17:33 +02:00
Fabrice Reix
bd540070e0 Accept hyphen in variable name 2021-09-10 17:35:23 +02:00
Fabrice Reix
187ca03698 Escape Hash(#) in hurl string value 2021-09-10 08:37:15 +02:00
Fabrice Reix
bde283f6c3 Fix parsing json body 2021-07-25 11:01:04 +02:00
Fabrice Reix
84cdc49b22 Remove unnecessary checks
Runtime errors are tested by error hurl files (error_*.hurl),
while export to JSON/HTML is tested by *.json and *.html files.

The error files do add more syntax/functionalities than the standard/non-error hurl files,
therefore, it is not useful to test (and maintain) their JSON/HTML export.
2021-07-25 08:27:34 +02:00
Fabrice Reix
ef4f075074 Simplify JSON/HTML report generation 2021-07-24 09:34:58 +02:00
Fabrice Reix
47ae21f6df add endsWith predicate 2021-07-16 08:18:58 +02:00
Fabrice Reix
3a25d516ab Add md5 query 2021-07-14 21:38:15 +02:00
Fabrice Reix
1b30968c95 Support startsWith and contains with bytes 2021-07-07 15:44:48 +02:00
Fabrice Reix
6d4308df73 Add hex body 2021-07-04 18:49:20 +02:00
Fabrice Reix
2fee06d379 Clean html output 2021-07-03 13:23:53 +02:00
Fabrice Reix
4fe77e284d Add predicate value base64 2021-07-02 18:51:58 +02:00
Fabrice Reix
d9630ed685 Add raw string in predicate value 2021-07-01 20:02:47 +02:00
Fabrice Reix
0dd0942435 Add PredicateValue public type 2021-06-29 18:31:05 +02:00
Fabrice Reix
e3952b8d84 Improve error message with suggestions 2021-06-28 20:02:44 +02:00
Fabrice Reix
31809edb9f Add notEquals query (!=) 2021-06-27 14:00:19 +02:00
Fabrice Reix
609868c858 Add subquery count
predicate countEquals becomes deprecated and is replaced by count ==
2021-06-27 09:20:03 +02:00
Fabrice Reix
424f8a59a0 Fix json export for less predicate 2021-06-24 20:29:19 +02:00
Fabrice Reix
559e9d9192 Improve url parsing error 2021-06-19 14:20:14 +02:00
Fabrice Reix
8844c1e60a Add operators for arithmetic predicates 2021-06-19 08:52:45 +02:00
Fabrice Reix
2b0a38846a Improve assert Error for bytearray 2021-06-17 22:20:06 +02:00
Fabrice Reix
ead46740ab Add sha256 query 2021-06-17 20:28:13 +02:00
Fabrice Reix
93c2fede66 Add bytes query and equals predicate for bytearray 2021-06-16 21:13:17 +02:00
Fabrice Reix
e9d00d42b3 return "real" HTTP request sent from HTTP client
Log in the json session all the headers sent by the client
2021-06-15 21:26:11 +02:00
Fabrice Reix
651e823a0b Specify Host in CouldNotResolveHost Error 2021-06-12 09:21:58 +02:00
Fabrice Reix
fa46137ebe Improve error message for countEquals predicate 2021-06-11 08:37:37 +02:00
Fabrice Reix
ae83a4cb52 Improve HTML report 2021-06-10 19:54:07 +02:00
Fabrice Reix
2f18340f00 Initialise Error Handler with a native "silent" callback
The callback can not be implemented because it needs to be variadic
2021-06-03 09:14:03 +02:00
Fabrice Reix
f9f3f55baf Output curl command for each request at runtime 2021-05-23 09:44:38 +02:00
Fabrice Reix
2c84f299db Fix parsing quote in quoted template 2021-03-22 14:41:10 +01:00
Fabrice Reix
4f6750b41b Add test connect-timeout 2021-03-08 13:22:27 +01:00
Fabrice Reix
68be658648 Type input variables 2021-02-25 20:47:46 +01:00
lepapareil
3d252f3744 add win64 tests and release to ci 2021-02-23 17:37:41 +01:00
Fabrice Reix
99b811fa70 Run Tests integ in windows
Decode hurlfmt output and error stream as text
supports both UTF-8 and UTF-16, both with and with BOM

Add optional os-specific expected error file
2021-02-16 09:13:17 +01:00
Fabrice Reix
e60a06703c Update Test integ 2021-02-15 11:45:19 +01:00
Fabrice Reix
a60f054cc0 Support wildcard in jsonpath 2021-02-15 10:52:04 +01:00
Fabrice Reix
2d7cd55a2e Support Hurl File encoded with UTF8 BOM 2021-02-10 19:53:09 +01:00
Fabrice Reix
89f0968164 Set libcurl handle attributes in the execute method
Instead of the init method, so that they can be applied after the reset
2021-02-07 14:34:30 +01:00
Fabrice Reix
12aecfec1e Keep extra description from libcurl for SSL Certificate errors 2021-02-07 12:12:05 +01:00
Fabrice Reix
399ca688c8 Do not run flask in debug mode anymore
It might solve the import issue with the form_param.py test
ImportError: cannot import name 'attach_enctype_error_multidict' from partially initialized module 'flask.debughelpers' (most likely due to a circular import) (/usr/local/lib/python3.9/site-packages/flask/debughelpers.py)
2021-02-06 18:01:53 +01:00
Fabrice Reix
95b9887e55 Add Test SSL with self-signed certificates 2021-02-06 13:38:55 +01:00