com.atlassian.confluence.it
Class ConfluenceBaseUrlSelector
java.lang.Object
com.atlassian.confluence.it.ConfluenceBaseUrlSelector
- All Implemented Interfaces:
- BaseUrlSelector
public class ConfluenceBaseUrlSelector
- extends java.lang.Object
- implements BaseUrlSelector
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RANDOMNESS_HANDLER
public static final RandomnessHandler RANDOMNESS_HANDLER
ConfluenceBaseUrlSelector
@Deprecated
public ConfluenceBaseUrlSelector()
- Deprecated. Since 5.6 Use
ConfluenceBaseUrlSelector(org.slf4j.Logger)
ConfluenceBaseUrlSelector
public ConfluenceBaseUrlSelector(@Nonnull
org.slf4j.Logger logger)
getBaseUrl
public java.lang.String getBaseUrl()
-
- Specified by:
getBaseUrl
in interface BaseUrlSelector
- Returns:
- The base url that is used in tests.
Note that in case of cluster it will return a base url of the node that the current test is running against.
Important: This is not the configured base url.
getAllNodeBaseUrls
public java.util.List<java.lang.String> getAllNodeBaseUrls()
-
- Specified by:
getAllNodeBaseUrls
in interface BaseUrlSelector
- Returns:
- a collection of the baseUrls of all of the nodes in the cluster, or a collection of one baseUrl if not clustered.
getConfiguredBaseUrl
public java.lang.String getConfiguredBaseUrl()
-
- Specified by:
getConfiguredBaseUrl
in interface BaseUrlSelector
- Returns:
- The url that has been confogured as the base URl of the whole application cluster (e.g. the load balancer). If not clustered, this returns the same value as
BaseUrlSelector.getBaseUrl()
.
substituteForNodeBaseUrl
public java.lang.String substituteForNodeBaseUrl(java.lang.String url)
- Our cluster builds don't have a load balancer, this base URL actually points at node 1. If a test runs against
node 2, and is given a URL with the
BaseUrlSelector.getConfiguredBaseUrl()
in it by the server, then pinging that URL
will take it to node 1, and the test will fail.
This method checks to see if the given URL starts with the BaseUrlSelector.getConfiguredBaseUrl()
, and if so then
substitutes it with the BaseUrlSelector.getBaseUrl()
that points at the node that the current test is running against.
It also checks to see if the given URL starts with the base URL of any of the other cluster nodes, and performs
a similar substitution.
If and when our cluster builds get a load balancer, we should be able to take this nastiness out.
- Specified by:
substituteForNodeBaseUrl
in interface BaseUrlSelector
Copyright © 2003-2014 Atlassian. All Rights Reserved.