Skip to content

Commit 906a7e7

Browse files
authored
Merge pull request #88 from contentstack/test/DX-1233-EarlyAccess-testcase
Test/dx 1233 early access testcase
2 parents 60d08c1 + 644bafe commit 906a7e7

3 files changed

Lines changed: 89 additions & 5 deletions

File tree

changelog.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## v1.4.4
4+
5+
### Sept 04, 2024
6+
7+
- Early access header tests
8+
39
## v1.4.3
410

511
### July 08, 2024

pom.xml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<artifactId>cms</artifactId>
88
<packaging>jar</packaging>
99
<name>contentstack-management-java</name>
10-
<version>1.4.3</version>
10+
<version>1.4.4</version>
1111
<description>Contentstack Java Management SDK for Content Management API, Contentstack is a headless CMS with an
1212
API-first approach
1313
</description>
@@ -91,11 +91,11 @@
9191
<rxjava-source.version>3.1.8</rxjava-source.version>
9292
<retrofit-source.version>2.10.0</retrofit-source.version>
9393
<converter-gson-version>2.10.0</converter-gson-version>
94-
<logging.version>5.0.0-alpha.12</logging.version>
94+
<okhttp.version>4.12.0</okhttp.version>
9595
<jococo-plugin.version>0.8.7</jococo-plugin.version>
9696
<lombok-source.version>1.18.32</lombok-source.version>
9797
<junit-jupiter.version>5.10.1</junit-jupiter.version>
98-
<junit-jupiter-engine.version>5.8.0-M1</junit-jupiter-engine.version>
98+
<junit-jupiter-engine.version>5.10.1</junit-jupiter-engine.version>
9999
<gson.version>2.10.1</gson.version>
100100
<maven-site-plugin.version>3.3</maven-site-plugin.version>
101101
<maven-gpg-plugin.version>1.5</maven-gpg-plugin.version>
@@ -132,9 +132,20 @@
132132
<dependency>
133133
<groupId>com.squareup.okhttp3</groupId>
134134
<artifactId>logging-interceptor</artifactId>
135-
<version>${logging.version}</version>
135+
<version>${okhttp.version}</version>
136136
<scope>compile</scope>
137137
</dependency>
138+
<dependency>
139+
<groupId>com.squareup.okhttp3</groupId>
140+
<artifactId>okhttp</artifactId>
141+
<version>${okhttp.version}</version>
142+
</dependency>
143+
<dependency>
144+
<groupId>com.squareup.okhttp3</groupId>
145+
<artifactId>mockwebserver</artifactId>
146+
<version>${okhttp.version}</version>
147+
<scope>test</scope>
148+
</dependency>
138149
<dependency>
139150
<groupId>org.jetbrains</groupId>
140151
<artifactId>annotations</artifactId>
@@ -253,7 +264,7 @@
253264
</plugin>
254265

255266
<!-- -overview
256-
"/Users/shaileshmishra/Documents/Workspace/contentstack/java/contentstack-management-java/src/main/overview.html"
267+
"***REMOVED***tentstack/java/contentstack-management-java/src/main/overview.html"
257268
-bottom "<b>Copyright © 2012-2022 Contentstack </b><sup>TM</sup>"-->
258269
<plugin>
259270
<groupId>org.apache.maven.plugins</groupId>

src/test/java/com/contentstack/cms/ContentstackUnitTest.java

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
package com.contentstack.cms;
22

3+
import com.contentstack.cms.core.AuthInterceptor;
34
import com.contentstack.cms.organization.Organization;
45
import com.contentstack.cms.stack.Stack;
56
import okhttp3.Headers;
7+
import okhttp3.OkHttpClient;
8+
import okhttp3.Request;
69
import okhttp3.ResponseBody;
10+
import okhttp3.mockwebserver.MockResponse;
11+
import okhttp3.mockwebserver.MockWebServer;
12+
import okhttp3.mockwebserver.RecordedRequest;
713
import org.junit.jupiter.api.Assertions;
814
import org.junit.jupiter.api.Test;
915
import retrofit2.Response;
@@ -262,5 +268,66 @@ public void testEmptyOrganizationUid() {
262268
Assertions.assertThrows(IllegalStateException.class, () -> client.organization(emptyOrganizationUid));
263269
}
264270

271+
@Test
272+
public void testEarlyAccessHeader() throws IOException, InterruptedException {
273+
MockWebServer mockWebServer = new MockWebServer();
274+
mockWebServer.enqueue(new MockResponse().setBody("{}"));
275+
276+
AuthInterceptor authInterceptor = new AuthInterceptor();
277+
authInterceptor.setEarlyAccess(new String[]{"Taxonomy"});
278+
279+
OkHttpClient client = new OkHttpClient.Builder()
280+
.addInterceptor(authInterceptor)
281+
.build();
282+
283+
Request request = new Request.Builder()
284+
.url(mockWebServer.url("/"))
285+
.build();
286+
287+
client.newCall(request).execute();
288+
RecordedRequest recordedRequest = mockWebServer.takeRequest();
289+
String earlyAccessHeader = recordedRequest.getHeader("x-header-ea");
290+
291+
Assertions.assertNotNull(earlyAccessHeader);
292+
Assertions.assertEquals("Taxonomy", earlyAccessHeader);
293+
294+
mockWebServer.shutdown();
295+
}
296+
@Test
297+
public void testEarlyAccessMultipleHeader() throws IOException, InterruptedException {
298+
MockWebServer mockWebServer = new MockWebServer();
299+
mockWebServer.enqueue(new MockResponse().setBody("{}"));
300+
301+
AuthInterceptor authInterceptor = new AuthInterceptor();
302+
authInterceptor.setEarlyAccess(new String[]{"Taxonomy","Teams"});
303+
304+
OkHttpClient client = new OkHttpClient.Builder()
305+
.addInterceptor(authInterceptor)
306+
.build();
307+
308+
Request request = new Request.Builder()
309+
.url(mockWebServer.url("/"))
310+
.build();
311+
312+
client.newCall(request).execute();
313+
RecordedRequest recordedRequest = mockWebServer.takeRequest();
314+
String earlyAccessHeader = recordedRequest.getHeader("x-header-ea");
315+
316+
Assertions.assertNotNull(earlyAccessHeader);
317+
Assertions.assertEquals("Taxonomy, Teams", earlyAccessHeader);
318+
319+
mockWebServer.shutdown();
320+
}
321+
322+
@Test
323+
public void testEarlyAccessHeaderEmpty() {
324+
String[] emptyEarlyAccessFeatures = {};
325+
Contentstack client = new Contentstack.Builder()
326+
.earlyAccess(emptyEarlyAccessFeatures)
327+
.build();
328+
329+
Assertions.assertNotNull(client.earlyAccess);
330+
Assertions.assertEquals(0, client.earlyAccess.length);
331+
}
265332

266333
}

0 commit comments

Comments
 (0)