Search in sources :

Example 1 with DirectoryObject

use of com.microsoft.graph.models.DirectoryObject in project msgraph-sdk-java by microsoftgraph.

the class CollectionPageSerializerTests method testEntityWithCollectionOfMultipleTypes.

@Test
public void testEntityWithCollectionOfMultipleTypes() throws Exception {
    final String jsonString = "{\"@odata.context\": \"https://graph.microsoft.com/v1.0/$metadata#groups/$entity\",\"id\": \"01b4b70e-2ea6-432f-a3d7-eefd826c2a8e\",\"deletedDateTime\": null,\"classification\": null,\"createdDateTime\": \"2019-11-23T15:48:33Z\",\"creationOptions\": [],\"description\": \"wovinewovinewvoinwev\",\"displayName\": \"Toronto Basketball Raptors\",\"expirationDateTime\": null,\"groupTypes\": [\"Unified\"],\"isAssignableToRole\": null,\"mail\": \"TBR@contoso.onmicrosoft.com\",\"mailEnabled\": true,\"mailNickname\": \"TBR\",\"membershipRule\": null,\"membershipRuleProcessingState\": null,\"onPremisesDomainName\": null,\"onPremisesLastSyncDateTime\": null,\"onPremisesNetBiosName\": null,\"onPremisesSamAccountName\": null,\"onPremisesSecurityIdentifier\": null,\"onPremisesSyncEnabled\": null,\"preferredDataLocation\": null,\"preferredLanguage\": null,\"proxyAddresses\": [\"SPO:SPO_c0b1d860-d3d3-444c-98ee-c34365caa414@SPO_bd4c6c31-c49c-4ab6-a0aa-742e07c20232\",\"SMTP:TBR@contoso.onmicrosoft.com\"],\"renewedDateTime\": \"2019-11-23T15:48:33Z\",\"resourceBehaviorOptions\": [],\"resourceProvisioningOptions\": [\"Team\"],\"securityEnabled\": false,\"securityIdentifier\": \"S-1-12-1-28620558-1127165606-4260288419-2385144962\",\"theme\": null,\"visibility\": \"Private\",\"onPremisesProvisioningErrors\": [],\"members\": [{\"@odata.type\": \"#microsoft.graph.user\",\"id\": \"c2e8df37-c6a7-4d88-89b1-feb4f1fda7c5\",\"businessPhones\": [\"4388888888\"],\"displayName\": \"Vincent Biret\",\"givenName\": \"Vincent\",\"jobTitle\": null,\"mail\": \"vincent@contoso.onmicrosoft.com\",\"mobilePhone\": \"+1 4388888888\",\"officeLocation\": \"Quebec\",\"preferredLanguage\": \"en-US\",\"surname\": \"Biret\",\"userPrincipalName\": \"vincent@contoso.onmicrosoft.com\"},{\"@odata.type\": \"#microsoft.graph.servicePrincipal\",\"id\": \"004ea702-a572-4f1b-8bb0-74598985e0c0\",\"deletedDateTime\": null,\"accountEnabled\": true,\"alternativeNames\": [],\"appDisplayName\": \"OCPS Checkin Service\",\"appDescription\": null,\"appId\": \"23c898c1-f7e8-41da-9501-f16571f8d097\",\"applicationTemplateId\": null,\"appOwnerOrganizationId\": \"f8cdef31-a31e-4b4a-93e4-5f571e91255a\",\"appRoleAssignmentRequired\": false,\"createdDateTime\": \"2018-11-13T02:28:32Z\",\"description\": null,\"displayName\": \"OCPS Checkin Service\",\"homepage\": null,\"loginUrl\": null,\"logoutUrl\": null,\"notes\": null,\"notificationEmailAddresses\": [],\"preferredSingleSignOnMode\": null,\"preferredTokenSigningKeyThumbprint\": null,\"replyUrls\": [\"https://ocps.manage.microsoft.com\"],\"resourceSpecificApplicationPermissions\": [],\"samlSingleSignOnSettings\": null,\"servicePrincipalNames\": [\"23c898c1-f7e8-41da-9501-f16571f8d097\",\"https://ocps.manage.microsoft.com\"],\"servicePrincipalType\": \"Application\",\"tags\": [],\"tokenEncryptionKeyId\": null,\"verifiedPublisher\": {\"displayName\": null,\"verifiedPublisherId\": null,\"addedDateTime\": null},\"addIns\": [],\"appRoles\": [],\"info\": {\"logoUrl\": null,\"marketingUrl\": null,\"privacyStatementUrl\": null,\"supportUrl\": null,\"termsOfServiceUrl\": null},\"keyCredentials\": [],\"oauth2PermissionScopes\": [],\"passwordCredentials\": []}]}";
    final DefaultSerializer defaultSerializer = new DefaultSerializer(logger);
    final Group group = defaultSerializer.deserializeObject(jsonString, Group.class);
    assertNotNull(group);
    assertNotNull(group.members);
    final List<DirectoryObject> page = group.members.getCurrentPage();
    assertTrue(page.size() == 2);
    assertTrue(page.get(0) instanceof User);
    assertTrue(page.get(1) instanceof ServicePrincipal);
}
Also used : DefaultSerializer(com.microsoft.graph.serializer.DefaultSerializer) Group(com.microsoft.graph.models.Group) User(com.microsoft.graph.models.User) ServicePrincipal(com.microsoft.graph.models.ServicePrincipal) DirectoryObject(com.microsoft.graph.models.DirectoryObject) Test(org.junit.jupiter.api.Test)

