Skip to content

Commit 0a67841

Browse files
authored
Merge pull request #133 from sap-contributions/fix-null-relationship-data
Fix relationships with no data/guid
2 parents 42504d7 + 923c245 commit 0a67841

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

main/cloudfoundry_client/v3/entities.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,7 @@ def _delete(self, url: str) -> Optional[str]:
149149
return None
150150

151151
def _list(self, requested_path: str, entity_type: Optional[ENTITY_TYPE] = None, **kwargs) -> PaginateEntities:
152-
url_requested = EntityManager._get_url_with_encoded_params("%s%s" % (self.target_endpoint, requested_path),
153-
**kwargs)
152+
url_requested = EntityManager._get_url_with_encoded_params("%s%s" % (self.target_endpoint, requested_path), **kwargs)
154153
for element in self._paginate(url_requested, entity_type):
155154
yield element
156155

@@ -244,11 +243,10 @@ def _mixin_included_resources(self, result: JsonObject) -> JsonObject:
244243

245244
def _include_resources(self, resource: JsonObject, result: JsonObject) -> None:
246245
for relationship_name, relationship in resource.get("relationships", {}).items():
247-
relationship_guid = relationship.get("data", {}).get("guid", None)
246+
relationship_guid = (relationship.get("data") or {}).get("guid")
248247
included_resources = result["included"].get(plural(relationship_name), None)
249248
if relationship_guid is not None and included_resources is not None:
250-
included_resource = next((r for r in included_resources if relationship_guid == r.get("guid", None)),
251-
None)
249+
included_resource = next((r for r in included_resources if relationship_guid == r.get("guid", None)), None)
252250
if included_resource is not None:
253251
self._include_resources(included_resource, result)
254252
included = resource.setdefault("_included", {})

test/fixtures/v3/apps/GET_response_include_space.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,9 @@
151151
"data": {
152152
"guid": "e00705b9-7b42-4561-ae97-2520399d2133"
153153
}
154+
},
155+
"quota": {
156+
"data": null
154157
}
155158
},
156159
"links": {
@@ -167,4 +170,4 @@
167170
}
168171
]
169172
}
170-
}
173+
}

0 commit comments

Comments
 (0)