Skip to content

Commit fa78e39

Browse files
committed
feat : variants implementation and testcases
1 parent e8b46ae commit fa78e39

File tree

3 files changed

+67
-6
lines changed

3 files changed

+67
-6
lines changed

contentstack/build.gradle

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,12 @@ android {
118118
testCoverageEnabled true
119119
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
120120

121-
buildConfigField "String", "host", localProperties['host']
122-
buildConfigField "String", "APIKey", localProperties['APIKey']
123-
buildConfigField "String", "deliveryToken", localProperties['deliveryToken']
124-
buildConfigField "String", "environment", localProperties['environment']
125-
buildConfigField "String", "contentTypeUID", localProperties['contentType']
126-
buildConfigField "String", "assetUID", localProperties['assetUid']
121+
buildConfigField "String", "host", localProperties['host']
122+
buildConfigField "String", "APIKey", localProperties['APIKey']
123+
buildConfigField "String", "deliveryToken", localProperties['deliveryToken']
124+
buildConfigField "String", "environment", localProperties['environment']
125+
buildConfigField "String", "contentTypeUID", localProperties['contentType']
126+
buildConfigField "String", "assetUID", localProperties['assetUid']
127127
}
128128
release {
129129
minifyEnabled false

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ public class EntryTestCase {
2727
private static final String CONTENT_TYPE_UID = BuildConfig.contentTypeUID;
2828
private static CountDownLatch latch;
2929
private static Stack stack;
30+
private static String variantUID = BuildConfig.variantUID;
31+
private static String variantEntryUID = BuildConfig.variantEntryUID;
32+
private static String[] variantsUID = BuildConfig.variantsUID;
3033

3134

3235
@BeforeClass
@@ -319,4 +322,26 @@ public void onCompletion(ResponseType responseType, Error error) {
319322
latch.await();
320323
}
321324

325+
@Test
326+
public void VariantsTestSingleUid(){
327+
final Entry entry = stack.contentType("author").entry(variantEntryUID).variants(variantUID);
328+
entry.fetch(new EntryResultCallBack() {
329+
@Override
330+
public void onCompletion(ResponseType responseType, Error error) {
331+
assertEquals(variantUID, entry.getHeaders().get("x-cs-variant-uid"));
332+
System.out.println(entry.toJSON());
333+
}
334+
});
335+
}
336+
@Test
337+
public void VariantsTestArray(){
338+
final Entry entry = stack.contentType("author").entry(variantEntryUID).variants(variantsUID);
339+
entry.fetch(new EntryResultCallBack() {
340+
@Override
341+
public void onCompletion(ResponseType responseType, Error error) {
342+
System.out.println(entry.toJSON());
343+
}
344+
});
345+
}
346+
322347
}

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1494,4 +1494,40 @@ public Entry includeMetadata() {
14941494
}
14951495
return this;
14961496
}
1497+
/**
1498+
* method variants
1499+
* memberof Entry
1500+
* description The variant header will be added to client
1501+
* returns {Entry}
1502+
* example
1503+
* import contentstack from '@contentstack/delivery-sdk'
1504+
*
1505+
* Stack stack = contentstack.Stack("apiKey", "deliveryToken",
1506+
* "environment");
1507+
* Entry entry =
1508+
* stack.contentType("user").entry("entry_uid").variant("variant_uid").fetch();
1509+
*/
1510+
public Entry variants(String variants){
1511+
if (variants != null && variants.length() > 0) {
1512+
this.localHeader.put("x-cs-variant-uid", variants.trim());
1513+
}
1514+
return this;
1515+
1516+
}
1517+
public Entry variants(String[] variants){
1518+
if (variants != null && variants.length > 0) {
1519+
List<String> variantList = new ArrayList<>();
1520+
for (String variant : variants) {
1521+
if(variant != null && !variant.trim().isEmpty())
1522+
variantList.add(variant.trim());
1523+
}
1524+
if(!variantList.isEmpty()){
1525+
this.localHeader.put("x-cs-variant-uid", String.join(", ", variantList));
1526+
}
1527+
}
1528+
return this;
1529+
}
1530+
public ArrayMap<String, Object> getHeaders() {
1531+
return localHeader;
1532+
}
14971533
}

0 commit comments

Comments
 (0)