oltu-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Rouyer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OLTU-164) JSON comparison in test case best practice
Date Fri, 09 Jan 2015 21:10:34 GMT

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

Mime
View raw message