Skip to content

Commit 7ebe473

Browse files
committed
Replace URL at BatchRequestStep, update tests
1 parent 1e763c5 commit 7ebe473

File tree

2 files changed

+36
-22
lines changed

2 files changed

+36
-22
lines changed

src/main/java/com/microsoft/graph/models/BatchRequestStep.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
package com.microsoft.graph.models;
22

33
import com.google.common.base.Strings;
4+
import com.microsoft.graph.CoreConstants;
5+
import com.microsoft.graph.UrlReplacement;
46
import com.microsoft.graph.exceptions.ErrorConstants;
57
import okhttp3.Request;
68

79
import javax.annotation.Nonnull;
8-
import java.util.ArrayList;
9-
import java.util.Collections;
10-
import java.util.List;
11-
import java.util.Objects;
10+
import java.util.*;
1211

1312
/**
1413
* Represents a single request in a batch request
@@ -29,7 +28,7 @@ public BatchRequestStep(@Nonnull String requestId, @Nonnull Request request) {
2928
throw new IllegalArgumentException("requestId cannot be null or empty.");
3029
}
3130
this.requestId = requestId;
32-
this.request = request;
31+
this.request = UrlReplacement.replaceRequestUrl(request, CoreConstants.ReplacementConstants.getDefaultReplacementPairs());
3332
}
3433
/**
3534
* Creates a new BatchRequestStep

src/test/java/com/microsoft/graph/content/BatchRequestContentTest.java

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.microsoft.graph.content;
22

33
import com.microsoft.graph.CoreConstants;
4+
import com.microsoft.graph.UrlReplacement;
45
import com.microsoft.graph.exceptions.ErrorConstants;
56
import com.microsoft.graph.models.BatchRequestStep;
67
import com.microsoft.graph.BaseClient;
@@ -21,13 +22,14 @@
2122
import java.nio.charset.StandardCharsets;
2223
import java.util.*;
2324

25+
import static com.microsoft.graph.CoreConstants.ReplacementConstants.USERS_ENDPOINT_WITH_REPLACE_TOKEN;
2426
import static org.junit.jupiter.api.Assertions.*;
2527
import static org.mockito.Mockito.*;
2628

2729
class BatchRequestContentTest {
28-
29-
static final String requestUrl = "https://graph.microsoft.com/v1.0/me";
30+
static final String requestUrl = "https://graph.microsoft.com/v1.0"+USERS_ENDPOINT_WITH_REPLACE_TOKEN;
3031
private final IBaseClient client = new BaseClient(new AnonymousAuthenticationProvider(), requestUrl);
32+
private final Request defaultTestRequest = new Request.Builder().url(requestUrl).build();
3133

3234
@Test
3335
void BatchRequestContent_DefaultInitialization() {
@@ -40,7 +42,7 @@ void BatchRequestContent_DefaultInitialization() {
4042
void BatchRequestContent_InitializeWithBatchRequestSteps() {
4143
ArrayList<BatchRequestStep> requestStepList = new ArrayList<>();
4244
for(int i = 0; i < 5; i++) {
43-
requestStepList.add(new BatchRequestStep(String.valueOf(i), mock(Request.class)));
45+
requestStepList.add(new BatchRequestStep(String.valueOf(i), defaultTestRequest));
4446
}
4547
BatchRequestContent batchRequestContent = new BatchRequestContent(client, requestStepList);
4648

@@ -49,8 +51,8 @@ void BatchRequestContent_InitializeWithBatchRequestSteps() {
4951
}
5052
@Test
5153
void BatchRequestContent_InitializeWithInvalidDependsOnIds() {
52-
BatchRequestStep requestStep = new BatchRequestStep("1", mock(Request.class));
53-
BatchRequestStep requestStep2 = new BatchRequestStep("2", mock(Request.class), Arrays.asList("3"));
54+
BatchRequestStep requestStep = new BatchRequestStep("1", defaultTestRequest);
55+
BatchRequestStep requestStep2 = new BatchRequestStep("2", defaultTestRequest, Arrays.asList("3"));
5456
try {
5557
new BatchRequestContent(client, Arrays.asList(requestStep, requestStep2));
5658
} catch (IllegalArgumentException ex) {
@@ -59,7 +61,7 @@ void BatchRequestContent_InitializeWithInvalidDependsOnIds() {
5961
}
6062
@Test
6163
void BatchRequestContent_AddBatchRequestStepWithNewRequestStep() {
62-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
64+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
6365
BatchRequestContent batchRequestContent = new BatchRequestContent(client);
6466

6567
assertTrue(batchRequestContent.getBatchRequestSteps().isEmpty());
@@ -71,16 +73,16 @@ void BatchRequestContent_AddBatchRequestStepWithNewRequestStep() {
7173
void BatchRequestContent_AddBatchRequestStepToBatchRequestContentWithMaxSteps() {
7274
BatchRequestContent batchRequestContent = new BatchRequestContent(client);
7375
for(int i = 0; i < CoreConstants.BatchRequest.MAX_REQUESTS; i++) {
74-
assertTrue(batchRequestContent.addBatchRequestStep(new BatchRequestStep(String.valueOf(i), mock(Request.class))));
76+
assertTrue(batchRequestContent.addBatchRequestStep(new BatchRequestStep(String.valueOf(i), defaultTestRequest)));
7577
}
76-
BatchRequestStep batchRequestStep21 = new BatchRequestStep("failing_id", mock(Request.class));
78+
BatchRequestStep batchRequestStep21 = new BatchRequestStep("failing_id", defaultTestRequest);
7779

7880
assertFalse(batchRequestContent.addBatchRequestStep(batchRequestStep21));
7981
assertEquals(CoreConstants.BatchRequest.MAX_REQUESTS, batchRequestContent.getBatchRequestSteps().size());
8082
}
8183
@Test
8284
void BatchRequestContent_AddBatchRequestStepWithExistingRequestStep() {
83-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
85+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
8486
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep));
8587

8688
assertFalse(batchRequestContent.addBatchRequestStep(batchRequestStep));
@@ -89,17 +91,27 @@ void BatchRequestContent_AddBatchRequestStepWithExistingRequestStep() {
8991
}
9092
@Test
9193
void BatchRequestContent_AddBatchRequestStepWithNullRequestStep() {
92-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
94+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
9395
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep));
9496

9597
assertFalse(batchRequestContent.addBatchRequestStep((BatchRequestStep) null));
9698
assertNotNull(batchRequestContent.getBatchRequestSteps());
9799
assertEquals(1, batchRequestContent.getBatchRequestSteps().size());
98100
}
99101
@Test
102+
void BatchRequestContent_AddBatchRequestStep_WithTokenToReplaceUrl() {
103+
Request requestWithReplaceableToken = new Request.Builder().url("https://test-url.com"+USERS_ENDPOINT_WITH_REPLACE_TOKEN).build();
104+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", requestWithReplaceableToken);
105+
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep));
106+
107+
assertNotNull(batchRequestContent.getBatchRequestSteps());
108+
assertEquals(1, batchRequestContent.getBatchRequestSteps().size());
109+
assertEquals("https://test-url.com/me", batchRequestContent.getBatchRequestSteps().get("1").getRequest().url().toString());
110+
}
111+
@Test
100112
void BatchRequestContent_RemoveBatchRequestStepWithIdForExistingId() {
101-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
102-
BatchRequestStep batchRequestStep2 = new BatchRequestStep("2", mock(Request.class), Arrays.asList("1", "1", "1"));
113+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
114+
BatchRequestStep batchRequestStep2 = new BatchRequestStep("2", defaultTestRequest, Arrays.asList("1", "1", "1"));
103115
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep, batchRequestStep2));
104116

105117
assertTrue(batchRequestContent.removeBatchRequestStepWithId("1"));
@@ -108,8 +120,8 @@ void BatchRequestContent_RemoveBatchRequestStepWithIdForExistingId() {
108120
}
109121
@Test
110122
void BatchRequestContent_RemoveBatchRequestStepWithIdForNonExistingId() {
111-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
112-
BatchRequestStep batchRequestStep2 = new BatchRequestStep("2", mock(Request.class), Arrays.asList("1"));
123+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
124+
BatchRequestStep batchRequestStep2 = new BatchRequestStep("2", defaultTestRequest, Arrays.asList("1"));
113125
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep, batchRequestStep2));
114126

115127
assertFalse(batchRequestContent.removeBatchRequestStepWithId("3"));
@@ -119,7 +131,7 @@ void BatchRequestContent_RemoveBatchRequestStepWithIdForNonExistingId() {
119131
@Test
120132
void BatchRequestContent_GetBatchRequestContentFromStep() throws Exception {
121133
Request request = new Request.Builder().url(requestUrl).build();
122-
BatchRequestStep batchRequestStep = new BatchRequestStep("1", mock(Request.class));
134+
BatchRequestStep batchRequestStep = new BatchRequestStep("1", defaultTestRequest);
123135
BatchRequestStep batchRequestStep2 = new BatchRequestStep("2", request, Arrays.asList("1"));
124136
BatchRequestContent batchRequestContent = new BatchRequestContent(client, Arrays.asList(batchRequestStep, batchRequestStep2));
125137

@@ -228,6 +240,7 @@ void BatchRequestContent_AddBatchRequestStepWithHttpRequestMessage() {
228240

229241
Request request = new Request.Builder().url(requestUrl).build();
230242
String requestId = batchRequestContent.addBatchRequestStep(request);
243+
request = UrlReplacement.replaceRequestUrl(request, CoreConstants.ReplacementConstants.getDefaultReplacementPairs());
231244

232245
assertNotNull(requestId);
233246
assertNotNull(batchRequestContent.getBatchRequestSteps());
@@ -256,16 +269,18 @@ void BatchRequestContent_AddBatchRequestStepWithHttpRequestMessageToBatchRequest
256269
void BatchRequestContent_AddBatchRequestStepWithBaseRequest() throws IOException {
257270
BatchRequestContent batchRequestContent = new BatchRequestContent(client);
258271
RequestInformation requestInfo = new RequestInformation();
259-
requestInfo.urlTemplate = requestUrl;
272+
requestInfo.urlTemplate = requestUrl; //URL here is https://graph.microsoft.com/v1.0/users/TokenToReplace
260273
requestInfo.httpMethod = HttpMethod.GET;
261274

262275
assertTrue(batchRequestContent.getBatchRequestSteps().isEmpty());
263276
String requestId = batchRequestContent.addBatchRequestStep(requestInfo).join();
277+
String expectedUrl = "https://graph.microsoft.com/v1.0/me"; //We expect the url to be changed because it contains the default replacement pairs
278+
264279

265280
assertNotNull(requestId);
266281
assertNotNull(batchRequestContent.getBatchRequestSteps());
267282
assertEquals(1, batchRequestContent.getBatchRequestSteps().size());
268-
assertEquals(requestUrl, batchRequestContent.getBatchRequestSteps().get(requestId).getRequest().url().uri().toString());
283+
assertEquals(expectedUrl, batchRequestContent.getBatchRequestSteps().get(requestId).getRequest().url().uri().toString());
269284
assertEquals(batchRequestContent.getBatchRequestSteps().get(requestId).getRequest().method(), requestInfo.httpMethod.toString());
270285
}
271286
@Test

0 commit comments

Comments
 (0)