示例#1
0
        public async Task ListTasks_ReturnsSuccess()
        {
            var httpHandlerMock = new HttpMessageHandlerMock();
            var httpClient      = new HttpClient(httpHandlerMock);

            httpHandlerMock.SendAsyncFunc =
                (request, cancellationToken) =>
                Task.FromResult(
                    new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(
                    ListTasksResponseContent,
                    Encoding.UTF8,
                    "application/json")
            });

            var firstExpectedTask = GetTaskDetailsTests.GetCreatedTask();

            var egnyteClient = new EgnyteClient("token", "acme", httpClient);
            var tasksList    = await egnyteClient.Tasks.ListTasks(firstExpectedTask.File.GroupId);

            var requestMessage = httpHandlerMock.GetHttpRequestMessage();

            Assert.AreEqual(
                "https://acme.egnyte.com/pubapi/v1/tasks?groupId=" + firstExpectedTask.File.GroupId,
                requestMessage.RequestUri.ToString());

            Assert.AreEqual(2, tasksList.Count);
            Assert.AreEqual(2, tasksList.Tasks.Count);
            GetTaskDetailsTests.AssertTasksEqual(firstExpectedTask, tasksList.Tasks.First());
        }
示例#2
0
        public async Task SetTaskStatus_ReturnsSuccess()
        {
            var httpHandlerMock = new HttpMessageHandlerMock();
            var httpClient      = new HttpClient(httpHandlerMock);

            httpHandlerMock.SendAsyncFunc =
                (request, cancellationToken) =>
                Task.FromResult(
                    new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK
            });

            var createdTask = GetTaskDetailsTests.GetCreatedTask();

            var egnyteClient = new EgnyteClient("token", "acme", httpClient);
            var updatedTask  = await egnyteClient.Tasks.SetTaskStatus(createdTask.Id, Api.Tasks.TaskStatus.Completed);

            var requestMessage = httpHandlerMock.GetHttpRequestMessage();

            Assert.AreEqual(
                "https://acme.egnyte.com/pubapi/v1/tasks/" + createdTask.Id,
                requestMessage.RequestUri.ToString());

            var content = httpHandlerMock.GetRequestContentAsString();

            Assert.AreEqual(
                TestsHelper.RemoveWhitespaces(ChangeStatusRequestContent),
                TestsHelper.RemoveWhitespaces(content));
        }
示例#3
0
        public async Task CreateTask_ReturnsSuccess()
        {
            var httpHandlerMock = new HttpMessageHandlerMock();
            var httpClient      = new HttpClient(httpHandlerMock);

            httpHandlerMock.SendAsyncFunc =
                (request, cancellationToken) =>
                Task.FromResult(
                    new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.Created,
                Content    = new StringContent(
                    GetTaskDetailsTests.CreatedTaskResponse,
                    Encoding.UTF8,
                    "application/json")
            });

            var expectedTask = GetTaskDetailsTests.GetCreatedTask();
            var newTask      = GetNewTask(expectedTask);

            var egnyteClient = new EgnyteClient("token", "acme", httpClient);
            var createdTask  = await egnyteClient.Tasks.CreateTask(newTask);

            var requestMessage = httpHandlerMock.GetHttpRequestMessage();

            Assert.AreEqual("https://acme.egnyte.com/pubapi/v1/tasks", requestMessage.RequestUri.ToString());

            var content = httpHandlerMock.GetRequestContentAsString();

            Assert.AreEqual(
                TestsHelper.RemoveWhitespaces(CreateTaskRequestContent),
                TestsHelper.RemoveWhitespaces(content));

            GetTaskDetailsTests.AssertTasksEqual(expectedTask, createdTask);
        }
示例#4
0
        public async Task ListTasks_WithAllParameters_ReturnsSuccess()
        {
            var httpHandlerMock = new HttpMessageHandlerMock();
            var httpClient      = new HttpClient(httpHandlerMock);

            httpHandlerMock.SendAsyncFunc =
                (request, cancellationToken) =>
                Task.FromResult(
                    new HttpResponseMessage
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(
                    ListTasksResponseContent,
                    Encoding.UTF8,
                    "application/json")
            });

            var taskDetails = GetTaskDetailsTests.GetCreatedTask();

            var egnyteClient = new EgnyteClient("token", "acme", httpClient);
            var TasksList    = await egnyteClient.Tasks.ListTasks(
                groupId : taskDetails.File.GroupId,
                assigneeId : taskDetails.Assignees.First().Id,
                assignorId : taskDetails.Assignor.Id,
                limit : 50,
                offset : 0,
                sortBy : "dueDate",
                sortDirection : SortDirection.Ascending);

            var requestMessage = httpHandlerMock.GetHttpRequestMessage();

            Assert.AreEqual(
                string.Format(
                    "https://acme.egnyte.com/pubapi/v1/tasks?groupId={0}&assigneeId={1}&assignorId={2}&limit=50&offset=0&sortBy=dueDate&sortDirection=ASC",
                    taskDetails.File.GroupId,
                    taskDetails.Assignees.First().Id,
                    taskDetails.Assignor.Id),
                requestMessage.RequestUri.ToString());
        }