Interface BaseUrlSelector

  • All Known Implementing Classes:

    public interface BaseUrlSelector
    Please use confluence-test-utils module instead. See {com.atlassian.confluence.test.BaseUrlSelector} alternative
    • Method Detail

      • getBaseUrl

        String getBaseUrl()
        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

        Collection<String> getAllNodeBaseUrls()
        a collection of the baseUrls of all of the nodes in the cluster, or a collection of one baseUrl if not clustered.
      • getConfiguredBaseUrl

        String getConfiguredBaseUrl()
        The url that has been configured as the base URl of the whole application cluster (e.g. the load balancer). If not clustered, this returns the same value as getBaseUrl().
      • substituteForNodeBaseUrl

        String substituteForNodeBaseUrl​(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 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 getConfiguredBaseUrl(), and if so then substitutes it with the 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.

      • undeprecate

        default com.atlassian.confluence.test.BaseUrlSelector undeprecate()
        Return an adapter to the confluence-test-utils edition of BaseUrl, that passes through all method calls except BaseUrlSelector.switchToNode(int).