tree: e8f0e3da86982b657a25fd5cd18d6a6acfd22740 [path history] [tgz]
  1. examples/
  2. src/
  3. pom.xml
  4. README.MD
integration-tests/README.MD

The automation tests

What is it?

This is the module with automation tests for DataLab integration testing.

How to run?

Automation tests could be ran from UNIX and Windows machines. The prerequisites are:

  • The environment is established
  • The machine, where tests are going to be ran, has access to Jenkins
  • Set of configurations are performed
  • Set of Java parameters are passed.

What are java parameters?

The Java parameters are key value pairs prefixed with “-D” passed to Java Required Java parameters are: “jenkins.buildNumber”, “cluster.username”, “cluster.os.family”

Example:

  • -Djenkins.buildNumber=57 -Dcluster.username=datalab-user -Dcluster.os.family=debian

What are other required configurations?

The config.properties file

“config.properties” file example could be found in the module root “example” directory.

Jupyther scenario files

Scenario files example can be found in module root “scenario_jupyter” directory.

Amazon instances configuration json files

Amazon instances configuration json files examples can be found in module root “ec2_templates” directory.

Automation run modes

There are 3 modes: server and dev and dev local. Base on these modes the configuration files should be placed in different locations.

Server mode

Server does not require any specific parameters. The configuration files locations is following for server mode:

  • conf.file.location=${conf.root.path}/config.properties
  • keys.directory.location=${conf.root.path}/keys
  • python.files.location=${conf.root.path}/scenario_jupyter/
  • cluster.config.file.location=${conf.root.path}/ec2_templates/

Dev mode.

Dev mode has 2 choices run against service deployed in Amazon or against local mocked services.

Dev mode against services deployed locally

To be able to run tests against locally deployed service, it is required to pass following parameters:

  • -Dconf.root.path=examples

Also you should describe following parameters into config.properties file or to pass it to JVM:

  • -Drun.mode.local=true
  • -Duse.jenkins=false
  • -Dssn.url=https://localhost:8443
  • -Dservice.base.name=dev
  • -Dnotebooks.to.test=rstudio,jupyter,zeppelin

Dev mode against services deployed in Amazon

To be able to run tests against services deployed in Amazon, it is required to pass following parameters:

  • -Drun.mode=dev
  • -Dconf.root.path=examples
  • -Djenkins.buildNumber=163
  • -Dnotebooks.to.test=rstudio
  • -Dexecution.threads=1

The “execution.threads” property with value 1 limits threads for notebooks testing to 1. So all tests would be executed synchronously.

To run automation tests in dev mode it is required to pass a few more Java parameters:

  • “run.mode” set to “dev”.

Example:

  • -Drun.mode=dev.

In this case the application configuration is following: