github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/tests/http_proxies/run.sh (about)

     1  #!/bin/bash
     2  
     3  set -eu
     4  
     5  cur=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
     6  source $cur/../_utils/test_prepare
     7  
     8  WORK_DIR=$TEST_DIR/$TEST_NAME
     9  
    10  function test_dm() {
    11  	env_name=$1
    12  	env_val=$2
    13  	export $env_name=$env_val
    14  
    15  	expected_str="\[\"using proxy config\"\] \[$env_name=$env_val\]"
    16  
    17  	# run dm master
    18  	run_dm_master $WORK_DIR/master $MASTER_PORT $cur/conf/dm-master.toml
    19  	check_rpc_alive $cur/../bin/check_master_online 127.0.0.1:$MASTER_PORT
    20  
    21  	# check dm master log
    22  	check_log_contains "$WORK_DIR/master/log/dm-master.log" $expected_str 1
    23  
    24  	# rum dm worker
    25  	run_dm_worker $WORK_DIR/worker1 $WORKER1_PORT $cur/conf/dm-worker1.toml
    26  	check_rpc_alive $cur/../bin/check_worker_online 127.0.0.1:$WORKER1_PORT
    27  
    28  	# check dm worker log
    29  	check_log_contains "$WORK_DIR/worker1/log/dm-worker.log" $expected_str 1
    30  
    31  	# replace url forward slash with backward and forward slash
    32  	env_val=$(echo "$env_val" | sed "s/\/\//\\\\\/\\\\\//")
    33  
    34  	# check dm ctl output
    35  	run_dm_ctl $WORK_DIR "127.0.0.1:$MASTER_PORT" \
    36  		"query-status test" "$env_name=$env_val" 1 \
    37  		'"result": false' 1
    38  
    39  	unset $env_name
    40  
    41  	kill_dm_master
    42  	kill_dm_worker
    43  }
    44  
    45  function run() {
    46  	echo "test dm grpc proxy env setting checking for http_proxy=http://127.0.0.1:8080"
    47  	test_dm "http_proxy" "http://127.0.0.1:8080"
    48  
    49  	echo "test dm grpc proxy env setting checking for https_proxy=https://127.0.0.1:8080"
    50  	test_dm "https_proxy" "https://127.0.0.1:8080"
    51  
    52  	echo "test dm grpc proxy env setting checking for no_proxy=localhost,127.0.0.1"
    53  	test_dm "no_proxy" "localhost,127.0.0.1"
    54  }
    55  
    56  cleanup_data $TEST_NAME
    57  cleanup_process
    58  run
    59  cleanup_process
    60  
    61  echo "[$(date)] <<<<<< test case $TEST_NAME success! >>>>>>"