jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alex Parvulescu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OAK-288) QueryTests should use the NodeStore apis
Date Fri, 31 Aug 2012 09:20:07 GMT

     [ https://issues.apache.org/jira/browse/OAK-288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Alex Parvulescu updated OAK-288:

    Attachment: OAK-288-jsop-util.patch

+1 for keeping a DSL like approach for tests.

I'm attaching a tiny util class that can properly handle all the existing sql related commit

As for the overall query tests: bypassing the CommitHook and going directly to the mk level
while ignoring the oak-core layer
is poor separation of concerns.

Even thought the QueryEngine still works without any defined indexes, the current property
index implementation doesn't play nice with existing notification mechanisms (like the CommitHook).

So because of this, the query tests pass if I update them to use the NodeStore, except the
'explain' ones.
I'm currently trying to find a way around this limitation but I don't see an easy way out.

> QueryTests should use the NodeStore apis
> ----------------------------------------
>                 Key: OAK-288
>                 URL: https://issues.apache.org/jira/browse/OAK-288
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Alex Parvulescu
>         Attachments: OAK-288-jsop-util.patch
> Currently the existing oak query tests come in form of a "script" file [0] that contains

>  - commit commands which will be executed directly against the mk.
>  - select commands
>  - expected results
> while this was good for fast prototyping we should refactor the tests to use proper unit
> Arguments for refactoring:
>  - overall java style unit tests, reduce the complexity of running this setup
>  - proper reporting unit test failures
>  - executing the commit commands directly against the mk breaks the {{CommitHook}} mechanism
because the commits will pass unnoticed
>  - proper separation of concerns - oak core should not directly reference the mk, it
should pass through exisiting apis like the {{NodeStore}}
> [0] http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/resources/org/apache/jackrabbit/oak/query/sql2.txt?view=markup

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message