From 36a5fb56bf77adf9cd51dfca1eec34fe1ec80598 Mon Sep 17 00:00:00 2001 From: Jonas Kalderstam Date: Fri, 29 Jan 2016 10:42:02 +0100 Subject: [PATCH] Improve tests by awaiting new master before continuing --- .../neo4j/ha/TransactionConstraintsIT.java | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/enterprise/ha/src/test/java/org/neo4j/ha/TransactionConstraintsIT.java b/enterprise/ha/src/test/java/org/neo4j/ha/TransactionConstraintsIT.java index 72a8d162d4aa0..35b10165bfa2b 100644 --- a/enterprise/ha/src/test/java/org/neo4j/ha/TransactionConstraintsIT.java +++ b/enterprise/ha/src/test/java/org/neo4j/ha/TransactionConstraintsIT.java @@ -109,12 +109,13 @@ public void startTxAsSlaveAndFinishItAfterHavingSwitchedToMasterShouldNotSucceed } finally { - cluster.shutdown( cluster.getMaster() ); + HighlyAvailableGraphDatabase oldMaster = cluster.getMaster(); + cluster.shutdown( oldMaster ); + // Wait for new master + cluster.await( masterAvailable( oldMaster ) ); assertFinishGetsTransactionFailure( tx ); } - cluster.await( masterAvailable() ); - // THEN assertEquals( db, cluster.getMaster() ); // to prevent a deadlock scenario which occurs if this test exists (and @After starts) @@ -127,7 +128,7 @@ public void startTxAsSlaveAndFinishItAfterAnotherMasterBeingAvailableShouldNotSu { // GIVEN HighlyAvailableGraphDatabase db = getSlaveOnlySlave(); - HighlyAvailableGraphDatabase oldMaster = cluster.getMaster(); + HighlyAvailableGraphDatabase oldMaster; // WHEN Transaction tx = db.beginTx(); @@ -138,18 +139,14 @@ public void startTxAsSlaveAndFinishItAfterAnotherMasterBeingAvailableShouldNotSu } finally { + oldMaster = cluster.getMaster(); cluster.shutdown( oldMaster ); + // Wait for new master + cluster.await( masterAvailable( oldMaster ) ); // THEN assertFinishGetsTransactionFailure( tx ); } - try - { - cluster.await( ClusterManager.masterAvailable() ); - } catch (Exception e) { - throw e; - } - assertFalse( db.isMaster() ); assertFalse( oldMaster.isMaster() ); // to prevent a deadlock scenario which occurs if this test exists (and @After starts)