Skip to content

Commit 113f379

Browse files
committed
Update delta link unit test
1 parent ec376b3 commit 113f379

File tree

2 files changed

+28
-36
lines changed

2 files changed

+28
-36
lines changed

src/test/java/com/microsoft/graph/core/tasks/PageIteratorTest.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,18 +179,34 @@ void given_CollectionPage_Without_NextLink_Property_It_Iterates_Across_Pages() t
179179
void given_CollectionPage_Delta_Link_Property_It_Iterates_Across_Pages() throws ReflectiveOperationException, ApiException {
180180
TestEventsDeltaResponse originalPage = new TestEventsDeltaResponse();
181181
originalPage.setValue(new LinkedList<>());
182-
originalPage.setOdataDeltaLink("http://localhost/events?$skip=11");
182+
originalPage.setOdataNextLink("http://localhost/events?$skip=11");
183183
int inputEventCount = 17;
184184
for(int i = 0; i < inputEventCount; i++) {
185185
TestEventItem testEventItem = new TestEventItem();
186186
testEventItem.setSubject("Test Event: " + i);
187187
originalPage.getValue().add(testEventItem);
188188
}
189189

190-
Function<TestEventItem, Boolean> processPageItemCallback = item -> true;
190+
TestEventsDeltaResponse secondPage = new TestEventsDeltaResponse();
191+
secondPage.setValue(new LinkedList<TestEventItem>());
192+
secondPage.setOdataDeltaLink("http://localhost/events?$skip=11");
193+
int secondPageEventCount = 5;
194+
for(int i = 0; i < secondPageEventCount; i++) {
195+
TestEventItem testEventItem = new TestEventItem();
196+
testEventItem.setSubject("Second Page Test Event: " + i);
197+
secondPage.getValue().add(testEventItem);
198+
}
199+
200+
AtomicInteger totalItemsProcessed = new AtomicInteger(0);
201+
202+
Function<TestEventItem, Boolean> processPageItemCallback = item -> {
203+
totalItemsProcessed.incrementAndGet();
204+
return true;
205+
};
191206

207+
MockAdapter mockAdapter = new MockAdapter(mock(AuthenticationProvider.class), secondPage);
192208
PageIterator<TestEventItem, TestEventsDeltaResponse> pageIterator = new PageIterator.Builder<TestEventItem, TestEventsDeltaResponse>()
193-
.client(baseClient)
209+
.requestAdapter(mockAdapter)
194210
.collectionPage(originalPage)
195211
.collectionPageFactory(TestEventsDeltaResponse::createFromDiscriminatorValue)
196212
.processPageItemCallback(processPageItemCallback)
@@ -200,6 +216,7 @@ void given_CollectionPage_Delta_Link_Property_It_Iterates_Across_Pages() throws
200216

201217
assertEquals(PageIterator.PageIteratorState.DELTA, pageIterator.getPageIteratorState());
202218
assertEquals("http://localhost/events?$skip=11", pageIterator.getDeltaLink());
219+
assertEquals(inputEventCount + secondPageEventCount, totalItemsProcessed.get());
203220
}
204221

205222
@Test

src/test/java/com/microsoft/graph/core/testModels/TestEventsDeltaResponse.java

Lines changed: 8 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,12 @@
88
import java.util.*;
99
import java.util.function.Consumer;
1010

11-
public class TestEventsDeltaResponse implements Parsable, AdditionalDataHolder {
12-
public Map<String, Object> additionalData;
11+
public class TestEventsDeltaResponse extends BaseCollectionPaginationCountResponse {
1312
private String odataDeltaLink;
14-
private String odataNextLink;
1513
public List<TestEventItem> value;
1614

1715
public TestEventsDeltaResponse() {
18-
additionalData = new HashMap<>();
19-
}
20-
21-
public Map<String, Object> getAdditionalData() {
22-
return additionalData;
23-
}
24-
25-
public void setAdditionalData(Map<String, Object> additionalData) {
26-
this.additionalData = additionalData;
16+
super();
2717
}
2818

2919
public String getOdataDeltaLink() {
@@ -34,14 +24,6 @@ public void setOdataDeltaLink(String odataDeltaLink) {
3424
this.odataDeltaLink = odataDeltaLink;
3525
}
3626

37-
public String getOdataNextLink() {
38-
return odataNextLink;
39-
}
40-
41-
public void setOdataNextLink(String odataNextLink) {
42-
this.odataNextLink = odataNextLink;
43-
}
44-
4527
public List<TestEventItem> getValue() {
4628
return value;
4729
}
@@ -51,22 +33,15 @@ public void setValue(List<TestEventItem> value) {
5133
}
5234

5335
public Map<String, Consumer<ParseNode>> getFieldDeserializers() {
54-
HashMap<String, Consumer<ParseNode>> fieldDeserializers = new HashMap<>();
55-
fieldDeserializers.put("@odata.deltaLink", (n) -> setOdataDeltaLink(n.getStringValue()));
56-
fieldDeserializers.put("@odata.nextLink", (n) -> setOdataNextLink(n.getStringValue()));
57-
fieldDeserializers.put("value", (n) -> setValue(n.getCollectionOfObjectValues(TestEventItem::createFromDiscriminatorValue)));
58-
return fieldDeserializers;
36+
final HashMap<String, java.util.function.Consumer<ParseNode>> deserializerMap = new HashMap<String, java.util.function.Consumer<ParseNode>>(super.getFieldDeserializers());
37+
deserializerMap.put("value", (n) -> { this.setValue(n.getCollectionOfObjectValues(TestEventItem::createFromDiscriminatorValue)); });
38+
return deserializerMap;
5939
}
6040

6141
public void serialize(SerializationWriter writer) {
62-
if (writer == null) {
63-
throw new IllegalArgumentException("writer");
64-
}
65-
66-
writer.writeStringValue("@odata.deltaLink", odataDeltaLink);
67-
writer.writeStringValue("@odata.nextLink", odataNextLink);
68-
writer.writeCollectionOfObjectValues("value", value);
69-
writer.writeAdditionalData(additionalData);
42+
Objects.requireNonNull(writer);
43+
super.serialize(writer);
44+
writer.writeCollectionOfObjectValues("value", getValue());
7045
}
7146

7247
public static TestEventsDeltaResponse createFromDiscriminatorValue(ParseNode parseNode) {

0 commit comments

Comments
 (0)