1
0
Fork 0
mirror of https://github.com/gocsaf/csaf.git synced 2025-12-22 05:40:11 +01:00
gocsaf/docs/scripts
Bernhard Reiter 3da37a533b
Improve integration test uploadToProvider.sh
* Remove `let` from the script as it will return 1 (signalling an error) on the
   first iteration, which will stop the script when in `set -e` mode.
   It also is unnecessary, as the increment can be done at the place of
   usage directly.
 * Added a "remainder aka modulo" division, otherwise there will be no
   TLP option set, once we run out of the four entries in the TLSs
   list.
 * (Style) remove superfluous semicolons.
2022-04-13 17:46:10 +02:00
..
createCCForITest.sh Improve nginx example config 2022-04-12 16:05:45 +02:00
createRootCAForITest.sh Add scripts for integration test setup and docs generation 2022-04-08 10:04:34 +02:00
createWebserverCertForITest.sh Improve nginx example config 2022-04-12 16:05:45 +02:00
downloadExamples.sh Add scripts for integration test setup and docs generation 2022-04-08 10:04:34 +02:00
prepareUbuntuInstanceForITests.sh Add packages to prepareUbuntuInstanceForITests.sh 2022-04-13 14:32:18 +02:00
Readme.md Add scripts for integration test setup and docs generation 2022-04-08 10:04:34 +02:00
setupProviderForITest.sh Add scripts for integration test setup and docs generation 2022-04-08 10:04:34 +02:00
TLSClientConfigsForITest.sh Improve nginx example config 2022-04-12 16:05:45 +02:00
TLSConfigsForITest.sh Improve nginx example config 2022-04-12 16:05:45 +02:00
uploadToProvider.sh Improve integration test uploadToProvider.sh 2022-04-13 17:46:10 +02:00

Scripts for assisting the Integration tests. They are written on Ubuntu 20.04 TLS amd64.

  • prepareUbunutForITest.sh installs the required packages for the csaf_distribution integration tests on a naked ubuntu 20.04 LTS amd64.

  • TLSConfigsForITest.sh generates a root CA and webserver cert by running createRootCAForITest.sh and createWebserverCertForITest.sh and configures nginx for serving TLS connections.

  • TLSClientConfigsForITest.sh generates client certificates by calling createCCForITest.sh which uses the root certificate initialized before with createRootCAForITest.sh. It configures nginx to enable the authentication with client certificate. (This assumes that the same folder name is used to create the root certificate)

  • setupProviderForITest.sh builds the csaf_provider, writes the required nginx configurations and create the initial folders. IT calls uploadToProvider.sh to upload some csaf example files to the provider.

As creating the folders needs to authenticate with the csaf_provider, the configurations of TLS server and Client certificate authentication should be set. So it is recommended to call the scripts in this order: TLSConfigsForITest.sh, TLSClientConfigsForITest.sh, setupProviderForITest.sh

Calling example (as root):

    curl --fail -O https://raw.githubusercontent.com/csaf-poc/csaf_distribution/main/docs/scripts/prepareUbuntuInstanceForITests.sh
    bash prepareUbuntuInstanceForITests.sh

    git clone https://github.com/csaf-poc/csaf_distribution.git
    pushd csaf_distribution/docs/scripts/

    env FOLDERNAME=devca1 ORGANAME="CSAF Tools Development (internal)" ./TLSConfigsForITest.sh
    env FOLDERNAME=devca1 ORGANAME="CSAF Tools Development (internal)" ./TLSClientConfigsForITest.sh
    ./setupProviderForITest.sh