Skip to content

Commit 6ef0487

Browse files
committed
Feat: Enhance variant handling in Entry and Query test cases, adding assumptions and assertions for better validation
1 parent 5de4c75 commit 6ef0487

3 files changed

Lines changed: 56 additions & 8 deletions

File tree

contentstack/src/androidTest/java/com/contentstack/sdk/EntryTestCase.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,30 +376,42 @@ public void onCompletion(ResponseType responseType, Error error) {
376376

377377
@Test
378378
public void VariantsTestSingleUidWithBranch() throws InterruptedException {
379+
Assume.assumeFalse("variantEntryUID not configured", variantEntryUID == null || variantEntryUID.trim().isEmpty());
380+
Assume.assumeFalse("variantUID not configured", variantUID == null || variantUID.trim().isEmpty());
381+
Assume.assumeFalse("variantBranch not configured", variantBranch == null || variantBranch.trim().isEmpty());
379382
final CountDownLatch latch = new CountDownLatch(1);
380383
final Entry entry = stack.contentType("product").entry(variantEntryUID).variants(variantUID, variantBranch);
384+
assertEquals(variantUID.trim(), entry.getHeaders().get("x-cs-variant-uid"));
385+
assertEquals(variantBranch.trim(), entry.getHeaders().get("branch"));
386+
381387
entry.fetch(new EntryResultCallBack() {
382388
@Override
383389
public void onCompletion(ResponseType responseType, Error error) {
384390
System.out.println(entry.toJSON());
385391
latch.countDown();
386392
}
387393
});
388-
latch.await();
394+
assertTrue("fetch() callback timed out", latch.await(30, TimeUnit.SECONDS));
389395
}
390396

391397
@Test
392398
public void VariantsTestArrayWithBranch() throws InterruptedException {
399+
Assume.assumeFalse("variantEntryUID not configured", variantEntryUID == null || variantEntryUID.trim().isEmpty());
400+
Assume.assumeFalse("variantsUID not configured", variantsUID == null || variantsUID.length == 0);
401+
Assume.assumeFalse("variantBranch not configured", variantBranch == null || variantBranch.trim().isEmpty());
393402
final CountDownLatch latch = new CountDownLatch(1);
394403
final Entry entry = stack.contentType("product").entry(variantEntryUID).variants(variantsUID, variantBranch);
404+
assertNotNull(entry.getHeaders().get("x-cs-variant-uid"));
405+
assertEquals(variantBranch.trim(), entry.getHeaders().get("branch"));
406+
395407
entry.fetch(new EntryResultCallBack() {
396408
@Override
397409
public void onCompletion(ResponseType responseType, Error error) {
398410
System.out.println(entry.toJSON());
399411
latch.countDown();
400412
}
401413
});
402-
latch.await();
414+
assertTrue("fetch() callback timed out", latch.await(30, TimeUnit.SECONDS));
403415
}
404416

405417
}

contentstack/src/androidTest/java/com/contentstack/sdk/QueryTestCase.java

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@
99
import java.util.ArrayList;
1010
import java.util.Iterator;
1111
import java.util.List;
12+
import java.util.concurrent.CountDownLatch;
13+
import java.util.concurrent.TimeUnit;
1214

13-
import static junit.framework.TestCase.assertEquals;
15+
import static junit.framework.TestCase.*;
1416

1517

