Skip to content

Commit

Permalink
feat : variants implementation and testcases
Browse files Browse the repository at this point in the history
  • Loading branch information
reeshika-h committed Aug 20, 2024
1 parent 800de11 commit 73be744
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 6 deletions.
12 changes: 6 additions & 6 deletions contentstack/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -118,12 +118,12 @@ android {
testCoverageEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

buildConfigField "String", "host", localProperties['host']
buildConfigField "String", "APIKey", localProperties['APIKey']
buildConfigField "String", "deliveryToken", localProperties['deliveryToken']
buildConfigField "String", "environment", localProperties['environment']
buildConfigField "String", "contentTypeUID", localProperties['contentType']
buildConfigField "String", "assetUID", localProperties['assetUid']
buildConfigField "String", "host", localProperties['host']
buildConfigField "String", "APIKey", localProperties['APIKey']
buildConfigField "String", "deliveryToken", localProperties['deliveryToken']
buildConfigField "String", "environment", localProperties['environment']
buildConfigField "String", "contentTypeUID", localProperties['contentType']
buildConfigField "String", "assetUID", localProperties['assetUid']
}
release {
minifyEnabled false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ public class EntryTestCase {
private static final String CONTENT_TYPE_UID = BuildConfig.contentTypeUID;
private static CountDownLatch latch;
private static Stack stack;
private static String variantUID = BuildConfig.variantUID;
private static String variantEntryUID = BuildConfig.variantEntryUID;
private static String[] variantsUID = BuildConfig.variantsUID;


@BeforeClass
Expand Down Expand Up @@ -319,4 +322,26 @@ public void onCompletion(ResponseType responseType, Error error) {
latch.await();
}

@Test
public void VariantsTestSingleUid(){
final Entry entry = stack.contentType("author").entry(variantEntryUID).variants(variantUID);
entry.fetch(new EntryResultCallBack() {
@Override
public void onCompletion(ResponseType responseType, Error error) {
assertEquals(variantUID, entry.getHeaders().get("x-cs-variant-uid"));
System.out.println(entry.toJSON());
}
});
}
@Test
public void VariantsTestArray(){
final Entry entry = stack.contentType("author").entry(variantEntryUID).variants(variantsUID);
entry.fetch(new EntryResultCallBack() {
@Override
public void onCompletion(ResponseType responseType, Error error) {
System.out.println(entry.toJSON());
}
});
}

}
36 changes: 36 additions & 0 deletions contentstack/src/main/java/com/contentstack/sdk/Entry.java
Original file line number Diff line number Diff line change
Expand Up @@ -1494,4 +1494,40 @@ public Entry includeMetadata() {
}
return this;
}
/**
* method variants
* memberof Entry
* description The variant header will be added to client
* returns {Entry}
* example
* import contentstack from '@contentstack/delivery-sdk'
*
* Stack stack = contentstack.Stack("apiKey", "deliveryToken",
* "environment");
* Entry entry =
* stack.contentType("user").entry("entry_uid").variant("variant_uid").fetch();
*/
public Entry variants(String variants){
if (variants != null && variants.length() > 0) {
this.localHeader.put("x-cs-variant-uid", variants.trim());
}
return this;

}
public Entry variants(String[] variants){
if (variants != null && variants.length > 0) {
List<String> variantList = new ArrayList<>();
for (String variant : variants) {
if(variant != null && !variant.trim().isEmpty())
variantList.add(variant.trim());
}
if(!variantList.isEmpty()){
this.localHeader.put("x-cs-variant-uid", String.join(", ", variantList));
}
}
return this;
}
public ArrayMap<String, Object> getHeaders() {
return localHeader;
}
}

0 comments on commit 73be744

Please sign in to comment.