11package com .microsoft .graph .content ;
22
33import com .microsoft .graph .CoreConstants ;
4+ import com .microsoft .graph .UrlReplacement ;
45import com .microsoft .graph .exceptions .ErrorConstants ;
56import com .microsoft .graph .models .BatchRequestStep ;
67import com .microsoft .graph .BaseClient ;
2122import java .nio .charset .StandardCharsets ;
2223import java .util .*;
2324
25+ import static com .microsoft .graph .CoreConstants .ReplacementConstants .USERS_ENDPOINT_WITH_REPLACE_TOKEN ;
2426import static org .junit .jupiter .api .Assertions .*;
2527import static org .mockito .Mockito .*;
2628
2729class 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