Search in sources :

Example 6 with UserCollectionPage

use of com.microsoft.graph.requests.UserCollectionPage in project msgraph-beta-sdk-java by microsoftgraph.

the class UserTests method setMyBoss.

@Test
public void setMyBoss() {
    final User me = graphServiceClient.me().buildRequest().select("id").get();
    UserCollectionPage potentialManagers = graphServiceClient.users().buildRequest().top(1).get();
    User manager = potentialManagers.getCurrentPage().get(0);
    while (manager.id.equals(me.id) && potentialManagers.getNextPage() != null) {
        potentialManagers = potentialManagers.getNextPage().buildRequest().get();
        manager = potentialManagers.getCurrentPage().get(0);
    }
    if (!manager.id.equals(me.id)) {
        graphServiceClient.me().manager().reference().buildRequest().put(manager);
        assertEquals(true, true);
    } else {
        // we don't have enough users on the tenant to run the test
        assertEquals(true, false);
    }
}
Also used : User(com.microsoft.graph.models.User) UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) Test(org.junit.jupiter.api.Test)

Example 7 with UserCollectionPage

use of com.microsoft.graph.requests.UserCollectionPage in project azure-ad-plugin by jenkinsci.

the class AzureAdMatrixAuthorizationStrategy method searchAndGenerateCandidates.

static AutoCompletionCandidates searchAndGenerateCandidates(String prefix) {
    final int maxCandidates = 20;
    if (StringUtils.isEmpty(prefix)) {
        return null;
    }
    SecurityRealm realm = Jenkins.get().getSecurityRealm();
    if (!(realm instanceof AzureSecurityRealm)) {
        return null;
    }
    GraphServiceClient<Request> graphClient = ((AzureSecurityRealm) realm).getAzureClient();
    List<AzureObject> candidates = new ArrayList<>();
    LOGGER.info("search users with prefix: " + prefix);
    try {
        UserCollectionPage users = lookupUsers(prefix, graphClient);
        for (User user : users.getCurrentPage()) {
            candidates.add(new AzureObject(user.id, user.displayName));
            if (candidates.size() > maxCandidates) {
                break;
            }
        }
        if (candidates.size() < maxCandidates) {
            GroupCollectionPage groupCollectionPage = lookupGroups(prefix, graphClient);
            for (Group group : groupCollectionPage.getCurrentPage()) {
                candidates.add(new AzureObject(group.id, group.displayName));
            }
        }
    } catch (Exception e) {
        LOGGER.log(Level.WARNING, "Do not have sufficient privileges to search related users or groups", e);
    }
    AutoCompletionCandidates c = new AutoCompletionCandidates();
    for (AzureObject obj : candidates) {
        String candidateText = ObjId2FullSidMap.generateFullSid(obj.getDisplayName(), obj.getObjectId());
        c.add(candidateText);
    }
    return c;
}
Also used : AutoCompletionCandidates(hudson.model.AutoCompletionCandidates) Group(com.microsoft.graph.models.Group) ItemGroup(hudson.model.ItemGroup) User(com.microsoft.graph.models.User) SecurityRealm(hudson.security.SecurityRealm) Request(okhttp3.Request) ArrayList(java.util.ArrayList) UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) GroupCollectionPage(com.microsoft.graph.requests.GroupCollectionPage)

Example 8 with UserCollectionPage

use of com.microsoft.graph.requests.UserCollectionPage in project msgraph-sdk-java by microsoftgraph.

the class OutlookTests method testGetSchedule.

