Пример #1
0
        public async Task ThrowIfNull_WorksWithNullable_NoValue()
        {
            var responseString = "{\"type\":\"task\",\"id\":\"1874102965\"}";

            Handler.Setup(h => h.ExecuteAsync <BoxTask>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxTask> >(new BoxResponse <BoxTask>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }));

            var taskRequest = new BoxTaskCreateRequest
            {
                Item = new BoxRequestEntity
                {
                    Id = "1234"
                }
            };

            try
            {
                BoxTask task = await _tasksManager.CreateTaskAsync(taskRequest);
            }
            catch (ArgumentNullException ex)
            {
                Assert.AreEqual("taskCreateRequest.Item.Type", ex.ParamName);
                return;
            }

            Assert.Fail("Exception should have been thrown");
        }
Пример #2
0
        public async Task GetFileTasks_ValidResponse_ValidTasks()
        {
            /*** Arrange ***/
            string responseString = "{\"total_count\": 1, \"entries\": [{\"type\": \"task\", \"id\": \"1786931\",\"item\": {\"type\": \"file\",\"id\": \"7026335894\", \"sequence_id\": \"6\", \"etag\": \"6\", \"sha1\": \"81cc829fb8366fcfc108aa6c5a9bde01a6a10c16\",\"name\": \"API - Persist On-Behalf-Of information.docx\" }, \"due_at\": null }   ] }";

            _handler.Setup(h => h.ExecuteAsync <BoxCollection <BoxTask> >(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxCollection <BoxTask> > >(new BoxResponse <BoxCollection <BoxTask> >()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }));

            /*** Act ***/
            BoxCollection <BoxTask> tasks = await _filesManager.GetFileTasks("fakeId");

            /*** Assert ***/

            BoxTask task = tasks.Entries.FirstOrDefault();

            /*** Assert ***/
            Assert.AreEqual(1, tasks.TotalCount);
            Assert.AreEqual("1786931", task.Id);
            Assert.AreEqual("task", task.Type);
            Assert.AreEqual("API - Persist On-Behalf-Of information.docx", task.Item.Name);
            Assert.AreEqual("7026335894", task.Item.Id);
        }
Пример #3
0
        public async Task GetTask_ValidResponse()
        {
            /*** Arrange ***/
            var         responseString = @"{
                                        ""type"": ""task"",
                                        ""id"": ""1839355"",
                                        ""item"": {
                                            ""type"": ""file"",
                                            ""id"": ""7287087200"",
                                            ""sequence_id"": ""0"",
                                            ""etag"": ""0"",
                                            ""sha1"": ""0bbd79a105c504f99573e3799756debba4c760cd"",
                                            ""name"": ""box-logo.png""
                                        },
                                        ""due_at"": ""2014-04-03T11:09:43-07:00"",
                                        ""action"": ""review"",
                                        ""message"": ""REVIEW PLZ K THX"",
                                        ""task_assignment_collection"": {
                                            ""total_count"": 0,
                                            ""entries"": []
                                        },
                                        ""is_completed"": false,
                                        ""created_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""11993747"",
                                            ""name"": ""sean"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""created_at"": ""2013-04-03T11:12:54-07:00""
                                    }";
            IBoxRequest boxRequest     = null;
            var         tasksUri       = new Uri(Constants.TasksEndpointString);

            Config.SetupGet(x => x.TasksEndpointUri).Returns(tasksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxTask>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxTask> >(new BoxResponse <BoxTask>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            BoxTask result = await _tasksManager.GetTaskAsync("1839355");

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Get, boxRequest.Method);
            Assert.AreEqual(tasksUri + "1839355", boxRequest.AbsoluteUri.AbsoluteUri);

            //Response check
            Assert.AreEqual("1839355", result.Id);
            Assert.AreEqual("task", result.Type);
            Assert.AreEqual("7287087200", result.Item.Id);
            Assert.AreEqual("file", result.Item.Type);
            Assert.AreEqual("0", result.Item.ETag);
            Assert.AreEqual("REVIEW PLZ K THX", result.Message);
            Assert.AreEqual(false, result.IsCompleted);
            Assert.AreEqual("11993747", result.CreatedBy.Id);
            Assert.AreEqual("*****@*****.**", result.CreatedBy.Login);
            Assert.AreEqual(0, result.TaskAssignments.TotalCount);
        }
