/*******************************************************************************
* Copyright (c) 2015 Red Hat.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat - Initial Contribution
*******************************************************************************/
package org.eclipse.linuxtools.internal.docker.ui.testutils.swt;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.linuxtools.docker.core.DockerConnectionManager;
import org.eclipse.linuxtools.docker.core.IDockerConnection;
import org.eclipse.linuxtools.internal.docker.core.DefaultDockerConnectionSettingsFinder;
import org.junit.rules.ExternalResource;
/**
* Clears the connection manager after each test.
*/
public class ClearConnectionManagerRule extends ExternalResource {
@Override
protected void after() {
removeAllConnections(DockerConnectionManager.getInstance());
DockerConnectionManagerUtils.configureConnectionManager();
DockerConnectionManager.getInstance().setConnectionSettingsFinder(new DefaultDockerConnectionSettingsFinder());
}
/**
* Removes all connections in the given {@link DockerConnectionManager}
*
* @param dockerConnectionManager
*/
public static void removeAllConnections(final DockerConnectionManager dockerConnectionManager) {
final List<IDockerConnection> allConnections = new ArrayList<>(dockerConnectionManager.getAllConnections());
allConnections.forEach(c -> dockerConnectionManager.removeConnection(c));
}
}