[ 
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)

Reply via email to