Commit Graph

3335 Commits

Author SHA1 Message Date
Felix Schumacher 278255de85 Fail JSONPath Assertion on indefinite paths and no assertion value
The docs for JSONPath Assertion state, that it will fail the assertion,
when no element is found with the given JSON path. This was currently
not followed, when an indefinite path was used. In such a case, the
JSONPath library would return an empty list, which the assertion logic
would log as OK.

With this change we let the assertion fail, when
 * an indefinite path was given
 * and an empty list is extracted
 * and no assertion value is given

Bugzilla Id: 65794
2022-01-19 19:07:34 +01:00
Felix Schumacher 6a5cac0ad7 JSON Assertion always successful with indefinite paths
Add a note to the component reference for JSON Path Assertions

Bugzilla Id: 65794
2022-01-18 17:36:49 +01:00
Sampath Kumar Krishnasamy af7fc4d56b Split function test refactor with failure and different success scenarios separately
Closes #690
2022-01-08 15:11:15 +01:00
Felix Schumacher 37be72fc48 No Graphs displayed in Aggregate Report/Response Time Graph
Make sure, that we scale away from zero (which is in our case mostly up).
Otherwise we might end up with a scaling factor of zero, which would
result in really small images.

Bugzilla Id: 65784
2022-01-05 16:23:01 +01:00
Felix Schumacher 00834652d0 Use correct message format for MessageFormat in HTMLAssertion
Regression introduced by code clean up in commit af3958b3cd