Пример #4
0
        public async Task CreateTask_WithCompletionRule()
        {
            /*** Arrange ***/
            var         responseString = @"{
                                        ""type"": ""task"",
                                        ""id"": ""1839355"",
                                        ""item"": {
                                            ""type"": ""file"",
                                            ""id"": ""7287087200"",
                                            ""sequence_id"": ""0"",
                                            ""etag"": ""0"",
                                            ""sha1"": ""0bbd79a105c504f99573e3799756debba4c760cd"",
                                            ""name"": ""box-logo.png""
                                        },
                                        ""due_at"": ""2014-04-03T11:09:43-07:00"",
                                        ""action"": ""review"",
                                        ""message"": ""REVIEW PLZ K THX"",
                                        ""task_assignment_collection"": {
                                            ""total_count"": 0,
                                            ""entries"": []
                                        },
                                        ""is_completed"": false,
                                        ""created_by"": {
                                            ""type"": ""user"",
                                            ""id"": ""11993747"",
                                            ""name"": ""sean"",
                                            ""login"": ""*****@*****.**""
                                        },
                                        ""created_at"": ""2013-04-03T11:12:54-07:00"",
                                        ""completion_rule"": ""any_assignee""
                                    }";
            IBoxRequest boxRequest     = null;
            var         tasksUri       = new Uri(Constants.TasksEndpointString);

            Config.SetupGet(x => x.TasksEndpointUri).Returns(tasksUri);
            Handler.Setup(h => h.ExecuteAsync <BoxTask>(It.IsAny <IBoxRequest>()))
            .Returns(Task.FromResult <IBoxResponse <BoxTask> >(new BoxResponse <BoxTask>()
            {
                Status        = ResponseStatus.Success,
                ContentString = responseString
            }))
            .Callback <IBoxRequest>(r => boxRequest = r);

            /*** Act ***/
            var taskCreateRequest = new BoxTaskCreateRequest()
            {
                Item = new BoxRequestEntity()
                {
                    Id   = "7287087200",
                    Type = BoxType.file
                },
                Message        = "REVIEW PLZ K THX",
                CompletionRule = BoxCompletionRule.any_assignee
            };
            BoxTask result = await _tasksManager.CreateTaskAsync(taskCreateRequest);

            /*** Assert ***/
            //Request check
            Assert.IsNotNull(boxRequest);
            Assert.AreEqual(RequestMethod.Post, boxRequest.Method);
            Assert.AreEqual(tasksUri, boxRequest.AbsoluteUri.AbsoluteUri);
            BoxTaskCreateRequest payload = JsonConvert.DeserializeObject <BoxTaskCreateRequest>(boxRequest.Payload);

            Assert.AreEqual(taskCreateRequest.Item.Id, payload.Item.Id);
            Assert.AreEqual(taskCreateRequest.Item.Type, payload.Item.Type);
            Assert.AreEqual(taskCreateRequest.Message, payload.Message);
            Assert.AreEqual(taskCreateRequest.CompletionRule, payload.CompletionRule);
            Assert.IsTrue(boxRequest.Payload.ContainsKeyValue("completion_rule", "any_assignee"));

            //Response check
            Assert.AreEqual(BoxCompletionRule.any_assignee, result.CompletionRule);
        }
Пример #5
0
 protected virtual void PrintTask(BoxTask task)
 {
     Reporter.WriteInformation($"Task ID: {task.Id}");
     Reporter.WriteInformation($"Task Action: {task.Action}");
     Reporter.WriteInformation($"Task Message: {task.Message}");
 }