Commit Graph

388 Commits

Author SHA1 Message Date
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
Fabrice Reix
3c0a376bca Fix test cookie_file 2021-02-04 10:23:02 +01:00
Fabrice Reix
af75640fdd Add explicit error for invalid utf8 encoding 2021-02-03 20:10:32 +01:00
Fabrice Reix
797788c571 Tests hurl files in order 2021-01-28 11:49:21 +01:00
Fabrice Reix
a85170998f Migrate integration scripts to python
so that they can be executed then in windows
2021-01-14 20:40:37 +01:00
Fabrice Reix
13e8d5fe7b Support for windows 2021-01-14 16:14:04 +01:00
Fabrice Reix
37710d2523 Add test integ for input cookie file 2021-01-11 19:05:33 +01:00
Fabrice Reix
d10045e320 Add option --variables-file 2021-01-09 20:31:26 +01:00
Fabrice Reix
8b12a574a6 Support template in json for null, boolean and numbers 2021-01-09 18:32:31 +01:00
Fabrice Reix
3b71306abf Update integration test report 2020-12-18 09:01:14 +01:00
Fabrice Reix
833e2bf157 Fix html export 2020-12-05 12:04:35 +01:00
Fabrice Reix
f3fd06945f Fix json export 2020-12-05 12:04:35 +01:00
Fabrice Reix
7588929755 Fix typo in json export 2020-11-30 15:38:44 +01:00
Fabrice Reix
79713ef647 Make predicates with numbers "arithmetic"
floats and integers can be replaced with each other
jsonpath "$.count" equals 5
jsonpath "$.count" equals 5.0
2020-11-29 17:34:30 +01:00
Fabrice Reix
85f2cfff3d Update Test Integ 2020-11-28 18:37:31 +01:00
Fabrice Reix
842f3f6189 Parse extra dot in jsonpath expression
example: $.store.book.[0].title
not really standard
but parsed by jsonpath.com
2020-11-28 17:39:23 +01:00
Fabrice Reix
0ca127f6dd Update integration report 2020-11-22 09:13:05 +01:00
Fabrice Reix
c3b6f85fde Add duration query 2020-11-22 08:55:07 +01:00
Fabrice Reix
5fa85dbfce Add integ tests 2020-11-21 17:28:31 +01:00
Fabrice Reix
22ef5583dc Use --format instead of --output 2020-11-16 22:18:16 +01:00
Fabrice Reix
0c2b439b3c Update format to html 2020-11-16 21:34:38 +01:00
Fabrice Reix
b9f1efd174 Update hurlfmt usage 2020-11-15 17:08:49 +01:00
Fabrice Reix
091944f544 Add test integ max-redirect 2020-11-15 09:29:39 +01:00
Fabrice Reix
9ce30efcda Export AST to json (continued) 2020-11-11 18:17:45 +01:00
Fabrice Reix
7798c8dcf9
Merge pull request #77 from Orange-OpenSource/feature/report-html-simplify-usage
Simplify usage for html report
2020-11-10 08:03:26 +01:00
Fabrice Reix
b0fea5a029 Simplify usage for html report 2020-11-10 07:52:09 +01:00
Fabrice Reix
1956ebcd94 Support user in url 2020-11-10 07:35:27 +01:00
Fabrice Reix
4c6fce3b86 Update html report 2020-11-09 22:32:40 +01:00
Fabrice Reix
7601b63825 Add test for large response 2020-11-09 22:32:40 +01:00
Fabrice Reix
f99b66502f Add test for include option
amend commit
2020-11-09 22:32:40 +01:00
Fabrice Reix
91ef40087c Refacto test integ 2020-11-09 22:32:40 +01:00
Fabrice Reix
5634d29105 Update data file 2020-11-09 20:24:08 +01:00
Fabrice Reix
42cff4055c Add json export for AST 2020-11-07 20:42:22 +01:00
Fabrice Reix
698b6dcca6 add wildcard for http status code
in order to ignore implict assert on status code
2020-11-03 20:34:12 +01:00
Fabrice Reix
c8b3f76578 Add test proxy 2020-10-30 10:15:25 +01:00
Fabrice Reix
e90eb37b27 Add Accept-Encoding header with --compressed option 2020-10-27 08:35:14 +01:00
Fabrice Reix
0932647379 Generate html report by running hurl tests successively
Results are appended together in a common json file
2020-10-23 16:11:16 +02:00
Fabrice Reix
9e56b9c935 [Fix] Remove unnecessary trailing comma in Cookie String 2020-10-23 13:02:50 +02:00
Fabrice Reix
7e36855113 [FIX] Send multiple request cookies 2020-10-22 10:15:47 +02:00
Fabrice Reix
9fe9aa7953 Add option user 2020-10-21 13:48:22 +02:00
Fabrice Reix
af63efa578 Add request Expect Header explicitly
Fix: http version is the from the last status line
2020-10-21 09:25:22 +02:00
Fabrice Reix
1464a5d908 Support multiple Content-Encoding 2020-10-20 13:51:50 +02:00
Fabrice Reix
9617cba31d Fix mock for brotli 2020-10-20 08:18:27 +02:00
Fabrice Reix
4a6bc950f1 Fix Predicates with not qualifiers 2020-10-19 17:55:03 +02:00
Fabrice Reix
c6347a6828 Decompress response body
- explicitly for the output if --compressed has been set
- implicitly for textual queries
2020-10-15 08:44:21 +02:00
Fabrice Reix
8a46b0b2e3 add option --compressed 2020-10-12 14:08:01 +02:00
Fabrice Reix
5dfea2822d Big Refacto - clean and isolate modules 2020-10-11 17:31:09 +02:00
Fabrice Reix
4940333bf7 Add timeout option (--connect-timeout and --max-time) 2020-09-24 21:02:53 +02:00
Fabrice Reix
6eaaf88d0d Request cookies must not change the cookie storage
Change to cookie storage are made explicit with directives (experimental feature)
@cookie_storage_set
@cookie_storage_clear
2020-09-23 20:35:00 +02:00
Fabrice Reix
9ef6e7665b Improve http error messages 2020-09-23 07:35:42 +02:00
Fabrice Reix
9906c10b6e Update Cookie Query for Secure/HttpOnly attribute 2020-09-22 08:34:20 +02:00
Fabrice Reix
5af47c3f33 Clean script 2020-09-19 21:17:19 +02:00
Fabrice Reix
2f84c178a8 Use libcurl under the hood 2020-09-17 16:19:32 +02:00
jcamiel
4888f44759 Remove color default options for running tests. 2020-09-15 11:18:12 +02:00
jcamiel
b0ba08ec21 Add optional options in integration tests. 2020-09-14 15:32:25 +02:00
jcamiel
9aaa346974 Change foo.com domain for localhost. 2020-08-28 14:27:18 +02:00
Fabrice Reix
d849e0d1b3 Init Commit - beta release 0.99.12 2020-08-27 16:44:57 +02:00