Bugzilla Id: 65782
2022-01-04 18:27:54 +01:00
Sampath Kumar Krishnasamy 51507ea138 Logger and string usage warning fix
Closes #689
2022-01-04 16:14:49 +01:00
Piotr Smietana 08e350d8e5
Update log4j2 to 2.17.1 (#685)
Co-authored-by: smiep <Piotr.Smietana@pega.com>
2021-12-29 16:58:15 +01:00
Vladimir Sitnikov eb851f3f1f Update "thanks" section for 5.5 2021-12-28 13:18:10 +03:00
Magnus Spångdal 155485c72b Allow setters in ConstantThroughputTimer to updating the values during the run time
fixes #662
2021-12-28 13:13:15 +03:00
Vladimir Sitnikov 3786a5e613 Simplify :src:dist:clean configuration, ensure /lib/junit/test.jar is removed on clean
In practice, clean should not be required, however, making it a bit more precise makes sense anyway.

See https://bz.apache.org/bugzilla/show_bug.cgi?id=63914
fixes #659
2021-12-28 12:45:06 +03:00
Woonsan Ko 879a2b935c 65108: Support JMeter variables in GraphQL HTTP Request
Previously the variables were parsed as JSON, and now the variable
contents is added as a raw part (no parsing) of the JSON.

fixes #660
2021-12-28 08:34:28 +03:00
Vladimir Sitnikov 52f4945766 Update changelog for JMeter 5.5 2021-12-27 20:37:50 +03:00
Chromico Rek 5f1d3d27df Update log4j to 2.17.0
Relates to CVE-2021-45105
Closes #683
2021-12-19 18:10:35 +01:00
Vladimir Sitnikov bdc610a1df Update log4j2 to 2.16.0
See https://lists.apache.org/thread/d6v4r6nosxysyq9rvnr779336yf0woz4
2021-12-14 17:51:09 +03:00
Vladimir Sitnikov 403842148e Update log4j2 to 2.15.0 to fix CVE-2021-44228: Apache Log4j2 JNDI features do not protect against attacker controlled LDAP and other JNDI related endpoints
See https://logging.apache.org/log4j/2.x/security.html
2021-12-10 18:31:17 +03:00
Vladimir Sitnikov 417846471d Open Model Thread Group: load generator with programmable profile
See https://github.com/apache/jmeter/pull/674
See https://lists.apache.org/thread.html/r62952bcf60212202f742329015c110c3b9da0d8c48ded6b9b833f04d%40%3Cdev.jmeter.apache.org%3E
2021-12-02 16:17:48 +03:00
Vladimir Sitnikov 8fed0cb711 Added Kotlin 1.6.0 for JMeter engine implementation. The set of JSR 223 languages is intact
src/main code is compiled with explicitApi mode, so it enforces
access modifiers (public, private, internal, protected) are set explicitly,
and it requires explicit types for public members
See https://kotlinlang.org/docs/whatsnew14.html#explicit-api-mode-for-library-authors

src/main code is restricted to Kotlin 1.5 APIs, so projects that use Kotlin 1.5
can use JMeter.

Kotlin code style follows the official Kotlin code style
See https://kotlinlang.org/docs/coding-conventions.html
2021-12-02 14:22:03 +03:00
Philippe M c98be3f400
Align ssl props / Enable setting cipher suite (#677)
* Switch in LazyLayeredConnectionSocketFactory https.socket.ciphers to https.cipherSuites as the latter is documented
* Use https.cipherSuites, https.socket.protocols in Proxy (HTTP(S) Test Script Recorder)
* Introduce JMeterUtils.getArrayPropDefault
Rename based on Vladimir proposals

This resolves https://bz.apache.org/bugzilla/show_bug.cgi?id=65692
2021-11-20 21:11:45 +01:00
Felix Schumacher c074d9aa1f Fix wrong JVM arg to set up module path for nashorn/Java 15
and while we are here, update the example to use newer versions
of the jars
2021-11-18 17:58:20 +01:00
Vladimir Sitnikov a1beb216c7 Bump com.github.vlsi.vlsi-release-plugins to 1.76 2021-11-17 09:36:59 +03:00
Vladimir Sitnikov 3f6c47e4d9 Bump jacoco to 0.8.7 (from 0.8.5) 2021-11-17 09:36:59 +03:00
Vladimir Sitnikov 0c7af0ce99 Support Java 17, test with Java 17 in GitHub Actions and Travis CI 2021-11-17 09:36:59 +03:00
Vladimir Sitnikov f09385e27c Bump Gradle to 7.3 2021-11-17 09:36:58 +03:00
Vladimir Sitnikov 03e03caef8 Bump ktlint to 0.40.0
It looks like there's an open IDEA issue regarding the use of continuation indent size.
Kotlin official style guide recomments using *single* indent for continuations,
however, IDEA wants to use double indent for some reason.

So far ij_kotlin_continuation_indent_size = 4 workaround seems to be sufficient
to make IDEA and ktlint format in the same way.

https://youtrack.jetbrains.com/issue/KTIJ-17907
https://github.com/pinterest/ktlint/issues/805
2021-11-17 09:36:58 +03:00
Vladimir Sitnikov 00aa2620fe Update JUnit5 to 5.8.1 2021-11-17 09:36:58 +03:00
Felix Schumacher b06f9def2a Use default values for null values when extracting with JSONPostProcessor
When we extract a null value for a given expression, we now replace that
null with the given default value for the expression.

That leads to slight change of the meaning of a missing value.

Consider the JSON structure: {"context": null} and the JSON Path: "$.context"

The new implementation will replace the `null` with the default value, while
the old would have stringified it to the empty string.

Cleanup of parameter handling of default values. We should use the default
value for the current handled expression and not pass all default values
for all expression. That leads to confusion, only. (Well, I was confused)

Bugzilla Id: 65681
2021-11-15 15:58:09 +01:00
Vladimir Sitnikov 062190a266 Reduce memory consumption by the logging panel (disable undo events for it)
There are two fixes:
1) undoManager.setLimit(0) -> setLimit(1) since (0) means "unlimited undo"
See https://github.com/bobbylight/RSyntaxTextArea/issues/99

2) By default, JMeter adds undoManager to ALL text fields via Swing updateUI method,
so we need to explicitly uninstall it for the case when undo is not needed
2021-11-04 20:09:48 +03:00
Stefan Seide 3c23246558 Update x-stream to 1.4.18 (from 1.4.17)
Closes #675
2021-10-26 20:24:09 +02:00
Felix Schumacher d074091405 Add support for IPv6 addresses when specifying a remote worker node
Now it should be possible to specify an IPv6 address with the bracketed notation:
  remote_host=[::1]:2001

Based on a patch by Peter Wong
Closes #673
Bugzilla Id: 65611
2021-10-10 21:10:09 +02:00
Felix Schumacher 462aaeba1d Add more details to documentation for timeShift function
Contributed by Mariusz (mawasak at gmail.com)

Closes #672
2021-09-21 12:34:49 +02:00
Felix Schumacher 1e69fefa0f Update Darklaf to 2.7.3
The update of Darklaf to 2.7.2 came with a regression regarding tooltips
on linux and a NPE when playing an animation on JTrees.

