Commit Graph

445 Commits

Author SHA1 Message Date
jcamiel
9f6fdf2c9b
Rename aws_sigv4 integration test to aws_sigv4_option.
By convention, the integration test are named `foo` when a command line option is used, and `foo_option when an `[Options]` is prefered.
2023-09-29 13:39:15 +02:00
Josh Soref
4b654d66f4
spelling: prerequisites
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:08:14 +02:00
Josh Soref
330fbae207
spelling: immediately
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:08:13 +02:00
Josh Soref
99b2c285f5
spelling: cheaper
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-09-29 09:08:12 +02:00
Guilherme Puida
90576a9620
Use get_non_default_options to filter logs
This uses the previously created get_non_default_options instead of
inline logic when logging runner options.

Also fixes integration tests.
2023-09-28 15:11:44 -03:00
Guilherme Puida
ff366b581e
Log only non-default options in verbose mode
This patch alters the logging of options to only display non-default
options when running with --verbose. The behavior of --very-verbose
is not affected.

This commit also fixes all integration tests that were broken with
the change to the logger output.
2023-09-27 20:14:41 -03:00
jcamiel
fee45c9c6e
Fix path-as-is vs path_as_is 2023-09-20 14:43:44 +02:00
Fabrice Reix
5dbff0ef32
Add test integ for jsonpath example from https://goessner.net/articles/JsonPath/ 2023-09-16 09:28:27 +02:00
Fabrice Reix
8b322b9784
Add test integ for predicates on number 2023-09-16 09:28:26 +02:00
Fabrice Reix
0dca370068
Rename files 2023-09-16 09:28:26 +02:00
Fabrice Reix
11628d4766
Add delay CLI option 2023-09-13 16:18:28 +02:00
jcamiel
f82ed05d9a
Refacto for XML parsing.
Previously, the parser was rather raw: we processed the buffer bytes by bytes, checking if the buffer was a valid XML file.
Now, we use libxml SAX parser to detect the end of the XML.
2023-09-12 12:15:35 +00:00
Fabrice Reix
7ed25baac9
Improve jsonpath parser coverage with integ tests 2023-09-11 20:00:48 +02:00
Fabrice Reix
b1e2e1624c
Split test aws_sig test into ok/failed 2023-09-02 10:44:37 +02:00
Fabrice Reix
715a56a208
Add integ test for delay 2023-09-01 09:13:49 +02:00
Fabrice Reix
06275ff775
Generate file in build/ directory 2023-08-31 13:48:49 +02:00
Fabrice Reix
9e3a9ae3b2
Fix typos 2023-08-31 12:11:00 +02:00
apparentorder
bbb8b48af0
check only for correct header format instead of exact signature value 2023-08-25 14:52:28 +02:00
apparentorder
dcbcab1a0b
explicitly set user-agent, as it may be part of the signature 2023-08-25 07:50:38 +02:00
apparentorder
a1d7b5ef94
re-enable 'set -Ee' and temp. disable it to capture error code 2023-08-24 16:05:01 +02:00
apparentorder
2ca2c9a0b2
remove --aws-sigv4 option to fool integration tests on older systems 2023-08-24 15:52:01 +02:00
apparentorder
5eae6edba3
adjust the aws-sigv4 test to fake correct output on machines with too old libcurl 2023-08-24 15:18:54 +02:00
apparentorder
caa29f77fd
reformat to satisfy check 2023-08-24 15:18:53 +02:00
apparentorder
82e5d01f8f
reformat to satisfy "black" check 2023-08-24 15:18:53 +02:00
apparentorder
70a64f5c67
reformat to satisfy check 2023-08-24 15:18:53 +02:00
apparentorder
56d4fa4485
Add the aws-sigv4 option to generate AWS SigV4 signed requests
AWS SigV4 support is available in curl since 7.75.0 (December 2020).

Add the necessary bits for Hurl to understand this option and pass
it on to libcurl, both as a command line option `--aws-sigv4` and
as a per-request option `aws-sigv4` in Hurlfiles.

Do not emit `Authorization: Basic` when aws-sigv4 is used, as this
would take priority over the `Authorization` header generated by libcurl.
Instead, explicitly set `username` and `password` options.

Suppress removal of the `Expect:` header when using aws-sigv4, as a
workaround for curl/curl#11664.

Add a corresponding integration test.
2023-08-24 15:18:53 +02:00
Fabrice Reix
cae200a77c
Support IPv4/IPv6 address for proxy option 2023-08-12 18:01:43 +02:00
Fabrice Reix
97ceb24e8b
Replace fail-at-end option with continue-on-error option 2023-08-12 08:20:17 +02:00
Fabrice Reix
bd2c886f25
Support empty BasicAuth section 2023-08-05 09:35:19 +02:00
Fabrice Reix
06c8da4d14
Fix Cookie Query Parsing error 2023-07-31 17:17:56 +02:00
jcamiel
8a47c81b1a
Add more tests on assert errors. 2023-07-26 04:54:20 +00:00
jcamiel
967f8b9e3e
Fix isEmpty predicates for objects. 2023-07-25 14:03:49 +02:00
jcamiel
4ac825809c
Add empty sections integration test. 2023-07-17 13:59:23 +00:00
jcamiel
7a6da599c5
Support RFC-7807 application/problem+json for response body logging as text. 2023-07-16 12:18:32 +02:00
jcamiel
c5be0a88ea
Split proxy.sh and proxy_option.sh 2023-07-16 11:47:28 +02:00
jcamiel
7076961308
Add connect-to per request option. 2023-07-15 13:38:35 +00:00
Fabrice Reix
f74cd405ef
Add TAP report 2023-07-12 12:28:52 +00:00
Guilherme Puida
0357ee0386
Add isDate to existing integration tests 2023-07-11 13:31:58 +02:00
jcamiel
f2d2a6c7c8
Fix follow_redirect/follow_redirect_option curl command tests. 2023-07-11 10:59:49 +02:00
jcamiel
45bb522794
Make minor codes modification for method computing and add unit tests. 2023-07-11 10:59:49 +02:00
Matthias Seiffert
cef2e80c1a
Add integration test for 308 redirect 2023-07-11 10:59:49 +02:00
jcamiel
1463c02d05
Add support for --resolve option per request 2023-07-06 17:21:37 +02:00
jcamiel
4f6a00170a
Fix URL runtime evaluation. 2023-07-06 13:04:17 +02:00
jcamiel
264c6f290b
Make URLs strictier: must begins with http://, https:// or {{. 2023-07-05 18:28:32 +00:00
Fabrice Reix
fd8cac04d6
Export [Options] to JSON 2023-06-24 11:34:57 +00:00
Fabrice Reix
2a06ab1287
Add test integ for option --path-as-is 2023-06-22 12:38:58 +00:00
jcamiel
23f0faedb3
Add README explaining integration tests. 2023-06-21 15:54:13 +02:00
Fabrice Reix
7587fdb013
Deprecate word predicate when operator is available 2023-06-18 20:09:21 +02:00
Fabrice Reix
4500ad170a
hurlfmt failed tests 2023-06-18 18:52:14 +02:00
Fabrice Reix
cb0ce3051a
Make hurlfmt support several input files (like Hurl) 2023-06-18 14:43:36 +00:00
jcamiel
f7d7c6c6e7
Improve output integration test and add --no-output. 2023-06-17 09:59:06 +00:00
Fabrice Reix
c407a51324
Add xpath filter 2023-06-17 07:11:54 +00:00
jcamiel
18115d6427
Use CURLOPT_COPYPOSTFIELDS instead of CURLOPT_READFUNCTION/CURLOPT_READDATA.
We give the whole body once, instead of providing it by reading data with callback.
There seems to be no performance cost (in both ways, the data is memcpy), but the timings looks much better: we can see all request having "transfer" timing. Before this, requests that have body suspicioulsy have no realistic data transfer...
2023-06-17 00:39:25 +02:00
jcamiel
7d0167e9d7
Add integration test for --report-html 2023-06-17 00:12:04 +02:00
jcamiel
b49c6eb6af
Fix extra request headers logs with large body. 2023-06-16 19:14:55 +02:00
jcamiel
577fee1bfe
Use --data-binary for curl command when posting file. 2023-06-16 17:33:47 +02:00
jcamiel
97bed9188d
Rename large.* to get_large.*. 2023-06-16 13:44:52 +00:00
jcamiel
93e7daa7b9
Add timings info to very verbose mode. 2023-06-15 22:16:01 +00:00
Fabrice Reix
d97c26309b
Add proxy in Options section 2023-06-15 21:49:39 +00:00
jcamiel
886f687635
Rename integration tests option_foo* to foo_option*. 2023-06-15 17:20:09 +02:00
jcamiel
1d8f45f4b9
Fix typo in JSON export (pre_transfert vs pre_transfer, start_transfert vs start_transfer). 2023-06-15 13:00:20 +00:00
Fabrice Reix
0c1da19c03
Make regex query/filter consistent with each other 2023-06-15 12:26:37 +02:00
Fabrice Reix
bdd43c7ae4
Print error message when no file is found with --glob option 2023-06-15 10:19:34 +02:00
Fabrice Reix
9e6e000d2b
Improve error message 2023-06-14 09:16:14 +02:00
Fabrice Reix
1c0c22d2f8
Add decode filter 2023-06-10 09:30:43 +00:00
Fabrice Reix
0709227099
Support arbitrary HTTP methods 2023-06-09 07:56:35 +02:00
Fabrice Reix
62243800e6
Delete Rust integ Test for libcurl/HTTP module
These tests should be covered in the .hurl integ tests.
2023-06-08 09:03:57 +00:00
Fabrice Reix
7b20289446
Make curl import retry more explicit 2023-06-06 16:56:59 +02:00
Fabrice Reix
9a08e77904
Import --retry option from curl 2023-06-04 07:16:00 +00:00
Fabrice Reix
1d9aece778
Add integ test for retry on HTTP status 2023-06-04 07:15:59 +00:00
Fabrice Reix
5e54b86719
hurlfmt Hurl files in tests_ok 2023-06-01 17:27:01 +02:00
Fabrice Reix
56bb2042b8
Remove whitespace after comma 2023-06-01 17:27:00 +02:00
Fabrice Reix
b5277b3349
Update --retry option to match curl option 2023-06-01 17:26:26 +02:00
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