Skip to content

Commit

Permalink
Merge pull request #497 from noqdev/origin/debug-google-workspace
Browse files Browse the repository at this point in the history
Validate google response data
  • Loading branch information
smoy committed Jul 14, 2023
2 parents 553027c + 2e9116a commit e58f088
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions iambic/plugins/v0_1_0/google_workspace/group/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,16 +326,26 @@ async def get_group_members(service, group):
)

http = _auth.authorized_http(service._http.credentials)
member_req = service.members().list(groupKey=group["email"])
group_email_address = group["email"]
member_req = service.members().list(groupKey=group_email_address)
member_res = member_req.execute(http=http) or {}
members = member_res.get("members", [])
required_keys = ["email", "role", "type"]
# validate response data because we have reports that member without email address
for member in members:
missing_required_keys = set(required_keys) - set(member.keys())
if len(missing_required_keys) > 0:
raise ValueError(
f"for google group: {group_email_address} missing keys: {missing_required_keys} for member: {member}"
)
return [
GroupMember(
email=member["email"],
role=GroupMemberRole(member["role"]),
type=GroupMemberType(member["type"]),
status=GroupMemberStatus(member.get("status", GroupMemberStatus.UNDEFINED)),
)
for member in member_res.get("members", [])
for member in members
]


Expand Down

0 comments on commit e58f088

Please sign in to comment.