Example 2 with DirectoryObject

use of com.microsoft.graph.models.DirectoryObject in project msgraph-beta-sdk-java by microsoftgraph.

the class UserTests method castTest.

@Test
public void castTest() {
    final GroupCollectionPage groups = graphServiceClient.groups().buildRequest().top(1).get();
    final Group group = groups.getCurrentPage().get(0);
    final UserCollectionPage usersPage = graphServiceClient.groups(group.id).membersAsUser().buildRequest().get();
    assertNotNull(usersPage);
    final DirectoryObjectCollectionWithReferencesPage testUserCollection = graphServiceClient.groups(group.id).members().buildRequest().top(1).get();
    final DirectoryObject testUser = testUserCollection.getCurrentPage().get(0);
    final User user = graphServiceClient.groups(group.id).membersAsUser(testUser.id).buildRequest().get();
    assertNotNull(user);
}
Also used : Group(com.microsoft.graph.models.Group) User(com.microsoft.graph.models.User) UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) GroupCollectionPage(com.microsoft.graph.requests.GroupCollectionPage) DirectoryObjectCollectionWithReferencesPage(com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesPage) DirectoryObject(com.microsoft.graph.models.DirectoryObject) Test(org.junit.jupiter.api.Test)

Example 3 with DirectoryObject

use of com.microsoft.graph.models.DirectoryObject in project azure-ad-plugin by jenkinsci.

the class AzureCachePool method getBelongingGroupsByOid.

public List<AzureAdGroup> getBelongingGroupsByOid(final String oid) {
    List<AzureAdGroup> result = belongingGroupsByOid.get(oid, (cacheKey) -> {
        try {
            DirectoryObjectCollectionWithReferencesPage collection = azure.users(oid).transitiveMemberOf().buildRequest().get();
            List<AzureAdGroup> groups = new ArrayList<>();
            while (collection != null) {
                final List<DirectoryObject> directoryObjects = collection.getCurrentPage();
                List<AzureAdGroup> groupsFromPage = directoryObjects.stream().map(group -> {
                    if (group instanceof Group) {
                        return new AzureAdGroup(group.id, ((Group) group).displayName);
                    }
                    return null;
                }).filter(Objects::nonNull).collect(Collectors.toList());
                groups.addAll(groupsFromPage);
                DirectoryObjectCollectionWithReferencesRequestBuilder nextPage = collection.getNextPage();
                if (nextPage == null) {
                    break;
                } else {
                    collection = nextPage.buildRequest().get();
                }
            }
            return groups;
        } catch (Exception e) {
            LOGGER.log(Level.WARNING, "Do not have sufficient privileges to " + "fetch your belonging groups' authorities.", e);
            return Collections.emptyList();
        }
    });
    if (Constants.DEBUG) {
        belongingGroupsByOid.invalidate(oid);
    }
    return result;
}
Also used : Group(com.microsoft.graph.models.Group) ArrayList(java.util.ArrayList) DirectoryObjectCollectionWithReferencesPage(com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesPage) DirectoryObject(com.microsoft.graph.models.DirectoryObject) DirectoryObjectCollectionWithReferencesRequestBuilder(com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesRequestBuilder)

