def test_get_group(mocker): mock_response = TargetGroup.from_dict({ "name": "Fake Group", "id": "id123", "createdById": "3563ed98a93f44c0a016fed2e5c8ce9d", "lastUpdatedById": "3563ed98a93f44c0a016fed2e5c8ce9d", "ownerId": "3563ed98a93f44c0a016fed2e5c8ce9d", "createdTime": "2020-05-22T10:57:40.449-04:00", "lastUpdatedTime": "2020-05-22T10:57:40.449-04:00" }) # mock GsSession mocker.patch.object(GsSession.__class__, 'default_value', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', return_value=mock_response) # run test response = GsGroupsApi.get_group(group_id='id123') GsSession.current._get.assert_called_with('/groups/id123', cls=TargetGroup) assert response.name == 'Fake Group'
def get(cls, group_id: str): """ Resolve a group ID into a single Group object :param group_id: Group's unique GS Marquee ID :return: A Group object that corresponds to requested ID """ group_id = group_id[6:] if group_id and group_id.startswith('group:') else group_id result = GsGroupsApi.get_group(group_id=group_id) return Group(group_id=result.id, name=result.name, entitlements=Entitlements.from_target(result.entitlements) if result.entitlements else None if result.entitlements else None, description=result.description, tags=result.tags)