Assuming that the long function you have embedded inside your dictionary
simply generates a list i.e.
cloned_build.groupings.get(group=group1)
.field_values
.exclude(template=approvable_template)
.values_list('id', flat=True)[:]
results in:
[1,2,3]
Then some examples of possible tests:
expected_json = {
'status': 'ok',
'invalid-fields': {},
'updated-fields': [1,2,3]
}
actual_json = {
'invalid-fields': {},
'status': 'ok',
'updated-fields': [1,2,3]
}
invalid_json = {
'invalid-fields': {},
'status': 'ok',
'updated-fields': [2,3]
}
assert cmp(expected_json, actual_json) == 0 # same
assert cmp(expected_json, invalid_json) == -1 # different
Hope this helps. For more background & discussion, see:
http://stackoverflow.com/questions/4527942/comparing-two-dictionaries-in-python
On Wednesday, 24 August 2016 12:11:18 UTC+2, Gergely Polonkai wrote:
>
> Hello,
>
> I have a test that fetches some JSON data from my API and compares it with
> the expected result, which is generated like this:
>
> expected_json = {
> 'status': 'ok',
> 'invalid-fields': {},
> 'updated-fields': cloned_build.groupings.get(group=group1)
> .field_values
> .exclude(template=approvable_template)
> .values_list('id', flat=True)[:],
> }
>
> At the end, I get this error:
>
> AssertionError: {u'status': u'ok', u'invalid-fields': {},
> u'updated-fields': [13, 14, 15]} != {u'status': u'ok', u'invalid-fields':
> {}, u'updated-fields': [13, 14, 15]}
> {u'invalid-fields': {}, u'status': u'ok', u'updated-fields': [13, 14,
> 15]}
>
>
> It seems the two dicts are equal, but assertEquals thinks they are not. Am
> I missing something here?
>
> Best,
> Gergely
>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/ac51f934-5320-45c1-8dc8-aca658fde881%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.