Example 4 with DirectoryObject

use of com.microsoft.graph.models.DirectoryObject in project msgraph-sdk-java by microsoftgraph.

the class UserTests method castTest.

@Test
public void castTest() {
    final GroupCollectionPage groups = graphServiceClient.groups().buildRequest().top(1).get();
    final Group group = groups.getCurrentPage().get(0);
    final UserCollectionPage usersPage = graphServiceClient.groups(group.id).membersAsUser().buildRequest().get();
    assertNotNull(usersPage);
    final DirectoryObjectCollectionWithReferencesPage testUserCollection = graphServiceClient.groups(group.id).members().buildRequest().top(1).get();
    final DirectoryObject testUser = testUserCollection.getCurrentPage().get(0);
    final User user = graphServiceClient.groups(group.id).membersAsUser(testUser.id).buildRequest().get();
    assertNotNull(user);
}
Also used : Group(com.microsoft.graph.models.Group) User(com.microsoft.graph.models.User) UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) GroupCollectionPage(com.microsoft.graph.requests.GroupCollectionPage) DirectoryObjectCollectionWithReferencesPage(com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesPage) DirectoryObject(com.microsoft.graph.models.DirectoryObject) Test(org.junit.jupiter.api.Test)

Example 5 with DirectoryObject

use of com.microsoft.graph.models.DirectoryObject in project msgraph-beta-sdk-java by microsoftgraph.

the class CollectionPageSerializerTests method testEntityWithCollectionOfMultipleTypes.

