Matt Ryan created OAK-7740:
------------------------------

             Summary: Implement CI capability for modules with external 
infrastructure dependencies
                 Key: OAK-7740
                 URL: https://issues.apache.org/jira/browse/OAK-7740
             Project: Jackrabbit Oak
          Issue Type: Test
          Components: blob-cloud, blob-cloud-azure, continuous integration, 
mongomk, rdbmk, segment-tar
            Reporter: Matt Ryan


We need to make continuous integration testing functional for all components.  
Currently many components that have external dependencies do not have CI 
capabilities due to the external dependencies.  For example, {{oak-blob-cloud}} 
unit tests only run if the user environment is configured with credentials to 
access an S3 account; {{oak-store-document}} has some unit tests that only run 
if a MongoDB instance is available on {{localhost}}.

To the extent possible we would like to leverage Docker containers to provide 
or emulate the external dependencies so that it is easy to run a more complete 
suite of the tests.  A developer should be able to do this simply by issuing 
{{mvn test}} from the command-line at the project root, probably with some type 
of flag or other option to indicate that all the tests with external 
dependencies should run.  So long as a Docker instance is running, these tests 
should run also - meaning it would be the responsibility of the tests to pull 
the appropriate Docker image, start it, and shut it down and remove it when the 
tests are complete.

By default tests should run as they currently do.  A developer should not be 
required to have Docker installed in order to run the tests successfully.  
Tests that require external capabilities should only run if the external 
dependencies flag has been set - and should fail if the flag is set but Docker 
could not be found or otherwise did not run correctly.

The work for this issue is to identify the modules that need to adopt this 
capability and implement a solution for testing against external dependencies 
in all of these modules in a unified way.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to