1618
public class QueryTestCase {
@@ -121,54 +123,88 @@ public void onCompletion(ResponseType responseType, QueryResult queryresult, Err
121123

122124
@Test
123125
public void test_42_variants_single_uid_find() throws Exception {
126+
Assume.assumeFalse("variantUID not configured", variantUID == null || variantUID.trim().isEmpty());
124127
final Query q = TestCred.stack().contentType(contentTypeUID).query();
125-
q.variants(variantUID).find(new QueryResultsCallBack() {
128+
q.variants(variantUID);
129+
assertEquals(variantUID.trim(), q.getHeaders().get("x-cs-variant-uid"));
130+
assertNull(q.getHeaders().get("branch"));
131+
132+
final CountDownLatch latch = new CountDownLatch(1);
133+
q.find(new QueryResultsCallBack() {
126134
@Override
127135
public void onCompletion(ResponseType responseType, QueryResult queryresult, Error error) {
128136
if (error == null) {
129137
Log.d(TAG, "variants single find: " + queryresult.getResultObjects().size() + " entries");
130138
}
139+
latch.countDown();
131140
}
132141
});
142+
assertTrue("find() callback timed out", latch.await(30, TimeUnit.SECONDS));
133143
}
134144

135145
@Test
136146
public void test_43_variants_array_find() throws Exception {
147+
Assume.assumeFalse("variantsUID not configured", variantsUID == null || variantsUID.length == 0);
137148
final Query q = TestCred.stack().contentType(contentTypeUID).query();
138-
q.variants(variantsUID).find(new QueryResultsCallBack() {
149+
q.variants(variantsUID);
150+
assertNotNull(q.getHeaders().get("x-cs-variant-uid"));
151+
assertNull(q.getHeaders().get("branch"));
152+
153+
final CountDownLatch latch = new CountDownLatch(1);
154+
q.find(new QueryResultsCallBack() {
139155
@Override
140156
public void onCompletion(ResponseType responseType, QueryResult queryresult, Error error) {
141157
if (error == null) {
142158
Log.d(TAG, "variants array find: " + queryresult.getResultObjects().size() + " entries");
143159
}
160+
latch.countDown();
144161
}
145162
});
163+
assertTrue("find() callback timed out", latch.await(30, TimeUnit.SECONDS));
146164
}
147165

148166
@Test
149167
public void test_44_variants_single_uid_with_branch_find() throws Exception {
168+
Assume.assumeFalse("variantUID not configured", variantUID == null || variantUID.trim().isEmpty());
169+
Assume.assumeFalse("variantBranch not configured", variantBranch == null || variantBranch.trim().isEmpty());
150170
final Query q = TestCred.stack().contentType(contentTypeUID).query();
151-
q.variants(variantUID, variantBranch).find(new QueryResultsCallBack() {
171+
q.variants(variantUID, variantBranch);
172+
assertEquals(variantUID.trim(), q.getHeaders().get("x-cs-variant-uid"));
173+
assertEquals(variantBranch.trim(), q.getHeaders().get("branch"));
174+
175+
final CountDownLatch latch = new CountDownLatch(1);
176+
q.find(new QueryResultsCallBack() {
152177
@Override
153178
public void onCompletion(ResponseType responseType, QueryResult queryresult, Error error) {
154179
if (error == null) {
155180
Log.d(TAG, "variants single+branch find: " + queryresult.getResultObjects().size() + " entries");
156181
}
182+
latch.countDown();
157183
}
158184
});
185+
assertTrue("find() callback timed out", latch.await(30, TimeUnit.SECONDS));
159186
}
160187

161188
@Test
162189
public void test_45_variants_array_with_branch_find() throws Exception {
190+
Assume.assumeFalse("variantsUID not configured", variantsUID == null || variantsUID.length == 0);
191+
Assume.assumeFalse("variantBranch not configured", variantBranch == null || variantBranch.trim().isEmpty());
163192
final Query q = TestCred.stack().contentType(contentTypeUID).query();
164-
q.variants(variantsUID, variantBranch).find(new QueryResultsCallBack() {
193+
q.variants(variantsUID, variantBranch);
194+
assertNotNull(q.getHeaders().get("x-cs-variant-uid"));
195+
assertEquals(variantBranch.trim(), q.getHeaders().get("branch"));
196+
197+
final CountDownLatch latch = new CountDownLatch(1);
198+
q.find(new QueryResultsCallBack() {
165199
@Override
166200
public void onCompletion(ResponseType responseType, QueryResult queryresult, Error error) {
167201
if (error == null) {
168202
Log.d(TAG, "variants array+branch find: " + queryresult.getResultObjects().size() + " entries");
169203
}
204+
latch.countDown();
170205
}
171206
});
207+
assertTrue("find() callback timed out", latch.await(30, TimeUnit.SECONDS));
172208
}
173209

174210
}

contentstack/src/main/java/com/contentstack/sdk/Entry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1532,7 +1532,7 @@ public Entry includeMetadata() {
15321532
* stack.contentType("user").entry("entry_uid").variant("variant_uid").fetch();
15331533
*/
15341534
public Entry variants(String variants){
1535-
if (variants != null && variants.length() > 0) {
1535+
if (variants != null && !variants.trim().isEmpty()) {
15361536
this.localHeader.put("x-cs-variant-uid", variants.trim());
15371537
}
15381538
return this;

0 commit comments

Comments
 (0)