InternalConnectionHandlerTestCase.java revision e433824f46514e6ed863eb6b95c70038331c8c24
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/*
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * CDDL HEADER START
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * The contents of this file are subject to the terms of the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Common Development and Distribution License, Version 1.0 only
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * (the "License"). You may not use this file except in compliance
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * with the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * or http://forgerock.org/license/CDDLv1.0.html.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * See the License for the specific language governing permissions
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * and limitations under the License.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * When distributing Covered Code, include this CDDL HEADER in each
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * file and include the License file at legal-notices/CDDLv1_0.txt.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * If applicable, add the following below this CDDL HEADER, with the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * fields enclosed by brackets "[]" replaced with your own identifying
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * information:
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Portions Copyright [yyyy] [name of copyright owner]
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * CDDL HEADER END
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster *
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Copyright 2006-2009 Sun Microsystems, Inc.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Portions Copyright 2015 ForgeRock AS
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterpackage org.opends.server.protocols.internal;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport static org.mockito.Mockito.mock;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport java.util.Collection;
0fb4093da08d574d3d1b661d4425dfbac8e02aabJames Phillpotts
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshottimport org.testng.annotations.Test;
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshottimport org.opends.server.api.ClientConnection;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Fosterimport org.opends.server.core.ServerContext;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshottimport static org.testng.Assert.*;
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster/**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * This class defines a set of tests for the
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * org.opends.server.protocols.internal.InternalConnectionHandler class.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshottpublic class InternalConnectionHandlerTestCase
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott extends InternalTestCase
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster{
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott /**
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * Retrieves an instance of the connection handler and initializes it.
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott *
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * @throws Exception If an unexpected problem occurs.
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott @Test
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott public void testGetInstanceAndInitialize()
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott throws Exception
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott {
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(handler);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster handler.initializeConnectionHandler(mock(ServerContext.class), null);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott }
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Tests the <CODE>finalizeConnectionHandler</CODE> method.
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott @Test
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott public void testFinalizeConnectionHandler()
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott {
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(handler);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster handler.finalizeConnectionHandler(null);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * Tests the <CODE>getClientConnections</CODE> method.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster @Test
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void testGetClientConnections()
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(handler);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster Collection<ClientConnection> connections = handler.getClientConnections();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(connections);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster assertTrue(connections.isEmpty());
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster /**
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * Tests the <CODE>run</CODE> method. This will make sure that it returns as
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster * expected rather than actually running as a thread.
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott @Test
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster public void testRun()
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster {
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster assertNotNull(handler);
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster handler.run();
8af80418ba1ec431c8027fa9668e5678658d3611Allan Foster }
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott /**
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * Tests the first <CODE>toString</CODE> method, which doesn't take any
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * arguments.
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott @Test
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott public void testToString1()
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott {
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(handler);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott String s = handler.toString();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(s);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertFalse(s.equals(""));
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott }
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott /**
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * Tests the second <CODE>toString</CODE> method, which takes a
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott * <CODE>StringBuilder</CODE> argument.
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott */
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott @Test
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott public void testToString2()
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott {
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott InternalConnectionHandler handler = InternalConnectionHandler.getInstance();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertNotNull(handler);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott StringBuilder buffer = new StringBuilder();
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott handler.toString(buffer);
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott assertFalse(buffer.toString().equals(""));
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott }
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott}
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott
d0da70ccbba38b773e7a7cc71bc124b06206d201Robert Wapshott