@Test
public void testEntityWithCollectionOfMultipleTypes() throws Exception {
    final String jsonString = "{\"@odata.context\": \"https://graph.microsoft.com/v1.0/$metadata#groups/$entity\",\"id\": \"01b4b70e-2ea6-432f-a3d7-eefd826c2a8e\",\"deletedDateTime\": null,\"classification\": null,\"createdDateTime\": \"2019-11-23T15:48:33Z\",\"creationOptions\": [],\"description\": \"wovinewovinewvoinwev\",\"displayName\": \"Toronto Basketball Raptors\",\"expirationDateTime\": null,\"groupTypes\": [\"Unified\"],\"isAssignableToRole\": null,\"mail\": \"TBR@contoso.onmicrosoft.com\",\"mailEnabled\": true,\"mailNickname\": \"TBR\",\"membershipRule\": null,\"membershipRuleProcessingState\": null,\"onPremisesDomainName\": null,\"onPremisesLastSyncDateTime\": null,\"onPremisesNetBiosName\": null,\"onPremisesSamAccountName\": null,\"onPremisesSecurityIdentifier\": null,\"onPremisesSyncEnabled\": null,\"preferredDataLocation\": null,\"preferredLanguage\": null,\"proxyAddresses\": [\"SPO:SPO_c0b1d860-d3d3-444c-98ee-c34365caa414@SPO_bd4c6c31-c49c-4ab6-a0aa-742e07c20232\",\"SMTP:TBR@contoso.onmicrosoft.com\"],\"renewedDateTime\": \"2019-11-23T15:48:33Z\",\"resourceBehaviorOptions\": [],\"resourceProvisioningOptions\": [\"Team\"],\"securityEnabled\": false,\"securityIdentifier\": \"S-1-12-1-28620558-1127165606-4260288419-2385144962\",\"theme\": null,\"visibility\": \"Private\",\"onPremisesProvisioningErrors\": [],\"members\": [{\"@odata.type\": \"#microsoft.graph.user\",\"id\": \"c2e8df37-c6a7-4d88-89b1-feb4f1fda7c5\",\"businessPhones\": [\"4388888888\"],\"displayName\": \"Vincent Biret\",\"givenName\": \"Vincent\",\"jobTitle\": null,\"mail\": \"vincent@contoso.onmicrosoft.com\",\"mobilePhone\": \"+1 4388888888\",\"officeLocation\": \"Quebec\",\"preferredLanguage\": \"en-US\",\"surname\": \"Biret\",\"userPrincipalName\": \"vincent@contoso.onmicrosoft.com\"},{\"@odata.type\": \"#microsoft.graph.servicePrincipal\",\"id\": \"004ea702-a572-4f1b-8bb0-74598985e0c0\",\"deletedDateTime\": null,\"accountEnabled\": true,\"alternativeNames\": [],\"appDisplayName\": \"OCPS Checkin Service\",\"appDescription\": null,\"appId\": \"23c898c1-f7e8-41da-9501-f16571f8d097\",\"applicationTemplateId\": null,\"appOwnerOrganizationId\": \"f8cdef31-a31e-4b4a-93e4-5f571e91255a\",\"appRoleAssignmentRequired\": false,\"createdDateTime\": \"2018-11-13T02:28:32Z\",\"description\": null,\"displayName\": \"OCPS Checkin Service\",\"homepage\": null,\"loginUrl\": null,\"logoutUrl\": null,\"notes\": null,\"notificationEmailAddresses\": [],\"preferredSingleSignOnMode\": null,\"preferredTokenSigningKeyThumbprint\": null,\"replyUrls\": [\"https://ocps.manage.microsoft.com\"],\"resourceSpecificApplicationPermissions\": [],\"samlSingleSignOnSettings\": null,\"servicePrincipalNames\": [\"23c898c1-f7e8-41da-9501-f16571f8d097\",\"https://ocps.manage.microsoft.com\"],\"servicePrincipalType\": \"Application\",\"tags\": [],\"tokenEncryptionKeyId\": null,\"verifiedPublisher\": {\"displayName\": null,\"verifiedPublisherId\": null,\"addedDateTime\": null},\"addIns\": [],\"appRoles\": [],\"info\": {\"logoUrl\": null,\"marketingUrl\": null,\"privacyStatementUrl\": null,\"supportUrl\": null,\"termsOfServiceUrl\": null},\"keyCredentials\": [],\"oauth2PermissionScopes\": [],\"passwordCredentials\": []}]}";
    final DefaultSerializer defaultSerializer = new DefaultSerializer(logger);
    final Group group = defaultSerializer.deserializeObject(jsonString, Group.class);
    assertNotNull(group);
    assertNotNull(group.members);
    final List<DirectoryObject> page = group.members.getCurrentPage();
    assertTrue(page.size() == 2);
    assertTrue(page.get(0) instanceof User);
    assertTrue(page.get(1) instanceof ServicePrincipal);
}
Also used : DefaultSerializer(com.microsoft.graph.serializer.DefaultSerializer) Group(com.microsoft.graph.models.Group) User(com.microsoft.graph.models.User) ServicePrincipal(com.microsoft.graph.models.ServicePrincipal) DirectoryObject(com.microsoft.graph.models.DirectoryObject) Test(org.junit.jupiter.api.Test)

Aggregations

DirectoryObject (com.microsoft.graph.models.DirectoryObject)5 Group (com.microsoft.graph.models.Group)5 User (com.microsoft.graph.models.User)4 Test (org.junit.jupiter.api.Test)4 DirectoryObjectCollectionWithReferencesPage (com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesPage)3 ServicePrincipal (com.microsoft.graph.models.ServicePrincipal)2 GroupCollectionPage (com.microsoft.graph.requests.GroupCollectionPage)2 UserCollectionPage (com.microsoft.graph.requests.UserCollectionPage)2 DefaultSerializer (com.microsoft.graph.serializer.DefaultSerializer)2 DirectoryObjectCollectionWithReferencesRequestBuilder (com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesRequestBuilder)1 ArrayList (java.util.ArrayList)1