@Test
public void testGetSchedule() throws Exception {
    final TestBase testBase = new TestBase();
    final User me = testBase.graphClient.me().buildRequest().select("userPrincipalName").get();
    final UserCollectionPage usersPage = testBase.graphClient.users().buildRequest(new HeaderOption("ConsistencyLevel", "eventual")).top(1).select("userPrincipalName").filter("userPrincipalName ne '" + me.userPrincipalName + "'").count().get();
    final List<User> users = usersPage.getCurrentPage();
    final DateTimeTimeZone endTime = new DateTimeTimeZone();
    endTime.dateTime = OffsetDateTime.now().plusDays(1).plusHours(8).toLocalDateTime().toString();
    endTime.timeZone = "Eastern Standard Time";
    final DateTimeTimeZone startTime = new DateTimeTimeZone();
    startTime.dateTime = OffsetDateTime.now().plusDays(1).toLocalDateTime().toString();
    startTime.timeZone = "Eastern Standard Time";
    final CalendarGetScheduleParameterSet paramSet = CalendarGetScheduleParameterSet.newBuilder().withSchedules(Arrays.asList(me.userPrincipalName, users.get(0).userPrincipalName)).withEndTime(endTime).withStartTime(startTime).withAvailabilityViewInterval(60).build();
    final CalendarGetScheduleCollectionPage resultPage = testBase.graphClient.me().calendar().getSchedule(paramSet).buildRequest().post();
    assertNotNull(resultPage);
}
Also used : User(com.microsoft.graph.models.User) CalendarGetScheduleCollectionPage(com.microsoft.graph.requests.CalendarGetScheduleCollectionPage) UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) CalendarGetScheduleParameterSet(com.microsoft.graph.models.CalendarGetScheduleParameterSet) HeaderOption(com.microsoft.graph.options.HeaderOption) DateTimeTimeZone(com.microsoft.graph.models.DateTimeTimeZone) Test(org.junit.jupiter.api.Test)

Example 9 with UserCollectionPage

use of com.microsoft.graph.requests.UserCollectionPage in project msgraph-sdk-java by microsoftgraph.

the class UserTests method getUsersWithCount.

@Test
public void getUsersWithCount() {
    final List<Option> consistencyLevelOptions = Arrays.asList(new HeaderOption("ConsistencyLevel", "eventual"));
    final UserCollectionPage usersWithCount = graphServiceClient.users().buildRequest(consistencyLevelOptions).count().get();
    assertNotNull(usersWithCount);
    assertNotNull(usersWithCount.getCount());
}
Also used : UserCollectionPage(com.microsoft.graph.requests.UserCollectionPage) Option(com.microsoft.graph.options.Option) HeaderOption(com.microsoft.graph.options.HeaderOption) HeaderOption(com.microsoft.graph.options.HeaderOption) Test(org.junit.jupiter.api.Test)

Example 10 with UserCollectionPage

use of com.microsoft.graph.requests.UserCollectionPage 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)

Aggregations

UserCollectionPage (com.microsoft.graph.requests.UserCollectionPage)17 User (com.microsoft.graph.models.User)14 Test (org.junit.jupiter.api.Test)14 ClientException (com.microsoft.graph.core.ClientException)4 HeaderOption (com.microsoft.graph.options.HeaderOption)4 Group (com.microsoft.graph.models.Group)3 GroupCollectionPage (com.microsoft.graph.requests.GroupCollectionPage)3 ArrayList (java.util.ArrayList)3 AttendeeBase (com.microsoft.graph.models.AttendeeBase)2 CalendarGetScheduleParameterSet (com.microsoft.graph.models.CalendarGetScheduleParameterSet)2 DateTimeTimeZone (com.microsoft.graph.models.DateTimeTimeZone)2 DirectoryObject (com.microsoft.graph.models.DirectoryObject)2 EmailAddress (com.microsoft.graph.models.EmailAddress)2 MeetingTimeSuggestionsResult (com.microsoft.graph.models.MeetingTimeSuggestionsResult)2 Option (com.microsoft.graph.options.Option)2 CalendarGetScheduleCollectionPage (com.microsoft.graph.requests.CalendarGetScheduleCollectionPage)2 DirectoryObjectCollectionWithReferencesPage (com.microsoft.graph.requests.DirectoryObjectCollectionWithReferencesPage)2 FileInputStream (java.io.FileInputStream)2 FileNotFoundException (java.io.FileNotFoundException)2 IOException (java.io.IOException)2