From 9e62e1b1714625f6edb63b86f420d4eb0634cb1a Mon Sep 17 00:00:00 2001 From: Sameer Naik Date: Fri, 5 Feb 2016 22:15:19 +0530 Subject: [PATCH] use only two container instances to speed up the tests --- bitnami/redis/test.sh | 110 +++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 56 deletions(-) diff --git a/bitnami/redis/test.sh b/bitnami/redis/test.sh index 4d10204b0d86..777ace5f91ca 100644 --- a/bitnami/redis/test.sh +++ b/bitnami/redis/test.sh @@ -17,9 +17,7 @@ redis_client() { # Cleans up all running/stopped containers and host mounted volumes cleanup_environment() { container_remove_full default - container_remove_full master - container_remove_full slave0 - container_remove_full slave1 + container_remove_full slave } # Teardown called at the end of each test @@ -130,37 +128,37 @@ cleanup_environment @test "Can't setup replication slave without master host" { # create replication slave without specifying REDIS_MASTER_HOST - run container_create slave0 \ + run container_create slave \ -e REDIS_REPLICATION_MODE=slave [[ "$output" =~ "you need to provide the REDIS_MASTER_HOST" ]] } @test "Master data is replicated on slave" { - container_create master -d \ + container_create default -d \ -e REDIS_REPLICATION_MODE=master - container_create slave0 -d \ - $(container_link master $CONTAINER_NAME) \ + container_create slave -d \ + $(container_link default $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_REPLICATION_MODE=slave # create record in master - run redis_client master set winter 'is coming' + run redis_client default set winter 'is coming' [[ "$output" =~ "OK" ]] - # verify that record is replicated on slave0 - run redis_client slave0 get winter + # verify that record is replicated on slave + run redis_client slave get winter [[ "$output" =~ "is coming" ]] } @test "Master data is replicated on slave with authentication enabled" { - container_create master -d \ + container_create default -d \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=master - container_create slave0 -d \ - $(container_link master $CONTAINER_NAME) \ + container_create slave -d \ + $(container_link default $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_MASTER_PASSWORD=$REDIS_PASSWORD \ @@ -168,99 +166,99 @@ cleanup_environment -e REDIS_REPLICATION_MODE=slave # create record in master - run redis_client master -a $REDIS_PASSWORD set winter 'is coming' + run redis_client default -a $REDIS_PASSWORD set winter 'is coming' [[ "$output" =~ "OK" ]] - # verify that record is replicated on slave0 - run redis_client slave0 -a $REDIS_PASSWORD get winter + # verify that record is replicated on slave + run redis_client slave -a $REDIS_PASSWORD get winter [[ "$output" =~ "is coming" ]] } @test "Replication slave can fetch replication parameters from link alias \"master\"" { - container_create master -d \ + container_create default -d \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=master - container_create slave0 -d \ - $(container_link master master) \ + container_create slave -d \ + $(container_link default master) \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=slave # create record in master - run redis_client master -a $REDIS_PASSWORD set winter 'is coming' + run redis_client default -a $REDIS_PASSWORD set winter 'is coming' [[ "$output" =~ "OK" ]] - # verify that record is replicated on slave0 - run redis_client slave0 -a $REDIS_PASSWORD get winter + # verify that record is replicated on slave + run redis_client slave -a $REDIS_PASSWORD get winter [[ "$output" =~ "is coming" ]] } @test "Slave synchronizes with the master (delayed start)" { - container_create master -d \ + container_create default -d \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=master # create record in master - run redis_client master -a $REDIS_PASSWORD set winter 'is coming' + run redis_client default -a $REDIS_PASSWORD set winter 'is coming' [[ "$output" =~ "OK" ]] - container_create slave0 -d \ - $(container_link master $CONTAINER_NAME) \ + container_create slave -d \ + $(container_link default $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_MASTER_PASSWORD=$REDIS_PASSWORD \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=slave - # verify that record is replicated on slave0 - run redis_client slave0 -a $REDIS_PASSWORD get winter + # verify that record is replicated on slave + run redis_client slave -a $REDIS_PASSWORD get winter [[ "$output" =~ "is coming" ]] } @test "Replication status is preserved after deletion" { - container_create_with_host_volumes master -d \ + container_create_with_host_volumes default -d \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=master # create record in master - run redis_client master -a $REDIS_PASSWORD set winter 'is coming' + run redis_client default -a $REDIS_PASSWORD set winter 'is coming' [[ "$output" =~ "OK" ]] - container_create_with_host_volumes slave0 -d \ - $(container_link master $CONTAINER_NAME) \ + container_create_with_host_volumes slave -d \ + $(container_link default $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_MASTER_PASSWORD=$REDIS_PASSWORD \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=slave - # stop and remove master and slave0 containers - container_remove slave0 - container_remove master + # stop and remove master and slave containers + container_remove slave + container_remove default - # start master and slave0 containers with existing host volumes and no additional env arguments - container_create_with_host_volumes master -d - container_create_with_host_volumes slave0 -d $(container_link master $CONTAINER_NAME) + # start master and slave containers with existing host volumes and no additional env arguments + container_create_with_host_volumes default -d + container_create_with_host_volumes slave -d $(container_link default $CONTAINER_NAME) # insert new record into the master - run redis_client master -a $REDIS_PASSWORD set night 'is dark and full of terrors' + run redis_client default -a $REDIS_PASSWORD set night 'is dark and full of terrors' [[ "$output" =~ "OK" ]] - # verify that all previous and new data is replicated on slave0 - run redis_client slave0 -a $REDIS_PASSWORD get winter + # verify that all previous and new data is replicated on slave + run redis_client slave -a $REDIS_PASSWORD get winter [[ "$output" =~ "is coming" ]] - run redis_client slave0 -a $REDIS_PASSWORD get night + run redis_client slave -a $REDIS_PASSWORD get night [[ "$output" =~ "is dark and full of terrors" ]] } @test "Slave can be triggered to act as the master" { - container_create master -d \ + container_create default -d \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=master - container_create slave0 -d \ - $(container_link master $CONTAINER_NAME) \ + container_create slave -d \ + $(container_link default $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_MASTER_PASSWORD=$REDIS_PASSWORD \ @@ -268,33 +266,33 @@ cleanup_environment -e REDIS_REPLICATION_MODE=slave # create record in master - run redis_client master -a $REDIS_PASSWORD set winter 'is coming' + run redis_client default -a $REDIS_PASSWORD set winter 'is coming' [[ "$output" =~ "OK" ]] # stop and remove master - container_remove master + container_remove default # convert slave to become master - run redis_client slave0 -a $REDIS_PASSWORD SLAVEOF NO ONE + run redis_client slave -a $REDIS_PASSWORD SLAVEOF NO ONE [[ "$output" =~ "OK" ]] - # create slave1 that configures slave0 as the master - container_create slave1 -d \ - $(container_link slave0 $CONTAINER_NAME) \ + # create container that configures slave as the master + container_create default -d \ + $(container_link slave $CONTAINER_NAME) \ -e REDIS_MASTER_HOST=$CONTAINER_NAME \ -e REDIS_MASTER_PORT=6379 \ -e REDIS_MASTER_PASSWORD=$REDIS_PASSWORD \ -e REDIS_PASSWORD=$REDIS_PASSWORD \ -e REDIS_REPLICATION_MODE=slave - # insert new record into slave0, since it is now the master it should allow writes - run redis_client slave0 -a $REDIS_PASSWORD set night 'is dark and full of terrors' + # insert new record into slave, since it is now the master it should allow writes + run redis_client slave -a $REDIS_PASSWORD set night 'is dark and full of terrors' [[ "$output" =~ "OK" ]] - # verify that all past and new data is replicated on slave1 - run redis_client slave1 -a $REDIS_PASSWORD get winter + # verify that all past and new data is replicated on default + run redis_client default -a $REDIS_PASSWORD get winter [[ "$output" =~ "is coming" ]] - run redis_client slave1 -a $REDIS_PASSWORD get night + run redis_client default -a $REDIS_PASSWORD get night [[ "$output" =~ "is dark and full of terrors" ]] }