https://github.com/weisJ/darklaf/issues/274
https://github.com/weisJ/darklaf/issues/275
Bugzilla Id: 65579
2021-09-18 11:09:45 +02:00
Felix Schumacher 385bd05c6a Fix broken XML in changes.xml
Part of #654
2021-09-11 12:36:49 +02:00
Felix Schumacher bc23dca0db Be more specific when handling errors while loading keystores
Currently a user can not differentiate between a wrong password and missing or
wrong keys, algorithms, etc. So try do handle the excpetions, that the API
gives us and log different error messages to better inform our users.

Part of #654
2021-09-11 12:03:55 +02:00
Felix Schumacher 3dc1cd3e40 Update Groovy to 3.0.9 2021-09-11 10:49:56 +02:00
Felix Schumacher 093df18f7c Revert "SplitPanel shows a scrollbar instead of shrinking the right panel in the main view"
The reported problem was fixed with the patch (that is reverted here), but the Tree Results View
was broken with it. So revert it for now.

This reverts commit 2e7c471734.
This reverts commit a7bdcb24a3.

Bugzilla Id: 65545
2021-09-03 17:52:50 +02:00
Felix Schumacher 2e7c471734 SplitPanel shows a scrollbar instead of shrinking the right panel in the main view
Remove unused import left over from last commit and add missing changelog entry.

Bugzilla Id: 65545
2021-09-02 18:03:41 +02:00
Felix Schumacher 4757204087 Correct typo 2021-08-29 19:25:33 +02:00
Felix Schumacher 860eab6100 Add a bit of markup to changes.xml to trigger CI 2021-08-29 17:57:31 +02:00
Felix Schumacher b9cbab843b Restart does not work when parameters contain spaces
Try to re-combine the parameters to regard spaces in file names

Java command line has no knowledge of the 'real' parameters and
we have to do a bit of guessing to re-assemble the parameters with
spaces and the drop the spaces, that should split the parameters.

So we guess, that each parameter starts with a dash (-) and
everything else are values, that should be stitched together.

Bugzilla Id: 65522
2021-08-29 17:19:00 +02:00
Felix Schumacher ee0c973bff JSONPathAssertion attributes are out of order
Compare JSON objects and not their string representations.

When using our stringifier, the order of the entries in maps
is not guaranteed and can lead to wrong results.

In the old days we made no difference between a string or int
when asserting a result. Jackson JSON Parser differentiates
between 'foo' and '"foo"' (former is invalid) and '1' and '"1"'
(former is an int, latter a string).

To enable both (complex, simple and edge cases), we now have to do
more work.

Bugzilla Id: 65299
2021-08-29 11:10:48 +02:00
Felix Schumacher ece61619ce Missing changes entry for Bug 65336 2021-08-29 11:04:36 +02:00
Felix Schumacher a0292c87da Correct typo in email credits 2021-08-24 09:35:46 +02:00
Felix Schumacher d79b5db5b9 Update commons-jexl 3 to 3.2.1 (from 3.1)
Contributed by Ori Marko (orimarko at gmail.com>)
Bugzilla Id: 65456
2021-08-23 11:32:06 +02:00
Rithvik Patibandla 228ce437fb Move definition of jmeter.reportgenerator.statistic_window to correct source
JMeter will not look in reportgenerator.properties, but in user.properties
for the value of this property.

Bugzilla Id: 65446
Closes #671
2021-08-21 14:15:55 +02:00
Felix Schumacher af8fc31810 Update WireMock-JRE8 to 2.30.0 2021-08-21 14:01:47 +02:00
Felix Schumacher de71a759cf Update Apache Tika to 1.27 2021-08-21 14:01:47 +02:00
Felix Schumacher 861fd26ec0 Update SvgSalamander to 1.1.2.4 2021-08-21 14:01:47 +02:00
Felix Schumacher b9bbc81788 Update SLF4J to 1.7.32 2021-08-21 14:01:47 +02:00
Felix Schumacher 6225db8b51 Update RSyntaxTextArea to 3.1.3 2021-08-21 14:01:47 +02:00
Felix Schumacher 385cfc0815 Update PH CSS and PH commons to 6.3.4 and 9.5.5 2021-08-21 14:01:47 +02:00