11package com .contentstack .cms .stack ;
22
3+ import com .contentstack .cms .Contentstack ;
34import com .contentstack .cms .TestClient ;
5+ import com .contentstack .cms .Utils ;
46import com .contentstack .cms .core .Util ;
7+ import com .google .gson .JsonObject ;
8+
59import okhttp3 .Request ;
610import okhttp3 .ResponseBody ;
711import org .json .simple .JSONObject ;
812import org .junit .jupiter .api .*;
13+
14+ import retrofit2 .Call ;
915import retrofit2 .Response ;
1016
1117import java .io .IOException ;
18+ import java .util .HashMap ;
1219
1320@ Tag ("api" )
1421@ TestMethodOrder (MethodOrderer .OrderAnnotation .class )
@@ -19,15 +26,22 @@ class RoleAPITest {
1926 protected static String _uid = TestClient .AUTHTOKEN ;
2027 protected static String MANAGEMENT_TOKEN = TestClient .MANAGEMENT_TOKEN ;
2128 protected static Roles roles ;
22- static Stack stack ;
29+ protected static String Taxonomy_uid = "sample_two" ;
30+ protected static Taxonomy taxonomy ;
31+ protected static Terms term ;
32+ protected static Stack stack ;
2333
2434
2535 @ BeforeAll
2636 static void setup () {
27- stack = TestClient .getStack ();
28- stack .addHeader (Util .API_KEY , API_KEY );
29- stack .addHeader (Util .AUTHORIZATION , MANAGEMENT_TOKEN );
37+ final String AUTHTOKEN = TestClient .AUTHTOKEN ;
38+ HashMap <String , Object > headers = new HashMap <>();
39+ headers .put (Util .API_KEY , API_KEY );
40+ headers .put (Util .AUTHORIZATION , MANAGEMENT_TOKEN );
41+ stack = new Contentstack .Builder ().setAuthtoken (AUTHTOKEN ).build ().stack (headers );
3042 roles = stack .roles (_uid );
43+ taxonomy = stack .taxonomy ();
44+ term = stack .taxonomy (Taxonomy_uid ).terms ();
3145 }
3246
3347 @ Test
@@ -111,5 +125,54 @@ void deleteRole() {
111125 Assertions .assertNull (request .url ().encodedQuery ());
112126 Assertions .assertEquals ("https://api.contentstack.io/v3/roles/" + _uid , request .url ().toString ());
113127 }
128+ @ Test
129+ void createRoleWithRule1 () throws IOException {
130+ JSONObject requestTaxonomy = Utils .readJson ("mocktaxonomy/create.json" );
131+ taxonomy .addHeader (Util .API_KEY , API_KEY );
132+ taxonomy .addHeader (Util .AUTHORIZATION , MANAGEMENT_TOKEN );
133+ Request request = taxonomy .create (requestTaxonomy ).request ();
134+ Assertions .assertEquals (2 , request .headers ().names ().size ());
135+ Assertions .assertEquals ("POST" , request .method ());
136+ Assertions .assertTrue (request .url ().isHttps ());
137+ Assertions .assertEquals ("api.contentstack.io" , request .url ().host ());
138+ Assertions .assertEquals (2 , request .url ().pathSegments ().size ());
139+ Assertions .assertEquals ("v3" , request .url ().pathSegments ().get (0 ));
140+ Assertions .assertEquals ("taxonomies" , request .url ().pathSegments ().get (1 ));
141+ Assertions .assertNull (request .url ().encodedQuery ());
142+ Assertions .assertEquals ("https://api.contentstack.io/v3/taxonomies" , request .url ().toString ());
143+
144+ }
145+ @ Test
146+ void createRoleWithRule2 () throws IOException {
147+ JSONObject requestTerm = Utils .readJson ("mocktaxonomy/createTerm.json" );
148+ Request request = term .create (requestTerm ).request ();
149+ Assertions .assertEquals (2 , request .headers ().names ().size ());
150+ Assertions .assertEquals ("POST" , request .method ());
151+ Assertions .assertTrue (request .url ().isHttps ());
152+ Assertions .assertEquals ("api.contentstack.io" , request .url ().host ());
153+ Assertions .assertEquals (4 , request .url ().pathSegments ().size ());
154+ Assertions .assertEquals ("v3" , request .url ().pathSegments ().get (0 ));
155+ Assertions .assertEquals ("taxonomies" , request .url ().pathSegments ().get (1 ));
156+ Assertions .assertNull (request .url ().encodedQuery ());
157+ Assertions .assertEquals ("https://api.contentstack.io/v3/taxonomies/sample_two/terms" , request .url ().toString ());
158+
159+ }
160+ @ Test
161+ void createRoleWithTaxonomy () throws IOException {
162+ JSONObject requestBody = Utils .readJson ("mockrole/createRole.json" );
163+ roles .addHeader (Util .API_KEY , API_KEY );
164+ roles .addHeader (Util .AUTHORIZATION , MANAGEMENT_TOKEN );
165+ Request request = roles .create (requestBody ).request ();
166+ Assertions .assertEquals (3 , request .headers ().names ().size ());
167+ Assertions .assertEquals ("POST" , request .method ());
168+ Assertions .assertTrue (request .url ().isHttps ());
169+ Assertions .assertEquals ("api.contentstack.io" , request .url ().host ());
170+ Assertions .assertEquals (2 , request .url ().pathSegments ().size ());
171+ Assertions .assertEquals ("v3" , request .url ().pathSegments ().get (0 ));
172+ Assertions .assertEquals ("roles" , request .url ().pathSegments ().get (1 ));
173+ Assertions .assertNull (request .url ().encodedQuery ());
174+ Assertions .assertEquals ("https://api.contentstack.io/v3/roles" , request .url ().toString ());
175+
176+ }
114177
115178}
0 commit comments