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