Example #1
0
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'
Example #2
0
    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)