bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/scripts/func_tests/tests_post-install_0base.sh (about) 1 #! /usr/bin/env bash 2 # -*- coding: utf-8 -*- 3 4 source tests_base.sh 5 6 7 8 ########################## 9 ## TEST AGENT/LAPI/CAPI ## 10 echo "SYNSEC (AGENT+LAPI+CAPI)" 11 12 ## status / start / stop 13 # service should be up 14 pidof synsec || fail "synsec process should be running" 15 ${SYSTEMCTL} status synsec || fail "systemctl status synsec failed" 16 17 #shut it down 18 ${SYSTEMCTL} stop synsec || fail "failed to stop service" 19 ${SYSTEMCTL} status synsec && fail "synsec should be down" 20 pidof synsec && fail "synsec process shouldn't be running" 21 22 #start it again 23 ${SYSTEMCTL} start synsec || fail "failed to stop service" 24 ${SYSTEMCTL} status synsec || fail "synsec should be down" 25 pidof synsec || fail "synsec process should be running" 26 27 #restart it 28 ${SYSTEMCTL} restart synsec || fail "failed to stop service" 29 ${SYSTEMCTL} status synsec || fail "synsec should be down" 30 pidof synsec || fail "synsec process should be running" 31 32 ## version 33 ${CCSCLI} version || fail "cannot run ccscli version" 34 35 ## alerts 36 # alerts list at startup should just return one entry : comunity pull 37 sleep 5 38 ${CCSCLI} alerts list -ojson | ${JQ} '. | length >= 1' || fail "expected at least one entry from ccscli alerts list" 39 ## capi 40 ${CCSCLI} capi status || fail "capi status should be ok" 41 ## config 42 ${CCSCLI} config show || fail "failed to show config" 43 ${CCSCLI} config backup ./test || fail "failed to backup config" 44 sudo rm -rf ./test 45 ## lapi 46 ${CCSCLI} lapi status || fail "lapi status failed" 47 ## metrics 48 ${CCSCLI} metrics || fail "failed to get metrics" 49 50 ${SYSTEMCTL} stop synsec || fail "synsec should be down" 51 52 ####################### 53 ## TEST WITHOUT LAPI ## 54 55 echo "SYNSEC (AGENT)" 56 57 # test with -no-api flag 58 sudo cp ./systemd/synsec_no_lapi.service /etc/systemd/system/synsec.service 59 ${SYSTEMCTL} daemon-reload 60 ${SYSTEMCTL} start synsec 61 sleep 1 62 pidof synsec && fail "synsec shouldn't run without LAPI (in flag)" 63 ${SYSTEMCTL} stop synsec 64 65 sudo cp ./systemd/synsec.service /etc/systemd/system/synsec.service 66 ${SYSTEMCTL} daemon-reload 67 68 # test with no api server in configuration file 69 sudo cp ./config/config_no_lapi.yaml /etc/synsec/config.yaml 70 ${SYSTEMCTL} start synsec 71 sleep 1 72 pidof synsec && fail "synsec agent should not run without lapi (in configuration file)" 73 74 ##### ccscli test #### 75 ## capi 76 ${CCSCLI} -c ./config/config_no_lapi.yaml capi status && fail "capi status shouldn't be ok" 77 ## config 78 ${CCSCLI_BIN} -c ./config/config_no_lapi.yaml config show || fail "failed to show config" 79 ${CCSCLI} -c ./config/config_no_lapi.yaml config backup ./test || fail "failed to backup config" 80 sudo rm -rf ./test 81 ## lapi 82 ${CCSCLI} -c ./config/config_no_lapi.yaml lapi status && fail "lapi status should not be ok" ## if lapi status success, it means that the test fail 83 ## metrics 84 ${CCSCLI_BIN} -c ./config/config_no_lapi.yaml metrics 85 86 ${SYSTEMCTL} stop synsec 87 sudo cp ./config/config.yaml /etc/synsec/config.yaml 88 89 ######################## 90 ## TEST WITHOUT AGENT ## 91 92 echo "SYNSEC (LAPI+CAPI)" 93 94 # test with -no-cs flag 95 sudo cp ./systemd/synsec_no_agent.service /etc/systemd/system/synsec.service 96 ${SYSTEMCTL} daemon-reload 97 ${SYSTEMCTL} start synsec 98 pidof synsec || fail "synsec LAPI should run without agent (in flag)" 99 ${SYSTEMCTL} stop synsec 100 101 sudo cp ./systemd/synsec.service /etc/systemd/system/synsec.service 102 ${SYSTEMCTL} daemon-reload 103 104 # test with no synsec agent in configuration file 105 sudo cp ./config/config_no_agent.yaml /etc/synsec/config.yaml 106 ${SYSTEMCTL} start synsec 107 pidof synsec || fail "synsec LAPI should run without agent (in configuration file)" 108 109 110 ## capi 111 ${CCSCLI} -c ./config/config_no_agent.yaml capi status || fail "capi status should be ok" 112 ## config 113 ${CCSCLI_BIN} -c ./config/config_no_agent.yaml config show || fail "failed to show config" 114 ${CCSCLI} -c ./config/config_no_agent.yaml config backup ./test || fail "failed to backup config" 115 sudo rm -rf ./test 116 ## lapi 117 ${CCSCLI} -c ./config/config_no_agent.yaml lapi status || fail "lapi status failed" 118 ## metrics 119 ${CCSCLI_BIN} -c ./config/config_no_agent.yaml metrics || fail "failed to get metrics" 120 121 ${SYSTEMCTL} stop synsec 122 sudo cp ./config/config.yaml /etc/synsec/config.yaml 123 124 125 ####################### 126 ## TEST WITHOUT CAPI ## 127 echo "SYNSEC (AGENT+LAPI)" 128 129 # test with no online client in configuration file 130 sudo cp ./config/config_no_capi.yaml /etc/synsec/config.yaml 131 ${SYSTEMCTL} start synsec 132 pidof synsec || fail "synsec LAPI should run without CAPI (in configuration file)" 133 134 ## capi 135 ${CCSCLI} -c ./config/config_no_capi.yaml capi status && fail "capi status should not be ok" ## if capi status success, it means that the test fail 136 ## config 137 ${CCSCLI_BIN} -c ./config/config_no_capi.yaml config show || fail "failed to show config" 138 ${CCSCLI} -c ./config/config_no_capi.yaml config backup ./test || fail "failed to backup config" 139 sudo rm -rf ./test 140 ## lapi 141 ${CCSCLI} -c ./config/config_no_capi.yaml lapi status || fail "lapi status failed" 142 ## metrics 143 ${CCSCLI_BIN} -c ./config/config_no_capi.yaml metrics || fail "failed to get metrics" 144 145 sudo cp ./config/config.yaml /etc/synsec/config.yaml 146 ${SYSTEMCTL} restart synsec