Merge "Integrated gateway and updated kube support"
[nonrtric.git] / test / auto-test / README.md
index 0429e36..52f0010 100644 (file)
@@ -4,10 +4,10 @@ A few of the bash scripts are so called 'suites', These suite scripts calls a se
 
 ## Automated test scripts
 There are two types of scripts, filenames in the format FTCXXX.sh test one or more components of the Non-RT RIC. Filenames in the format SuiteZZZZ.sh tests a number of FTCXXX.sh script as one suite. (XXX is an integer selected from the categories described further below).
-FTC is short for Function Test Case.
+FTC is short for Function Test Case. In addition, there are also other test scripts with other naming format used for demo setup etc (e.g PM_DEMO.sh).
 
-The requirements, in terms of the execution enviroment, to run a script or a suite is to have docker, docker-compose and python3 installed (the scripts warns if not installed).
-The scripts have been tested to work on both MacOS and Ubuntu. They should work also in git bash on windows but not yet verified.
+The requirements, in terms of the execution enviroment, to run a script or a suite is to have docker, docker-compose and python3 installed (the scripts warns if not installed). As an option, the scripts can also be executed in a Minikube or Kubernetes installation. The additional requirement is to have a clean minikube/kubernetes installation, perferably with the kube dashboard installed.
+The scripts have been tested to work on both MacOS and Ubuntu using docker. They should work also in git-bash on windows (for docker) but only partly verified. Running using minikube has only been verified on Ubuntu and running on kubernetes has only been verified on MacOS.
 
 ## Configuration
 The test scripts uses configuration from a single file, found in `../common/test_env.sh`, which contains all needed configuration in terms of image names, image tags, ports, file paths, passwords etc. This file can be modified if needed.  See the README.md in  `../common/` for all details of the config file.
@@ -15,7 +15,9 @@ The test scripts uses configuration from a single file, found in `../common/test
 ## How to run
 A test script, for example FTC1, is executed from the cmd line using the script filename and one or more parameters:
 
- ./FTC1.sh remote.
+ ./FTC1.sh remote docker --env-file ../common/test_env-oran-cherry.sh
+
+Note that is running on a released verion, the parameter "release" shall be included to run the released images.
 
 See the README.md in  `../common/` for all details about available parameters and their meaning.
 
@@ -23,9 +25,38 @@ Each test script prints out the overall result of the tests in the end of the ex
 
 The test scripts produce quite a number of logs; all container logs, a log of all http/htps calls from the test scripts including the payload, some configuration created during test and also a test case log (same as what is printed on the screen during execution). All these logs are stored in `logs/FTCXXX/`. So each test script is using its own log directory.
 
+To test all components on a very basic level, run the demo test script(s) for the desired release.
+Note that oran tests only include components from oran.
+Note that onap test uses components from onap combined with released oran components available at that onap release (e.g. Honolulu contains onap images from honolulu and oran images from cherry)
+```
+ORAN CHERRY
+===========
+./PM_EI_DEMO.sh remote-remove  docker release   --env-file ../common/test_env-oran-cherry.sh
+./PM_EI_DEMO.sh remote-remove  kube  release --env-file ../common/test_env-oran-cherry.sh
+
+ORAN DAWN
+=========
+./PM_EI_DEMO.sh remote-remove  docker   --env-file ../common/test_env-oran-dawn.sh  --use-release-image SDNC
+./PM_EI_DEMO.sh remote-remove  kube   --env-file ../common/test_env-oran-dawn.sh  --use-release-image SDNC
+Note that dawn has not update the SDNC so cherry release is used
+Note: When dawn is released, add the 'release' arg to run released images.
+
+ONAP GUILIN
+===========
+./PM_DEMO.sh remote-remove  docker release   --env-file ../common/test_env-onap-guilin.sh
+./PM_DEMO.sh remote-remove  kube  release --env-file ../common/test_env-onap-guilin.sh
+Note that ECS was not available before oran cherry so a test script without ECS is used.
+
+ONAP HONOLULU
+=============
+./PM_EI_DEMO.sh remote-remove  docker   --env-file ../common/test_env-onap-honolulu.sh
+./PM_EI_DEMO.sh remote-remove  kube   --env-file ../common/test_env-onap-honolulu.sh
+Note: When honolulu is released, add the 'release' arg to run released images.
+```
 ## Test case categories
-The test script are number using these basic categories.
+The test script are number using these basic categories where 0-999 are releated to the policy managment and 1000-1999 are related to enrichment management. 2000-2999 are for southbound http proxy. There are also demo test cases that test more or less all components. These test scripts does not use the numbering scheme below.
 
+The numbering in each series corresponds to the following groupings
 1-99 - Basic sanity tests
 
 100-199 - API tests
@@ -53,9 +84,22 @@ It is strongly suggested to look at the existing test scripts, it is probably ea
 
 TC_ONELINE_DESCR="<test case description>"
 
+DOCKER_INCLUDED_IMAGES=<list of used apps in this test case - for docker>
+
+KUBE_INCLUDED_IMAGES=<list of used apps (started by the script) in this test case - for kube>
+KUBE_PRESTARTED_IMAGES=<list of used apps (prestartedd - i.e. not started by the script) in this test case - for kube>
+
+SUPPORTED_PROFILES=<list of supported profile names>
+
+SUPPORTED_RUNMODES=<List of runmodes, DOCKER and/or KUBE>
+
+CONDITIONALLY_IGNORED_IMAGES=<list of images to exclude if it does not exist in the profile file>
+
 . ../common/testcase_common.sh  $@
 < other scripts need to be sourced for specific interfaces>
 
+setup_testenvironment
+
 #### TEST BEGIN ####