Пример #1
0
        public async Task UpdateGroupMembership_ValidResponse()
        {
            Handler.Setup(h => h.ExecuteAsync <BoxGroupMembership>(It.IsAny <IBoxRequest>()))
            .Returns(() => Task.FromResult <IBoxResponse <BoxGroupMembership> >(new BoxResponse <BoxGroupMembership>()
            {
                Status        = ResponseStatus.Success,
                ContentString = @"{ ""type"": ""group_membership"", ""id"": ""2381570"",
                                        ""user"": { ""type"": ""user"", ""id"": ""4940223"", ""name"": ""<script>alert(12);</script>"", ""login"": ""*****@*****.**""},
                                        ""group"": { ""type"": ""group"", ""id"": ""159622"", ""name"": ""test204bbee0-f3b0-43b4-b213-214fcd2cb9a7"" },
                                        ""role"": ""admin"",
                                        ""created_at"": ""2013-11-13T13:19:44-08:00"",
                                        ""modified_at"": ""2013-11-13T13:19:44-08:00""}"
            }));

            BoxGroupMembershipRequest request = new BoxGroupMembershipRequest()
            {
                Role = "anything"
            };

            BoxGroupMembership response = await _groupsManager.UpdateGroupMembershipAsync("123", request);

            Assert.AreEqual("2381570", response.Id, "Wrong Membership id");
            Assert.AreEqual("group_membership", response.Type, "wrong type");
            Assert.AreEqual("159622", response.Group.Id, "Wrong group id");
            Assert.AreEqual("4940223", response.User.Id, "Wrong user id");
            Assert.AreEqual("admin", response.Role, "Wrong role");
            Assert.AreEqual(DateTime.Parse("2013-11-13T13:19:44-08:00"), response.CreatedAt, "Wrong created at");
            Assert.AreEqual(DateTime.Parse("2013-11-13T13:19:44-08:00"), response.ModifiedAt, "Wrong modified at");
        }
Пример #2
0
        protected async Task UpdateGroupMembershipsFromFile(string path,
                                                            bool save = false, string overrideSavePath = "", string overrideSaveFileFormat = "",
                                                            bool json = false)
        {
            var boxClient = base.ConfigureBoxClient(oneCallAsUserId: this._asUser.Value(), oneCallWithToken: base._oneUseToken.Value());

            if (!string.IsNullOrEmpty(path))
            {
                path = GeneralUtilities.TranslatePath(path);
            }
            try
            {
                var groupMembershipRequests           = base.ReadFile <BoxGroupMembership, BoxGroupMembershipUpdateRequestMap>(path);
                List <BoxGroupMembership> saveUpdated = new List <BoxGroupMembership>();

                foreach (var groupMembershipRequest in groupMembershipRequests)
                {
                    BoxGroupMembership updatedGroupMembership = null;
                    try
                    {
                        updatedGroupMembership = await boxClient.GroupsManager.UpdateGroupMembershipAsync(groupMembershipRequest.Id, new BoxGroupMembershipRequest()
                        {
                            Role = groupMembershipRequest.Role
                        });
                    }
                    catch (Exception e)
                    {
                        Reporter.WriteError("Couldn't update group membership...");
                        Reporter.WriteError(e.Message);
                    }
                    if (updatedGroupMembership != null)
                    {
                        this.PrintGroupMember(updatedGroupMembership, json);
                        if (save || !string.IsNullOrEmpty(overrideSavePath) || base._settings.GetAutoSaveSetting())
                        {
                            saveUpdated.Add(updatedGroupMembership);
                        }
                    }
                }
                if (save || !string.IsNullOrEmpty(overrideSavePath) || base._settings.GetAutoSaveSetting())
                {
                    var fileFormat = base._settings.GetBoxReportsFileFormatSetting();
                    if (!string.IsNullOrEmpty(overrideSaveFileFormat))
                    {
                        fileFormat = overrideSaveFileFormat;
                    }
                    var savePath = base._settings.GetBoxReportsFolderPath();
                    if (!string.IsNullOrEmpty(overrideSavePath))
                    {
                        savePath = overrideSavePath;
                    }
                    var fileName = $"{base._names.CommandNames.GroupMembership}-{base._names.SubCommandNames.Update}-{DateTime.Now.ToString(GeneralUtilities.GetDateFormatString())}";
                    base.WriteListResultsToReport <BoxGroupMembership, BoxGroupMembershipMap>(saveUpdated, fileName, savePath, fileFormat);
                }
            }
            catch (Exception e)
            {
                Reporter.WriteError(e.Message);
            }
        }
Пример #3
0
 protected virtual void PrintGroupMember(BoxGroupMembership g)
 {
     Reporter.WriteInformation($"ID: {g.Id}");
     Reporter.WriteInformation("Group: ");
     base.PrintGroup(g.Group);
     Reporter.WriteInformation("Group Member: ");
     Reporter.WriteInformation($"Role: {g.Role}");
     base.PrintMiniUser(g.User);
 }
Пример #4
0
 protected virtual void PrintGroupMember(BoxGroupMembership g, bool json)
 {
     if (json)
     {
         base.OutputJson(g);
         return;
     }
     else
     {
         this.PrintGroupMember(g);
     }
 }