Ejemplo n.º 1
0
        public async Task CreateTeamTestDeniedPermissions()
        {
            string mailNickname = $"ut-{Guid.NewGuid()}";

            CSEntryChange cs = CSEntryChange.Create();

            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Add;
            cs.CreateAttributeAdd("displayName", "mytestteam");
            cs.CreateAttributeAdd("description", "my description");
            cs.CreateAttributeAdd("mailNickname", mailNickname);
            cs.CreateAttributeAdd("owner", UnitTestControl.Users.GetRange(0, 1).Select(t => t.Id).ToList <object>());

            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateChannels", false);
            cs.CreateAttributeAdd("memberSettings_allowDeleteChannels", false);
            cs.CreateAttributeAdd("memberSettings_allowAddRemoveApps", false);
            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateRemoveTabs", false);
            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateRemoveConnectors", false);
            cs.CreateAttributeAdd("guestSettings_allowCreateUpdateChannels", false);
            cs.CreateAttributeAdd("guestSettings_allowDeleteChannels", false);
            cs.CreateAttributeAdd("messagingSettings_allowUserEditMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowUserDeleteMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowOwnerDeleteMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowTeamMentions", false);
            cs.CreateAttributeAdd("messagingSettings_allowChannelMentions", false);
            cs.CreateAttributeAdd("funSettings_allowGiphy", false);
            cs.CreateAttributeAdd("funSettings_giphyContentRating", "Moderate");
            cs.CreateAttributeAdd("funSettings_allowStickersAndMemes", false);
            cs.CreateAttributeAdd("funSettings_allowCustomMemes", false);
            cs.CreateAttributeAdd("visibility", "Public");

            string teamid = await TeamTests.SubmitCSEntryChange(cs);

            var team = await GraphHelperTeams.GetTeam(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            var group = await GraphHelperGroups.GetGroup(UnitTestControl.Client, teamid, CancellationToken.None);

            Assert.AreEqual("mytestteam", group.DisplayName);
            Assert.AreEqual("my description", group.Description);
            Assert.AreEqual(mailNickname, group.MailNickname);
            Assert.AreEqual("Public", group.Visibility, true);

            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(false, team.MemberSettings.AllowDeleteChannels);
            Assert.AreEqual(false, team.MemberSettings.AllowAddRemoveApps);
            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateRemoveTabs);
            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateRemoveConnectors);
            Assert.AreEqual(false, team.GuestSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(false, team.GuestSettings.AllowDeleteChannels);
            Assert.AreEqual(false, team.MessagingSettings.AllowUserEditMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowUserDeleteMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowOwnerDeleteMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowTeamMentions);
            Assert.AreEqual(false, team.MessagingSettings.AllowChannelMentions);
            Assert.AreEqual(false, team.FunSettings.AllowGiphy);
            Assert.AreEqual(GiphyRatingType.Moderate, team.FunSettings.GiphyContentRating);
            Assert.AreEqual(false, team.FunSettings.AllowStickersAndMemes);
            Assert.AreEqual(false, team.FunSettings.AllowCustomMemes);
        }
Ejemplo n.º 2
0
        public async Task CreatePrivateChannelTest()
        {
            string teamid = await CreateTeamWithMembers(10, 10);

            List <DirectoryObject> owners = await GraphHelperGroups.GetGroupOwners(UnitTestControl.Client, teamid, CancellationToken.None);

            await Task.Delay(TimeSpan.FromDays(1));

            string ownerid = owners.First().Id;

            owners.RemoveAt(0);
            List <string> ownerIds = owners.Select(t => t.Id).ToList();

            CSEntryChange channel = CSEntryChange.Create();

            channel.ObjectType             = "privateChannel";
            channel.ObjectModificationType = ObjectModificationType.Add;
            channel.CreateAttributeAdd("team", teamid);
            channel.CreateAttributeAdd("displayName", "my test channel");
            channel.CreateAttributeAdd("description", "my description");
            channel.CreateAttributeAdd("isFavoriteByDefault", true);
            channel.CreateAttributeAdd("owner", ownerid);
            channel.CreateAttributeAdd("member", ownerIds.ToList <object>());

            CSEntryChangeResult channelResult = await channelExportProvider.PutCSEntryChangeAsync(channel);

            string channelid = channelResult.GetAnchorValueOrDefault <string>("id");

            Assert.IsTrue(channelResult.ErrorCode == MAExportError.Success);

            Beta.Channel newChannel = await GetChannelFromTeam(teamid, channelid);

            Assert.AreEqual("my test channel", newChannel.DisplayName);
            Assert.AreEqual("my description", newChannel.Description);
            Assert.AreEqual(Beta.ChannelMembershipType.Private, newChannel.MembershipType);

            var members = await GraphHelperTeams.GetChannelMembers(UnitTestControl.BetaClient, teamid, channelid, CancellationToken.None);

            Assert.IsTrue(members.Any(t => t.Id == ownerid && (t.Roles?.Contains("owner") ?? false)));

            CollectionAssert.AreEquivalent(ownerIds, members.Where(t => t.Roles == null).Select(t => t.Id).ToList());

            // 2020-05-15 This currently doesn't come in with a GET request
            // https://github.com/microsoftgraph/microsoft-graph-docs/issues/6792

            //Assert.AreEqual(true, newChannel.IsFavoriteByDefault);
        }
Ejemplo n.º 3
0
        public async Task CreateTeamFromEduTemplate()
        {
            string template = "https://graph.microsoft.com/beta/teamsTemplates('educationClass')";

            CSEntryChange cs = CSEntryChange.Create();

            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Add;
            cs.CreateAttributeAdd("displayName", "mytestteam");
            cs.CreateAttributeAdd("owner", UnitTestControl.Users.GetRange(0, 1).Select(t => t.Id).ToList <object>());
            cs.CreateAttributeAdd("template", template);

            string teamid = await TeamTests.SubmitCSEntryChange(cs);

            var team = await GraphHelperTeams.GetTeam(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            //Assert.AreEqual(template, team.Template);
            // Template information is not being returned from the API, so the following check looks for an attribute only present on classroom templates
            Assert.IsNotNull(team.AdditionalData);
            Assert.IsTrue(team.AdditionalData.ContainsKey("classSettings"));
        }
Ejemplo n.º 4
0
        public async Task ArchiveTeam()
        {
            CSEntryChange cs = CSEntryChange.Create();

            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Add;
            cs.CreateAttributeAdd("displayName", "mytestteam");
            cs.CreateAttributeAdd("owner", UnitTestControl.Users.GetRange(0, 1).Select(t => t.Id).ToList <object>());

            string teamid = await TeamTests.SubmitCSEntryChange(cs);

            cs                        = CSEntryChange.Create();
            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Update;
            cs.AnchorAttributes.Add(AnchorAttribute.Create("id", teamid));
            cs.CreateAttributeAdd("isArchived", true);
            await TeamTests.SubmitCSEntryChange(cs);

            var team = await GraphHelperTeams.GetTeam(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            Assert.IsTrue(team.IsArchived ?? false);
        }
Ejemplo n.º 5
0
        private static async Task <Beta.Channel> GetChannelFromTeam(string teamid, string channelid)
        {
            List <Beta.Channel> channels = await GraphHelperTeams.GetChannels(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            return(channels.First(t => t.Id == channelid));
        }
Ejemplo n.º 6
0
        public async Task CreateTeamTestUpdatePermissions()
        {
            CSEntryChange cs = CSEntryChange.Create();

            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Add;
            cs.CreateAttributeAdd("displayName", "mytestteam");
            cs.CreateAttributeAdd("owner", UnitTestControl.Users.GetRange(0, 1).Select(t => t.Id).ToList <object>());
            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateChannels", false);
            cs.CreateAttributeAdd("memberSettings_allowDeleteChannels", false);
            cs.CreateAttributeAdd("memberSettings_allowAddRemoveApps", false);
            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateRemoveTabs", false);
            cs.CreateAttributeAdd("memberSettings_allowCreateUpdateRemoveConnectors", false);
            cs.CreateAttributeAdd("guestSettings_allowCreateUpdateChannels", false);
            cs.CreateAttributeAdd("guestSettings_allowDeleteChannels", false);
            cs.CreateAttributeAdd("messagingSettings_allowUserEditMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowUserDeleteMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowOwnerDeleteMessages", false);
            cs.CreateAttributeAdd("messagingSettings_allowTeamMentions", false);
            cs.CreateAttributeAdd("messagingSettings_allowChannelMentions", false);
            cs.CreateAttributeAdd("funSettings_allowGiphy", false);
            cs.CreateAttributeAdd("funSettings_giphyContentRating", "Moderate");
            cs.CreateAttributeAdd("funSettings_allowStickersAndMemes", false);
            cs.CreateAttributeAdd("funSettings_allowCustomMemes", false);

            string teamid = await TeamTests.SubmitCSEntryChange(cs);

            var team = await GraphHelperTeams.GetTeam(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            var group = await GraphHelperGroups.GetGroup(UnitTestControl.Client, teamid, CancellationToken.None);

            Assert.AreEqual("mytestteam", group.DisplayName);
            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(false, team.MemberSettings.AllowDeleteChannels);
            Assert.AreEqual(false, team.MemberSettings.AllowAddRemoveApps);
            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateRemoveTabs);
            Assert.AreEqual(false, team.MemberSettings.AllowCreateUpdateRemoveConnectors);
            Assert.AreEqual(false, team.GuestSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(false, team.GuestSettings.AllowDeleteChannels);
            Assert.AreEqual(false, team.MessagingSettings.AllowUserEditMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowUserDeleteMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowOwnerDeleteMessages);
            Assert.AreEqual(false, team.MessagingSettings.AllowTeamMentions);
            Assert.AreEqual(false, team.MessagingSettings.AllowChannelMentions);
            Assert.AreEqual(false, team.FunSettings.AllowGiphy);
            Assert.AreEqual(GiphyRatingType.Moderate, team.FunSettings.GiphyContentRating);
            Assert.AreEqual(false, team.FunSettings.AllowStickersAndMemes);
            Assert.AreEqual(false, team.FunSettings.AllowCustomMemes);

            cs                        = CSEntryChange.Create();
            cs.ObjectType             = "team";
            cs.ObjectModificationType = ObjectModificationType.Update;
            cs.AnchorAttributes.Add(AnchorAttribute.Create("id", teamid));
            cs.CreateAttributeReplace("memberSettings_allowCreateUpdateChannels", true);
            cs.CreateAttributeReplace("memberSettings_allowDeleteChannels", true);
            cs.CreateAttributeReplace("memberSettings_allowAddRemoveApps", true);
            cs.CreateAttributeReplace("memberSettings_allowCreateUpdateRemoveTabs", true);
            cs.CreateAttributeReplace("memberSettings_allowCreateUpdateRemoveConnectors", true);
            cs.CreateAttributeReplace("guestSettings_allowCreateUpdateChannels", true);
            cs.CreateAttributeReplace("guestSettings_allowDeleteChannels", true);
            cs.CreateAttributeReplace("messagingSettings_allowUserEditMessages", true);
            cs.CreateAttributeReplace("messagingSettings_allowUserDeleteMessages", true);
            cs.CreateAttributeReplace("messagingSettings_allowOwnerDeleteMessages", true);
            cs.CreateAttributeReplace("messagingSettings_allowTeamMentions", true);
            cs.CreateAttributeReplace("messagingSettings_allowChannelMentions", true);
            cs.CreateAttributeReplace("funSettings_allowGiphy", true);
            cs.CreateAttributeReplace("funSettings_giphyContentRating", "Strict");
            cs.CreateAttributeReplace("funSettings_allowStickersAndMemes", true);
            cs.CreateAttributeReplace("funSettings_allowCustomMemes", true);

            await TeamTests.SubmitCSEntryChange(cs);

            team = await GraphHelperTeams.GetTeam(UnitTestControl.BetaClient, teamid, CancellationToken.None);

            Assert.AreEqual(true, team.MemberSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(true, team.MemberSettings.AllowDeleteChannels);
            Assert.AreEqual(true, team.MemberSettings.AllowAddRemoveApps);
            Assert.AreEqual(true, team.MemberSettings.AllowCreateUpdateRemoveTabs);
            Assert.AreEqual(true, team.MemberSettings.AllowCreateUpdateRemoveConnectors);
            Assert.AreEqual(true, team.GuestSettings.AllowCreateUpdateChannels);
            Assert.AreEqual(true, team.GuestSettings.AllowDeleteChannels);
            Assert.AreEqual(true, team.MessagingSettings.AllowUserEditMessages);
            Assert.AreEqual(true, team.MessagingSettings.AllowUserDeleteMessages);
            Assert.AreEqual(true, team.MessagingSettings.AllowOwnerDeleteMessages);
            Assert.AreEqual(true, team.MessagingSettings.AllowTeamMentions);
            Assert.AreEqual(true, team.MessagingSettings.AllowChannelMentions);
            Assert.AreEqual(true, team.FunSettings.AllowGiphy);
            Assert.AreEqual(GiphyRatingType.Strict, team.FunSettings.GiphyContentRating);
            Assert.AreEqual(true, team.FunSettings.AllowStickersAndMemes);
            Assert.AreEqual(true, team.FunSettings.AllowCustomMemes);
        }