@@ -135,6 +135,9 @@ protected void initializeCuratorFramework() {
135135
136136 @ Test
137137 public void testClientInstance () {
138+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
139+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (true );
140+
138141 CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
139142 @ Override
140143 protected void initializeCuratorFramework () {
@@ -154,6 +157,9 @@ protected void initializeCuratorFramework() {
154157
155158 @ Test
156159 public void testLeaderLatchInstance () {
160+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
161+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (true );
162+
157163 CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
158164 @ Override
159165 protected void initializeCuratorFramework () {
@@ -176,6 +182,9 @@ protected void initializeCuratorFramework() {
176182
177183 @ Test
178184 public void testLockInstance () {
185+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
186+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (true );
187+
179188 CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
180189 @ Override
181190 protected void initializeCuratorFramework () {
@@ -197,6 +206,9 @@ protected void initializeCuratorFramework() {
197206
198207 @ Test
199208 public void testClose () {
209+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
210+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (true );
211+
200212 CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
201213 @ Override
202214 protected void initializeCuratorFramework () {
@@ -215,6 +227,56 @@ protected void initializeCuratorFramework() {
215227 verify (curatorFramework ).close ();
216228 }
217229
230+ @ Test
231+ public void testConstructorDoesNotInitializeWhenHAKeyIsMissing () {
232+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (false );
233+
234+ CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
235+ @ Override
236+ protected void initializeCuratorFramework () {
237+ throw new AssertionError ("initializeCuratorFramework() should not be called when HA key is missing" );
238+ }
239+ };
240+
241+ assertNull (curatorFactory .clientInstance ());
242+ }
243+
244+ @ Test
245+ public void testConstructorDoesNotInitializeWhenHAIsDisabled () {
246+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
247+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (false );
248+
249+ CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
250+ @ Override
251+ protected void initializeCuratorFramework () {
252+ throw new AssertionError ("initializeCuratorFramework() should not be called when HA is disabled" );
253+ }
254+ };
255+
256+ assertNull (curatorFactory .clientInstance ());
257+ }
258+
259+ @ Test
260+ public void testConstructorInitializesWhenHAIsEnabled () {
261+ when (configuration .containsKey (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY )).thenReturn (true );
262+ when (configuration .getBoolean (HAConfiguration .ATLAS_SERVER_HA_ENABLED_KEY , true )).thenReturn (true );
263+
264+ CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
265+ @ Override
266+ protected void initializeCuratorFramework () {
267+ try {
268+ Field field = CuratorFactory .class .getDeclaredField ("curatorFramework" );
269+ field .setAccessible (true );
270+ field .set (this , curatorFramework );
271+ } catch (Exception e ) {
272+ throw new RuntimeException (e );
273+ }
274+ }
275+ };
276+
277+ assertEquals (curatorFactory .clientInstance (), curatorFramework );
278+ }
279+
218280 @ Test
219281 public void testGetIdForLoggingSaslScheme () throws Exception {
220282 CuratorFactory curatorFactory = new CuratorFactory (configuration ) {
0 commit comments