All Downloads are FREE. Search and download functionalities are using the official Maven repository.

au.com.agic.apptesting.utils.ProxyDetails Maven / Gradle / Ivy

package au.com.agic.apptesting.utils;

import java.util.Map;
import java.util.Optional;

import javax.validation.constraints.NotNull;

/**
 * This represents the details of a proxy that our test steps can use
 */
public interface ProxyDetails {

	/**
	 *
	 * @return The port that the proxy is run on
	 */
	int getPort();

	/**
	 *
	 * @return The interface (like a client API) that we can use to access the proxy, or an emoty result if
	 * there is no such interface.
	 */
	Optional getInterface();

	/**
	 *
	 * @return A general map of name value pairs that define the properties of the proxy
	 */
	@NotNull
	Map getProperties();

	/**
	 *
	 * @param properties A general map of name value pairs that define the properties of the proxy
	 */
	void setProperties(@NotNull final Map properties);

	/**
	 *
	 * @return true if this is the main proxy i.e. the one that the browser should use
	 */
	boolean isMainProxy();

	/**
	 *
	 * @return The name of the proxy
	 */
	String getProxyName();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy