示例#1
0
        public async Task GetAsync_InitializeCollectionProperties()
        {
            using (var httpResponseMessage = new HttpResponseMessage())
                using (var responseStream = new MemoryStream())
                    using (var streamContent = new StreamContent(responseStream))
                    {
                        httpResponseMessage.Content = streamContent;

                        var requestUrl = Constants.Authentication.OneDriveConsumerBaseUrl + "/drive/items/id";
                        this.httpProvider.Setup(
                            provider => provider.SendAsync(
                                It.Is <HttpRequestMessage>(
                                    request => request.RequestUri.ToString().Equals(requestUrl))))
                        .Returns(Task.FromResult <HttpResponseMessage>(httpResponseMessage));

                        var expectedChildrenPage = new ChildrenCollectionPage
                        {
                            new Item {
                                Id = "id"
                            }
                        };

                        var expectedItemResponse = new Item
                        {
                            AdditionalData = new Dictionary <string, object>
                            {
                                { "*****@*****.**", requestUrl + "/next" }
                            },
                            Children = expectedChildrenPage,
                        };

                        this.serializer.Setup(
                            serializer => serializer.DeserializeObject <Item>(It.IsAny <string>()))
                        .Returns(expectedItemResponse);

                        var item = await this.oneDriveClient.Drive.Items["id"].Request().GetAsync();

                        Assert.IsNotNull(item, "Item not returned.");
                        Assert.IsNotNull(item.Children, "Item children not returned.");
                        Assert.AreEqual(1, item.Children.CurrentPage.Count, "Unexpected number of children in page.");
                        Assert.AreEqual("id", item.Children.CurrentPage[0].Id, "Unexpected child ID in page.");
                        Assert.AreEqual(expectedItemResponse.AdditionalData, item.Children.AdditionalData, "Additional data not initialized correctly.");
                        var nextPageRequest = item.Children.NextPageRequest as ChildrenCollectionRequest;
                        Assert.IsNotNull(nextPageRequest, "Children next page request not initialized correctly.");
                        Assert.AreEqual(new Uri(requestUrl + "/next"), new Uri(nextPageRequest.RequestUrl), "Unexpected request URL for next page request.");
                    }
        }
        public async Task GetAsync_InitializeCollectionProperties()
        {
            using (var httpResponseMessage = new HttpResponseMessage())
            using (var responseStream = new MemoryStream())
            using (var streamContent = new StreamContent(responseStream))
            {
                httpResponseMessage.Content = streamContent;

                var requestUrl = Constants.Authentication.OneDriveConsumerBaseUrl + "/drive/items/id";
                this.httpProvider.Setup(
                    provider => provider.SendAsync(
                        It.Is<HttpRequestMessage>(
                            request => request.RequestUri.ToString().Equals(requestUrl))))
                    .Returns(Task.FromResult<HttpResponseMessage>(httpResponseMessage));

                var expectedChildrenPage = new ChildrenCollectionPage
                {
                    new Item { Id = "id" }
                };

                var expectedItemResponse = new Item
                {
                    AdditionalData = new Dictionary<string, object>
                    {
                        { "*****@*****.**", requestUrl + "/next" }
                    },
                    Children = expectedChildrenPage,
                };

                this.serializer.Setup(
                    serializer => serializer.DeserializeObject<Item>(It.IsAny<string>()))
                    .Returns(expectedItemResponse);

                var item = await this.oneDriveClient.Drive.Items["id"].Request().GetAsync();

                Assert.IsNotNull(item, "Item not returned.");
                Assert.IsNotNull(item.Children, "Item children not returned.");
                Assert.AreEqual(1, item.Children.CurrentPage.Count, "Unexpected number of children in page.");
                Assert.AreEqual("id", item.Children.CurrentPage[0].Id, "Unexpected child ID in page.");
                Assert.AreEqual(expectedItemResponse.AdditionalData, item.Children.AdditionalData, "Additional data not initialized correctly.");
                var nextPageRequest = item.Children.NextPageRequest as ChildrenCollectionRequest;
                Assert.IsNotNull(nextPageRequest, "Children next page request not initialized correctly.");
                Assert.AreEqual(new Uri(requestUrl + "/next"), new Uri(nextPageRequest.RequestUrl), "Unexpected request URL for next page request.");
            }
        }