#############################################################
# Author: Serge Kozlov <Serge.Kozlov@Sun.COM>
# Date:   02/19/2009
# Purpose: Testing basic functionality of heartbeat over SSL
#############################################################
--source include/have_ssl_communication.inc
--source include/master-slave.inc
--echo

#
# Testing heartbeat over SSL
#

# Heartbeat over SSL 
--echo *** Heartbeat over SSL ***
--connection master
let $master_binlog= query_get_value(SHOW MASTER STATUS, File, 1);
--connection slave
--source include/stop_slave.inc
RESET SLAVE;
# Connect to master with SSL
--replace_result $MASTER_MYPORT MASTER_PORT $MYSQL_TEST_DIR MYSQL_TEST_DIR $master_binlog MASTER_BINLOG
eval CHANGE MASTER TO 
    MASTER_HOST='127.0.0.1',
    MASTER_PORT=$MASTER_MYPORT,
    MASTER_USER='root',
    MASTER_HEARTBEAT_PERIOD=0.1,
    MASTER_LOG_FILE='$master_binlog',
    MASTER_SSL=1,
    MASTER_SSL_CA='$MYSQL_TEST_DIR/std_data/cacert.pem',
    MASTER_SSL_CERT='$MYSQL_TEST_DIR/std_data/client-cert.pem',
    MASTER_SSL_KEY='$MYSQL_TEST_DIR/std_data/client-key.pem',
    MASTER_USE_GTID=NO;
--source include/start_slave.inc
# Check SSL state of slave
let $slave_ssl_status= query_get_value(SHOW SLAVE STATUS, Master_SSL_Allowed, 1);
--echo Master_SSL_Allowed: $slave_ssl_status
# Wait until hearbeat event will received
let $status_var_value= query_get_value(SHOW STATUS LIKE 'slave_received_heartbeats', Value, 1);
let $status_var= slave_received_heartbeats;
let $status_var_comparsion= >;
--source include/wait_for_status_var.inc
--echo Heartbeat event has received
--echo

#
# Clean up
#
--echo *** Clean up ***
--source include/stop_slave.inc
CHANGE MASTER TO 
    MASTER_SSL=1,
    MASTER_SSL_CA='',
    MASTER_SSL_CERT='',
    MASTER_SSL_KEY='';
--let $rpl_only_running_threads= 1
--source include/rpl_end.inc
