def test_deserialized_build_api_representation_is_same_as_original_build_no_failures( self): build = Build( BuildRequest({ 'type': 'git', 'url': 'git@name/repo.git', 'job_name': 'Example' })) build.generate_project_type() BuildStore.add(build) reconstructed_build = Build.load_from_db(build.build_id()) original_build_results = build.api_representation() reconstructed_build_results = reconstructed_build.api_representation() diff = self._compare_dictionaries_with_same_keys( original_build_results, reconstructed_build_results) # The build_project_directory is an auto generated tmp directory -- these will never be the same diff.pop('request_params|build_project_directory', None) # This is very similar to self.assertDictEqual, but here we won't consider different key orderings # as "not equal" which matters because `api_representation` does not have deterministic ordering self.assertEqual( diff, {}, 'Deserialized build is not the same as the original build.')