Change to logging.file.name for latest spring-boot
[nonrtric.git] / test / auto-test / README.md
1 ## Overview
2 The bash scripts in this dir are intended for function test of the Non-RT RIC in different configurations, using simulators when needed for the external interfaces.
3 A few of the bash scripts are so called 'suites', These suite scripts calls a sequence of the other bash scripts.
4
5 ## Automated test scripts
6 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).
7 FTC is short for Function Test Case.
8
9 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).
10 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.
11
12 ## Configuration
13 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.
14
15 ## How to run
16 A test script, for example FTC1, is executed from the cmd line using the script filename and one or more parameters:
17
18  ./FTC1.sh remote.
19
20 See the README.md in  `../common/` for all details about available parameters and their meaning.
21
22 Each test script prints out the overall result of the tests in the end of the execution.
23
24 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.
25
26 ## Test case categories
27 The test script are number using these basic categories.
28
29 1-99 - Basic sanity tests
30
31 100-199 - API tests
32
33 300-399 - Config changes and sync
34
35 800-899 - Stability and capacity test
36
37 900-999 - Misc test
38
39 Suites
40
41 To get an overview of the available test scripts, use the following command to print the test script description:
42 'grep ONELINE *.sh' in the dir of the test scripts.
43
44 ## Test case file - template
45 A test script contains a number of steps to verify a certain functionality.
46 The empty template for a test case file looks like this.
47 Only the parts noted with < and > shall be changed.
48 It is strongly suggested to look at the existing test scripts, it is probably easier to copy an existing test script instead of creating one from scratch. The README.md in  `../common/` describes the functions available in the test script in detail.
49
50 -----------------------------------------------------------
51 ```
52 #!/bin/bash
53
54 TC_ONELINE_DESCR="<test case description>"
55
56 . ../common/testcase_common.sh  $@
57 < other scripts need to be sourced for specific interfaces>
58
59 #### TEST BEGIN ####
60
61
62 <tests here>
63
64
65 #### TEST COMPLETE ####
66
67 store_logs          END
68
69 ```
70 -----------------------------------------------------------
71
72
73 ## License
74
75 Copyright (C) 2020 Nordix Foundation. All rights reserved.
76 Licensed under the Apache License, Version 2.0 (the "License");
77 you may not use this file except in compliance with the License.
78 You may obtain a copy of the License at
79
80      http://www.apache.org/licenses/LICENSE-2.0
81
82 Unless required by applicable law or agreed to in writing, software
83 distributed under the License is distributed on an "AS IS" BASIS,
84 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
85 See the License for the specific language governing permissions and
86 limitations under the License.