This is an automated email from the ASF dual-hosted git repository.

rombert pushed a commit to annotated tag org.apache.sling.testing.jcr-mock-1.1.0
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-testing-jcr-mock.git

commit 5f388165251c1e21d7a34c51b2c54a940017c184
Author: Stefan Seifert <[email protected]>
AuthorDate: Tue Dec 9 15:48:31 2014 +0000

    SLING-4230 Add support for mocking queries and query results
    
    git-svn-id: 
https://svn.apache.org/repos/asf/sling/trunk/testing/mocks/jcr-mock@1644092 
13f79535-47bb-0310-9956-ffa450edef68
---
 .../org/apache/sling/testing/mock/jcr/MockJcr.java | 37 ++++++++++++++++++++++
 .../testing/mock/jcr/MockQueryManagerTest.java     |  4 +--
 2 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java 
b/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
index 08d54aa..221dd1d 100644
--- a/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
+++ b/src/main/java/org/apache/sling/testing/mock/jcr/MockJcr.java
@@ -91,6 +91,15 @@ public final class MockJcr {
     
     /**
      * Sets the expected result list for all queries executed with the given 
query manager.
+     * @param session JCR session
+     * @param resultList Result list
+     */
+    public static void setQueryResult(final Session session, final List<Node> 
resultList) {
+        setQueryResult(getQueryManager(session), resultList);
+    }
+    
+    /**
+     * Sets the expected result list for all queries executed with the given 
query manager.
      * @param queryManager Mocked query manager
      * @param resultList Result list
      */
@@ -105,6 +114,16 @@ public final class MockJcr {
 
     /**
      * Sets the expected result list for all queries with the given statement 
executed with the given query manager.
+     * @param session JCR session
+     * @param statement Query statement
+     * @param resultList Result list
+     */
+    public static void setQueryResult(final Session session, final String 
statement, final List<Node> resultList) {
+        setQueryResult(getQueryManager(session), statement, resultList);
+    }
+    
+    /**
+     * Sets the expected result list for all queries with the given statement 
executed with the given query manager.
      * @param queryManager Mocked query manager
      * @param statement Query statement
      * @param resultList Result list
@@ -125,11 +144,29 @@ public final class MockJcr {
 
     /**
      * Adds a query result handler for the given query manager which may 
return query results for certain queries that are executed.
+     * @param session JCR session
+     * @param resultHandler Mock query result handler
+     */
+    public static void addQueryResultHandler(final Session session, final 
MockQueryResultHandler resultHandler) {
+        addQueryResultHandler(getQueryManager(session), resultHandler);
+    }
+    
+    /**
+     * Adds a query result handler for the given query manager which may 
return query results for certain queries that are executed.
      * @param queryManager Mocked query manager
      * @param resultHandler Mock query result handler
      */
     public static void addQueryResultHandler(final QueryManager queryManager, 
final MockQueryResultHandler resultHandler) {
         ((MockQueryManager)queryManager).addResultHandler(resultHandler);
     }
+    
+    private static QueryManager getQueryManager(Session session) {
+        try {
+            return session.getWorkspace().getQueryManager();
+        }
+        catch (RepositoryException ex) {
+            throw new RuntimeException("Unable to access query manager.", ex);
+        }
+    }
 
 }
diff --git 
a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java 
b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
index 413c55e..6903e41 100644
--- a/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/jcr/MockQueryManagerTest.java
@@ -132,7 +132,7 @@ public class MockQueryManagerTest {
     @Test
     public void testQueryResults_MultipleResultHandlers() throws 
RepositoryException {
         final List<Node> sampleNodes2 = ImmutableList.of(sampleNodes.get(0));
-        MockJcr.addQueryResultHandler(queryManager, new 
MockQueryResultHandler() {
+        MockJcr.addQueryResultHandler(session, new MockQueryResultHandler() {
             @Override
             public MockQueryResult executeQuery(MockQuery query) {
                 if (StringUtils.equals(query.getStatement(), "query2")) {
@@ -142,7 +142,7 @@ public class MockQueryManagerTest {
             }
         });
         
-        MockJcr.addQueryResultHandler(queryManager, new 
MockQueryResultHandler() {
+        MockJcr.addQueryResultHandler(session, new MockQueryResultHandler() {
             @Override
             public MockQueryResult executeQuery(MockQuery query) {
                 if (StringUtils.equals(query.getStatement(), "query1")) {

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to