Skip to content

Commit de1694e

Browse files
❇️ tokens added
1 parent aedb4bf commit de1694e

File tree

4 files changed

+394
-0
lines changed

4 files changed

+394
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package com.contentstack.cms.stack;public interface TokenService {
2+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package com.contentstack.cms.stack;public class Tokens {
2+
}
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
package com.contentstack.cms.stack;
2+
3+
import com.contentstack.cms.Contentstack;
4+
import com.contentstack.cms.core.Util;
5+
import io.github.cdimascio.dotenv.Dotenv;
6+
import okhttp3.MediaType;
7+
import okhttp3.Request;
8+
import okhttp3.RequestBody;
9+
import okio.BufferedSink;
10+
import org.json.simple.JSONObject;
11+
import org.junit.jupiter.api.Assertions;
12+
import org.junit.jupiter.api.BeforeAll;
13+
import org.junit.jupiter.api.Test;
14+
15+
import java.util.ArrayList;
16+
import java.util.Arrays;
17+
import java.util.HashMap;
18+
import java.util.Map;
19+
20+
class ExtensionUnitTest {
21+
22+
protected static String AUTHTOKEN = Dotenv.load().get("authToken");
23+
protected static String API_KEY = Dotenv.load().get("api_key");
24+
protected static String _uid = Dotenv.load().get("auth_token");
25+
protected static String MANAGEMENT_TOKEN = Dotenv.load().get("auth_token");
26+
static Extensions extension;
27+
28+
@BeforeAll
29+
static void setup() {
30+
HashMap<String, Object> headers = new HashMap<>();
31+
headers.put(Util.API_KEY, API_KEY);
32+
headers.put(Util.AUTHORIZATION, MANAGEMENT_TOKEN);
33+
Stack stack = new Contentstack.Builder().setAuthtoken(AUTHTOKEN).build().stack(headers);
34+
extension = stack.extensions();
35+
}
36+
37+
@Test
38+
void extensionGetAll() {
39+
Map<String, Object> body = new HashMap<>();
40+
body.put("keyForSomething", "valueForSomething");
41+
Request request = extension.getAll("\"type\":\"field\"", false).request();
42+
Assertions.assertEquals(3, request.headers().names().size());
43+
Assertions.assertEquals("GET", request.method());
44+
Assertions.assertTrue(request.url().isHttps());
45+
Assertions.assertEquals("api.contentstack.io", request.url().host());
46+
Assertions.assertEquals(2, request.url().pathSegments().size());
47+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
48+
Assertions.assertEquals("v3", request.url().pathSegments().get(0));
49+
Assertions.assertNotNull(request.url().encodedQuery());
50+
Assertions.assertEquals(
51+
"https://api.contentstack.io/v3/extensions?query=%22type%22%3A%22field%22&include_branch=false",
52+
request.url().toString());
53+
}
54+
55+
@Test
56+
void getSingleWithUid() {
57+
Map<String, Object> queryParam = new HashMap<>();
58+
queryParam.put("include_count", false);
59+
queryParam.put("include_branch", false);
60+
Request request = extension.get(_uid, queryParam).request();
61+
Assertions.assertEquals(2, request.headers().names().size());
62+
Assertions.assertEquals("GET", request.method());
63+
Assertions.assertTrue(request.url().isHttps());
64+
Assertions.assertEquals("api.contentstack.io", request.url().host());
65+
Assertions.assertEquals(3, request.url().pathSegments().size());
66+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
67+
Assertions.assertEquals("include_count=false&include_branch=false", request.url().encodedQuery());
68+
Assertions.assertEquals(
69+
"https://api.contentstack.io/v3/extensions/" + _uid + "?include_count=false&include_branch=false",
70+
request.url().toString());
71+
}
72+
73+
@Test
74+
void extensionUpdate() {
75+
Map<String, Object> queryParam = new HashMap<>();
76+
queryParam.put("include_count", false);
77+
queryParam.put("include_branch", false);
78+
79+
JSONObject body = new JSONObject();
80+
JSONObject innerBody = new JSONObject();
81+
innerBody.put("tags", Arrays.asList("tag1", "tag2"));
82+
innerBody.put("data_type", "text");
83+
innerBody.put("title", "Old Extension");
84+
innerBody.put("src", "Enter either the source code");
85+
body.put("extension", innerBody);
86+
87+
Request request = extension.update(_uid, queryParam, body).request();
88+
Assertions.assertEquals(2, request.headers().names().size());
89+
Assertions.assertEquals("PUT", request.method());
90+
Assertions.assertTrue(request.url().isHttps());
91+
Assertions.assertEquals("api.contentstack.io", request.url().host());
92+
Assertions.assertEquals(3, request.url().pathSegments().size());
93+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
94+
Assertions.assertNotNull(request.body());
95+
Assertions.assertEquals("include_count=false&include_branch=false", request.url().encodedQuery());
96+
Assertions.assertEquals(
97+
"https://api.contentstack.io/v3/extensions/" + _uid + "?include_count=false&include_branch=false",
98+
request.url().toString());
99+
}
100+
101+
@Test
102+
void extensionDelete() {
103+
Request request = extension.delete(_uid).request();
104+
Assertions.assertEquals(2, request.headers().names().size());
105+
Assertions.assertEquals("DELETE", request.method());
106+
Assertions.assertTrue(request.url().isHttps());
107+
Assertions.assertEquals("api.contentstack.io", request.url().host());
108+
Assertions.assertEquals(3, request.url().pathSegments().size());
109+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
110+
Assertions.assertNull(request.url().encodedQuery());
111+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid, request.url().toString());
112+
}
113+
114+
@Test
115+
void extensionGetSingle() {
116+
Map<String, Object> theQuery = new HashMap<>();
117+
theQuery.put("include_branch", false);
118+
Request request = extension.get(_uid, theQuery).request();
119+
Assertions.assertEquals(2, request.headers().names().size());
120+
Assertions.assertEquals("GET", request.method());
121+
Assertions.assertTrue(request.url().isHttps());
122+
Assertions.assertEquals("api.contentstack.io", request.url().host());
123+
Assertions.assertEquals(3, request.url().pathSegments().size());
124+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
125+
Assertions.assertEquals("include_branch=false", request.url().encodedQuery());
126+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid + "?include_branch=false",
127+
request.url().toString());
128+
}
129+
130+
@Test
131+
void testUploadCustomField() {
132+
Map<String, RequestBody> params = new HashMap<>();
133+
RequestBody someDataBody = new RequestBody() {
134+
@Override
135+
public MediaType contentType() {
136+
return null;
137+
}
138+
139+
@Override
140+
public void writeTo(BufferedSink sink) {
141+
}
142+
};
143+
params.put("DYNAMIC_PARAM_NAME", someDataBody);
144+
Map<String, Object> param = new HashMap<>();
145+
param.put("include_branch", false);
146+
Request request = extension.uploadCustomField(params, param).request();
147+
Assertions.assertEquals(2, request.headers().names().size());
148+
Assertions.assertEquals("POST", request.method());
149+
Assertions.assertNotNull(request.body());
150+
Assertions.assertTrue(request.url().isHttps());
151+
Assertions.assertEquals("api.contentstack.io", request.url().host());
152+
Assertions.assertEquals(2, request.url().pathSegments().size());
153+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
154+
Assertions.assertEquals("include_branch=false", request.url().encodedQuery());
155+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions?include_branch=false",
156+
request.url().toString());
157+
}
158+
159+
@Test
160+
void updateTheExtension() {
161+
JSONObject theQuery = new JSONObject();
162+
JSONObject innerObject = new JSONObject();
163+
innerObject.put("name", "Test");
164+
innerObject.put("parent", Arrays.asList("label_uid0", "label_uid1"));
165+
innerObject.put("content_types", new ArrayList().add("content_type_uid"));
166+
theQuery.put("label", innerObject);
167+
Map<String, Object> params = new HashMap<>();
168+
params.put("include_something", "true");
169+
Request request = extension.uploadCustomField(params, theQuery).request();
170+
Assertions.assertEquals(2, request.headers().names().size());
171+
Assertions.assertEquals("POST", request.method());
172+
Assertions.assertNotNull(request.body());
173+
Assertions.assertTrue(request.url().isHttps());
174+
Assertions.assertEquals("api.contentstack.io", request.url().host());
175+
Assertions.assertEquals(2, request.url().pathSegments().size());
176+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
177+
Assertions.assertNull(request.url().encodedQuery());
178+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions", request.url().toString());
179+
}
180+
181+
@Test
182+
void extensionDeleteAgain() {
183+
Request request = extension.delete(_uid).request();
184+
Assertions.assertEquals(3, request.headers().names().size());
185+
Assertions.assertEquals("DELETE", request.method());
186+
Assertions.assertNull(request.body());
187+
Assertions.assertTrue(request.url().isHttps());
188+
Assertions.assertEquals("api.contentstack.io", request.url().host());
189+
Assertions.assertEquals(3, request.url().pathSegments().size());
190+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
191+
Assertions.assertNull(request.url().encodedQuery());
192+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid, request.url().toString());
193+
}
194+
195+
}
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
package com.contentstack.cms.stack;
2+
3+
import com.contentstack.cms.Contentstack;
4+
import com.contentstack.cms.core.Util;
5+
import io.github.cdimascio.dotenv.Dotenv;
6+
import okhttp3.MediaType;
7+
import okhttp3.Request;
8+
import okhttp3.RequestBody;
9+
import okio.BufferedSink;
10+
import org.json.simple.JSONObject;
11+
import org.junit.jupiter.api.Assertions;
12+
import org.junit.jupiter.api.BeforeAll;
13+
import org.junit.jupiter.api.Test;
14+
15+
import java.util.ArrayList;
16+
import java.util.Arrays;
17+
import java.util.HashMap;
18+
import java.util.Map;
19+
20+
class ExtensionUnitTest {
21+
22+
protected static String AUTHTOKEN = Dotenv.load().get("authToken");
23+
protected static String API_KEY = Dotenv.load().get("api_key");
24+
protected static String _uid = Dotenv.load().get("auth_token");
25+
protected static String MANAGEMENT_TOKEN = Dotenv.load().get("auth_token");
26+
static Extensions extension;
27+
28+
@BeforeAll
29+
static void setup() {
30+
HashMap<String, Object> headers = new HashMap<>();
31+
headers.put(Util.API_KEY, API_KEY);
32+
headers.put(Util.AUTHORIZATION, MANAGEMENT_TOKEN);
33+
Stack stack = new Contentstack.Builder().setAuthtoken(AUTHTOKEN).build().stack(headers);
34+
extension = stack.extensions();
35+
}
36+
37+
@Test
38+
void extensionGetAll() {
39+
Map<String, Object> body = new HashMap<>();
40+
body.put("keyForSomething", "valueForSomething");
41+
Request request = extension.getAll("\"type\":\"field\"", false).request();
42+
Assertions.assertEquals(3, request.headers().names().size());
43+
Assertions.assertEquals("GET", request.method());
44+
Assertions.assertTrue(request.url().isHttps());
45+
Assertions.assertEquals("api.contentstack.io", request.url().host());
46+
Assertions.assertEquals(2, request.url().pathSegments().size());
47+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
48+
Assertions.assertEquals("v3", request.url().pathSegments().get(0));
49+
Assertions.assertNotNull(request.url().encodedQuery());
50+
Assertions.assertEquals(
51+
"https://api.contentstack.io/v3/extensions?query=%22type%22%3A%22field%22&include_branch=false",
52+
request.url().toString());
53+
}
54+
55+
@Test
56+
void getSingleWithUid() {
57+
Map<String, Object> queryParam = new HashMap<>();
58+
queryParam.put("include_count", false);
59+
queryParam.put("include_branch", false);
60+
Request request = extension.get(_uid, queryParam).request();
61+
Assertions.assertEquals(2, request.headers().names().size());
62+
Assertions.assertEquals("GET", request.method());
63+
Assertions.assertTrue(request.url().isHttps());
64+
Assertions.assertEquals("api.contentstack.io", request.url().host());
65+
Assertions.assertEquals(3, request.url().pathSegments().size());
66+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
67+
Assertions.assertEquals("include_count=false&include_branch=false", request.url().encodedQuery());
68+
Assertions.assertEquals(
69+
"https://api.contentstack.io/v3/extensions/" + _uid + "?include_count=false&include_branch=false",
70+
request.url().toString());
71+
}
72+
73+
@Test
74+
void extensionUpdate() {
75+
Map<String, Object> queryParam = new HashMap<>();
76+
queryParam.put("include_count", false);
77+
queryParam.put("include_branch", false);
78+
79+
JSONObject body = new JSONObject();
80+
JSONObject innerBody = new JSONObject();
81+
innerBody.put("tags", Arrays.asList("tag1", "tag2"));
82+
innerBody.put("data_type", "text");
83+
innerBody.put("title", "Old Extension");
84+
innerBody.put("src", "Enter either the source code");
85+
body.put("extension", innerBody);
86+
87+
Request request = extension.update(_uid, queryParam, body).request();
88+
Assertions.assertEquals(2, request.headers().names().size());
89+
Assertions.assertEquals("PUT", request.method());
90+
Assertions.assertTrue(request.url().isHttps());
91+
Assertions.assertEquals("api.contentstack.io", request.url().host());
92+
Assertions.assertEquals(3, request.url().pathSegments().size());
93+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
94+
Assertions.assertNotNull(request.body());
95+
Assertions.assertEquals("include_count=false&include_branch=false", request.url().encodedQuery());
96+
Assertions.assertEquals(
97+
"https://api.contentstack.io/v3/extensions/" + _uid + "?include_count=false&include_branch=false",
98+
request.url().toString());
99+
}
100+
101+
@Test
102+
void extensionDelete() {
103+
Request request = extension.delete(_uid).request();
104+
Assertions.assertEquals(2, request.headers().names().size());
105+
Assertions.assertEquals("DELETE", request.method());
106+
Assertions.assertTrue(request.url().isHttps());
107+
Assertions.assertEquals("api.contentstack.io", request.url().host());
108+
Assertions.assertEquals(3, request.url().pathSegments().size());
109+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
110+
Assertions.assertNull(request.url().encodedQuery());
111+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid, request.url().toString());
112+
}
113+
114+
@Test
115+
void extensionGetSingle() {
116+
Map<String, Object> theQuery = new HashMap<>();
117+
theQuery.put("include_branch", false);
118+
Request request = extension.get(_uid, theQuery).request();
119+
Assertions.assertEquals(2, request.headers().names().size());
120+
Assertions.assertEquals("GET", request.method());
121+
Assertions.assertTrue(request.url().isHttps());
122+
Assertions.assertEquals("api.contentstack.io", request.url().host());
123+
Assertions.assertEquals(3, request.url().pathSegments().size());
124+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
125+
Assertions.assertEquals("include_branch=false", request.url().encodedQuery());
126+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid + "?include_branch=false",
127+
request.url().toString());
128+
}
129+
130+
@Test
131+
void testUploadCustomField() {
132+
Map<String, RequestBody> params = new HashMap<>();
133+
RequestBody someDataBody = new RequestBody() {
134+
@Override
135+
public MediaType contentType() {
136+
return null;
137+
}
138+
139+
@Override
140+
public void writeTo(BufferedSink sink) {
141+
}
142+
};
143+
params.put("DYNAMIC_PARAM_NAME", someDataBody);
144+
Map<String, Object> param = new HashMap<>();
145+
param.put("include_branch", false);
146+
Request request = extension.uploadCustomField(params, param).request();
147+
Assertions.assertEquals(2, request.headers().names().size());
148+
Assertions.assertEquals("POST", request.method());
149+
Assertions.assertNotNull(request.body());
150+
Assertions.assertTrue(request.url().isHttps());
151+
Assertions.assertEquals("api.contentstack.io", request.url().host());
152+
Assertions.assertEquals(2, request.url().pathSegments().size());
153+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
154+
Assertions.assertEquals("include_branch=false", request.url().encodedQuery());
155+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions?include_branch=false",
156+
request.url().toString());
157+
}
158+
159+
@Test
160+
void updateTheExtension() {
161+
JSONObject theQuery = new JSONObject();
162+
JSONObject innerObject = new JSONObject();
163+
innerObject.put("name", "Test");
164+
innerObject.put("parent", Arrays.asList("label_uid0", "label_uid1"));
165+
innerObject.put("content_types", new ArrayList().add("content_type_uid"));
166+
theQuery.put("label", innerObject);
167+
Map<String, Object> params = new HashMap<>();
168+
params.put("include_something", "true");
169+
Request request = extension.uploadCustomField(params, theQuery).request();
170+
Assertions.assertEquals(2, request.headers().names().size());
171+
Assertions.assertEquals("POST", request.method());
172+
Assertions.assertNotNull(request.body());
173+
Assertions.assertTrue(request.url().isHttps());
174+
Assertions.assertEquals("api.contentstack.io", request.url().host());
175+
Assertions.assertEquals(2, request.url().pathSegments().size());
176+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
177+
Assertions.assertNull(request.url().encodedQuery());
178+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions", request.url().toString());
179+
}
180+
181+
@Test
182+
void extensionDeleteAgain() {
183+
Request request = extension.delete(_uid).request();
184+
Assertions.assertEquals(3, request.headers().names().size());
185+
Assertions.assertEquals("DELETE", request.method());
186+
Assertions.assertNull(request.body());
187+
Assertions.assertTrue(request.url().isHttps());
188+
Assertions.assertEquals("api.contentstack.io", request.url().host());
189+
Assertions.assertEquals(3, request.url().pathSegments().size());
190+
Assertions.assertEquals("extensions", request.url().pathSegments().get(1));
191+
Assertions.assertNull(request.url().encodedQuery());
192+
Assertions.assertEquals("https://api.contentstack.io/v3/extensions/" + _uid, request.url().toString());
193+
}
194+
195+
}

0 commit comments

Comments
 (0)