Update the test cases

Project: http://git-wip-us.apache.org/repos/asf/gora/repo
Commit: http://git-wip-us.apache.org/repos/asf/gora/commit/dbe962a2
Tree: http://git-wip-us.apache.org/repos/asf/gora/tree/dbe962a2
Diff: http://git-wip-us.apache.org/repos/asf/gora/diff/dbe962a2

Branch: refs/heads/master
Commit: dbe962a24475a2d288e1e1ff681c21ccd05b5cbc
Parents: 390a435
Author: nishadi <ndime...@gmail.com>
Authored: Mon Jul 24 22:43:30 2017 +0530
Committer: nishadi <ndime...@gmail.com>
Committed: Mon Jul 24 22:43:30 2017 +0530

----------------------------------------------------------------------
 .../gora/aerospike/store/AerospikeStore.java    | 38 +++++++---------
 .../aerospike/store/TestAerospikeStore.java     | 47 +++++++++++++++-----
 2 files changed, 54 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/gora/blob/dbe962a2/gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java
----------------------------------------------------------------------
diff --git 
a/gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java
 
b/gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java
index 56f2bdb..5b3a1b9 100644
--- 
a/gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java
+++ 
b/gora-aerospike/src/main/java/org/apache/gora/aerospike/store/AerospikeStore.java
@@ -255,7 +255,7 @@ public class AerospikeStore<K, T extends PersistentBase> 
extends DataStoreBase<K
     String set = aerospikeParameters.getAerospikeMapping().getSet();
 
     // Query execution without any keys
-    if (query.getStartKey() == null && query.getEndKey() == null){
+    if (query.getStartKey() == null && query.getEndKey() == null) {
 
       try (RecordSet recordSet = aerospikeClient.query(null, 
getStatement(namespace, set))) {
         while (recordSet.next()) {
@@ -277,36 +277,29 @@ public class AerospikeStore<K, T extends PersistentBase> 
extends DataStoreBase<K
 
     // Query execution for key ranges
     // ToDo: Implement Query execution for key ranges
-    else if (query.getStartKey() != null && query.getEndKey() != null) {
-//      Key startKey = null, endKey = null;
-//      if (query.getStartKey() != null) {
-//        startKey = getAerospikeKey(query.getStartKey());
-//      }
-//      if (query.getEndKey() != null) {
-//        endKey = getAerospikeKey(query.getEndKey());
-//      }
-
-//      boolean isSpecifiedRange = false;
+//    else if (query.getStartKey() != null && query.getEndKey() != null) {
+//
+//      // the key range filtering at the gora-module, which is not a better 
solution
+//      String lowerBound  = query.getStartKey().toString();
+//      String upperBound  = query.getEndKey().toString();
+//
 //      try (RecordSet recordSet = aerospikeClient.query(null, 
getStatement(namespace, set))) {
 //        while (recordSet.next()) {
 //          Key key = recordSet.getKey();
 //          Record record = recordSet.getRecord();
 //
-//          if(key.userKey == getAerospikeKey(query.getStartKey()).userKey){
-//            isSpecifiedRange = true;
-//          }
-//          if(key.userKey == getAerospikeKey(query.getEndKey()).userKey){
-//            isSpecifiedRange = false;
-//          }
+//          String input = key.userKey.toString();
+//          boolean isSpecifiedRange =  input.compareToIgnoreCase(lowerBound) 
>= 0 && input
+//                  .compareToIgnoreCase(upperBound) <= 0;
 //
-//          if(isSpecifiedRange){
-//            AerospikeResultRecord aerospikeRecord = new 
AerospikeResultRecord(key,record);
+//          if (isSpecifiedRange) {
+//            AerospikeResultRecord aerospikeRecord = new 
AerospikeResultRecord(key, record);
 //            resultRecords.add(aerospikeRecord);
 //          }
 //
 //        }
-      }
-
+//      }
+//    }
     return new AerospikeQueryResult<>(this, query, resultRecords, 
getFieldsToQuery(null));
   }
 
@@ -320,6 +313,9 @@ public class AerospikeStore<K, T extends PersistentBase> 
extends DataStoreBase<K
     return new AerospikeQuery<>(this);
   }
 
+  /**
+   * The functionality is not supported as query key ranges are not supported
+   */
   @Override
   public List<PartitionQuery<K, T>> getPartitions(Query<K, T> query) throws 
IOException {
     return null;

http://git-wip-us.apache.org/repos/asf/gora/blob/dbe962a2/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/TestAerospikeStore.java
----------------------------------------------------------------------
diff --git 
a/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/TestAerospikeStore.java
 
b/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/TestAerospikeStore.java
index 9e38e4d..9e66327 100644
--- 
a/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/TestAerospikeStore.java
+++ 
b/gora-aerospike/src/test/java/org/apache/gora/aerospike/store/TestAerospikeStore.java
@@ -23,11 +23,14 @@ import org.apache.gora.examples.WebPageDataCreator;
 import org.apache.gora.examples.generated.WebPage;
 import org.apache.gora.query.Query;
 import org.apache.gora.store.DataStoreTestBase;
+import org.apache.gora.store.DataStoreTestUtil;
+import org.apache.gora.util.AvroUtils;
 import org.junit.ClassRule;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.testcontainers.containers.GenericContainer;
 
+import static org.apache.gora.examples.WebPageDataCreator.SORTED_URLS;
 import static org.apache.gora.examples.WebPageDataCreator.URLS;
 
 /**
@@ -88,21 +91,21 @@ public class TestAerospikeStore extends DataStoreTestBase {
   }
 
   @Test
-  @Ignore("Functionality is to be implemented in the next iteration")
+  @Ignore("Query key ranges based on primary key is not supported via the java 
client")
   @Override
   public void testQueryStartKey() throws Exception {
     super.testQueryStartKey();
   }
 
   @Test
-  @Ignore("Functionality is to be implemented in the next iteration")
+  @Ignore("Query key ranges based on primary key is not supported via the java 
client")
   @Override
   public void testQueryEndKey() throws Exception {
     super.testQueryEndKey();
   }
 
   @Test
-  @Ignore("Functionality is to be implemented in the next iteration")
+  @Ignore("Query key ranges based on primary key is not supported via the java 
client")
   @Override
   public void testQueryKeyRange() throws Exception {
     super.testQueryKeyRange();
@@ -121,23 +124,47 @@ public class TestAerospikeStore extends DataStoreTestBase 
{
   }
 
   @Test
-  @Ignore("Functionality is to be implemented in the next iteration")
   @Override
   public void testDeleteByQuery() throws Exception {
-    super.testDeleteByQuery();
+
+    // Can not use the super method as they query key ranges are not supported
+    Query<String, WebPage> query;
+    //test 1 - delete all
+    WebPageDataCreator.createWebPageData(webPageStore);
+
+    query = webPageStore.newQuery();
+
+    DataStoreTestUtil.assertNumResults(webPageStore.newQuery(), URLS.length);
+    webPageStore.deleteByQuery(query);
+    webPageStore.flush();
+    DataStoreTestUtil.assertEmptyResults(webPageStore.newQuery());
+
+
+    //test 2 - delete all
+    WebPageDataCreator.createWebPageData(webPageStore);
+
+    query = webPageStore.newQuery();
+    query.setFields(AvroUtils.getSchemaFieldNames(WebPage.SCHEMA$));
+
+    DataStoreTestUtil.assertNumResults(webPageStore.newQuery(), URLS.length);
+    webPageStore.deleteByQuery(query);
+    webPageStore.flush();
+    DataStoreTestUtil.assertEmptyResults(webPageStore.newQuery());
+
+    webPageStore.truncateSchema();
   }
 
   @Test
   @Ignore("Functionality is to be implemented in the next iteration")
   @Override
-  public void testDeleteByQueryFields() throws Exception {
-    super.testDeleteByQueryFields();
+  public void testGetPartitions() throws Exception {
+    super.testGetPartitions();
   }
 
   @Test
-  @Ignore("Functionality is to be implemented in the next iteration")
+  @Ignore("Not supported as query key ranges are not supported")
   @Override
-  public void testGetPartitions() throws Exception {
-    super.testGetPartitions();
+  public void testDeleteByQueryFields() throws Exception {
+    super.testDeleteByQueryFields();
   }
 }

Reply via email to