### Question:
HTTPPluginControl { private HTTPPluginControl() { } private  HTTPPluginControl(); static HTTPPluginConnection getConnectionDefaults(); static HTTPPluginConnection getThreadConnection(String url); static Object getThreadHTTPClientContext(); static HTTPUtilities getHTTPUtilities();  }### Answer:
@Test public void testHTTPPluginControl() throws Exception { final HTTPPluginThreadState threadState = new HTTPPluginThreadState(null, new InsecureSSLContextFactory(), null, new StandardTimeAuthority()); final ScriptContext scriptContext = mock(ScriptContext.class, RETURNS_MOCKS); final PluginProcessContext pluginProcessContext = mock(PluginProcessContext.class); when(pluginProcessContext.getPluginThreadListener()) .thenReturn(threadState); when(pluginProcessContext.getScriptContext()).thenReturn(scriptContext); new PluginRegistry() { { setInstance(this); } @Override public void register(final GrinderPlugin plugin) throws GrinderException { plugin.initialize(pluginProcessContext); } }; final PluginProcessContext existingMock = HTTPPlugin.getPlugin().getPluginProcessContext(); if (existingMock != null && existingMock != pluginProcessContext) { when(existingMock.getPluginThreadListener()).thenReturn(threadState); when(existingMock.getScriptContext()).thenReturn(scriptContext); } final HTTPPluginConnection connectionDefaults = HTTPPluginControl.getConnectionDefaults(); assertNotNull(connectionDefaults); assertSame(connectionDefaults, HTTPPluginControl.getConnectionDefaults()); final HTTPUtilities utilities = HTTPPluginControl.getHTTPUtilities(); assertNotNull(utilities); final Object threadContext = HTTPPluginControl.getThreadHTTPClientContext(); assertSame(threadState, threadContext); assertSame(threadState, HTTPPluginControl.getThreadHTTPClientContext()); final HTTPPluginConnection connection = HTTPPluginControl.getThreadConnection("http: assertSame(connection, HTTPPluginControl.getThreadConnection("http: assertNotSame(connection, HTTPPluginControl.getThreadConnection("http: }