jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-3803) Clean up the fixtures code in core and jcr modules
Date Tue, 05 Jan 2016 09:26:39 GMT

    [ https://issues.apache.org/jira/browse/OAK-3803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15082704#comment-15082704
] 

Michael Dürig commented on OAK-3803:
------------------------------------

[~tomek.rekawek], I get 

{code}
java.lang.NullPointerException
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:192)
	at org.apache.jackrabbit.oak.core.MutableRoot.<init>(MutableRoot.java:151)
	at org.apache.jackrabbit.oak.core.SystemRoot.<init>(SystemRoot.java:55)
	at org.apache.jackrabbit.oak.core.SystemRoot.<init>(SystemRoot.java:63)
	at org.apache.jackrabbit.oak.plugins.tree.RootFactory.createSystemRoot(RootFactory.java:60)
	at org.apache.jackrabbit.oak.core.RootFuzzIT.setup(RootFuzzIT.java:100)
{code}

when running without a MongoDB instance available. AFAICS this is caused by a change in the
guarantees of {{NodeStoreFixture#createNodeStore}}. That method can now return {{null}}, where
before it couldn't. 




> Clean up the fixtures code in core and jcr modules
> --------------------------------------------------
>
>                 Key: OAK-3803
>                 URL: https://issues.apache.org/jira/browse/OAK-3803
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: core, jcr
>            Reporter: Tomek Rękawek
>            Assignee: Michael Dürig
>              Labels: tech-debt
>             Fix For: 1.4
>
>         Attachments: OAK-3803.patch
>
>
> oak-core and oak-jcr modules uses the fixture mechanism to provide NodeStore implementations
to the unit/integration tests. There is a few problems with the fixture implementation:
> * the {{NodeStoreFixture}} class is duplicated between two modules and supports different
set of options (eg. the oak-core version doesn't support the RDB node store at all, while
the oak-jcr doesn't support MemoryNodeStore)
> * it isn't possible to set the MongoDB URL manually from the Maven command line (it can
be done for the RDB, though), which makes running the tests on a Mongo replica hard,
> * the Mongo fixture doesn't remove the test database after the test is done.
> There should be just one NodeStoreFixture implementation (the oak-jcr can reuse the oak-core
version), supporting all values of the {{Fixture}} enum. The Mongo fixture should be more
customisable and also should clean-up the database.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message