[
https://issues.apache.org/jira/browse/OLTU-164?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14271877#comment-14271877
]
David Rouyer commented on OLTU-164:
-----------------------------------
I think the current behavior is sufficient too. Parameters are stored in a
HashMap and you can't check parameters in a predictive way, depending on
hardware configurations. I think the best way to fix this is by using a
different collection object, and naturally sorted by date added.
OAuthResponse oAuthResponse = OAuthResponse.errorResponse(400)
.setError("error")
.setRealm("album")
.setState("ok")
.setErrorDescription("error_description")
.setErrorUri("http://example-uri")
.setParam("param", "value")
.buildJSONMessage();
should be compared with
"{\"error\":\"error\",\"realm\":\"album\",\"state\":\"ok\",\"error_description\":\"error_description\",\"error_uri\":\"http://example-uri\",\"param\":\"value\"}"
> JSON comparison in test case best practice
> ------------------------------------------
>
> Key: OLTU-164
> URL: https://issues.apache.org/jira/browse/OLTU-164
> Project: Apache Oltu
> Issue Type: Test
> Reporter: Simone Tripodi
> Priority: Critical
> Attachments: OLTU-164.patch
>
>
> there are a couple of tests in the oauth-2.0/common codebase failing on CLI,
> but succeed in Eclipse, see below for details...
> {noformat}
> OAuthResponseTest.testErrorResponse:47
> expected:<{"[error_uri":"http://example-uri","error":"error","param":"value","realm":"album","state":"ok","error_description":"error_description]"}>
> but
> was:<{"[param":"value","error_description":"error_description","realm":"album","state":"ok","error":"error","error_uri":"http://example-uri]"}>
> {noformat}
> I honestly think that comparing serialised JSON strings is not the best way
> to assert two JSON documents are representing exactly the same data, we need
> to handle that situation...
> The [jsonassert|http://jsonassert.skyscreamer.org/] library looks like to be
> the good choice to assert two json object represent exactly the same data.
> If there are no objections, I would use {{jsonassert}} in all tests handling
> JSON data representation...
> Thoughts? TIA! :)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)