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."); } }