1#############################################################
2# Author: Serge Kozlov <Serge.Kozlov@Sun.COM>
3# Date:   02/19/2009
4# Purpose: Testing basic functionality of heartbeat over SSL
5#############################################################
6--source include/have_ssl_communication.inc
7--source include/master-slave.inc
8--echo
9
10#
11# Testing heartbeat over SSL
12#
13
14# Heartbeat over SSL
15--echo *** Heartbeat over SSL ***
16--connection master
17let $master_binlog= query_get_value(SHOW MASTER STATUS, File, 1);
18--connection slave
19--source include/stop_slave.inc
20RESET SLAVE;
21# Connect to master with SSL
22--replace_result $MASTER_MYPORT MASTER_PORT $MYSQL_TEST_DIR MYSQL_TEST_DIR $master_binlog MASTER_BINLOG
23eval CHANGE MASTER TO
24    MASTER_HOST='127.0.0.1',
25    MASTER_PORT=$MASTER_MYPORT,
26    MASTER_USER='root',
27    MASTER_HEARTBEAT_PERIOD=0.1,
28    MASTER_LOG_FILE='$master_binlog',
29    MASTER_SSL=1,
30    MASTER_SSL_CA='$MYSQL_TEST_DIR/std_data/cacert.pem',
31    MASTER_SSL_CERT='$MYSQL_TEST_DIR/std_data/client-cert.pem',
32    MASTER_SSL_KEY='$MYSQL_TEST_DIR/std_data/client-key.pem';
33--source include/start_slave.inc
34# Check SSL state of slave
35let $slave_ssl_status= query_get_value(SHOW SLAVE STATUS, Master_SSL_Allowed, 1);
36--echo Master_SSL_Allowed: $slave_ssl_status
37# Wait until hearbeat event will received
38let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
39let $status_var= slave_received_heartbeats;
40let $status_var_comparsion= >;
41--source include/wait_for_status_var.inc
42--echo Heartbeat event has received
43--echo
44
45#
46# Clean up
47#
48--echo *** Clean up ***
49--source include/stop_slave.inc
50CHANGE MASTER TO
51    MASTER_SSL=0,
52    MASTER_SSL_CA='',
53    MASTER_SSL_CERT='',
54    MASTER_SSL_KEY='';
55--let $rpl_only_running_threads= 1
56--source include/rpl_end.inc
57