Smart Assertions - Metadata and case sensitive header names
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Smart Assertions - Metadata and case sensitive header names
Smart Assertions - Metadata and case sensitive header names
I've recently have found out that smart assertions seems to be case sensitive to header name. For example there are two web-servers. Both of them sends the same response header but one sends it like 'Access-Control-Allow-Origin' and another like 'access-control-allow-origin'. Such difference brings different results: for one web-server it passes successfully, and for the other it fails.
Is there any thoughts or existing request about adding an option for header name case sensitivity (like for values) in "Smart Assertion"?
Solved! Go to Solution.
- Labels:
-
Assertions
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
In the smart assertion there is a Case Sensitive checkbox, I would just uncheck that node for your validations:
https://support.smartbear.com/readyapi/docs/testing/assertions/reference/property/smart-assertion.ht...l
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@mattb I am afraid it is not what I am looking for.
I am talking about access to header via it "name" and not about header "value" comparison (where case-sensitive checkbox is present and works as expected)
If two requests return response headers with different case registry - smart assertion does not work correctly.
Web server 1 returns: Access-Control-Allow-Origin
Web server 2 returns: access-control-allow-origin
In this case, smart assertion that was set to get "Access-Control-Allow-Origin" will fail to do so for "access-control-allow-origin"
Here the screenshot of the real example:
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, so the header name is what has the case-sensitivity, not the header value, correct?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, also added the screenshot to the previous post.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I would recommend a support ticket at this time: https://support.smartbear.com/readyapi/message/
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe this has been "fixed"...
I see in version history 3.20.1 (https://support.smartbear.com/readyapi/docs/general-info/version-history/bugs-fixed-in-ver-3-20-1.ht...) :
The Smart Assertion was case-sensitive when checking header names, so it could not find headers written using different cases. (RIA-18797)
While I applaud SmartBear for listening to this community and fixing issues raised by it's users, this fix did have a nasty side-effect for me...
I updated my ReadyAPI version, ran my tests locally (on Windows, everything ran fine) and checked them into my repo. I noticed a lot of track changes, all with the same change: The Smart assertions metadata elements path got their upper casings changed to a lower casing:
Next day, when my tests ran in the pipeline (on a Linux agent with older readyAPI version 3.10.2) I got a ton of errors, all saying:
<h3><b>POST dossiers Failed</b></h3><pre>[Smart Assertion - HTTP201 and application/json] Smart Assertion failed:
Field 'Content-Type' does not equal (case-sensitive) 'application/json'; received: ''
Status: FAIL
I guess when I update the ReadyAPI version on the agent it will get solved, but that's not immediately available to me (have to request other team to do so)
So either I am stuck for a few days with a failing test pipeline...or I delete the smart assertions metada... I chose for the latter.
