TestBase Class
- java.
lang. Object - com.
azure. core. test. TestBase
- com.
public abstract class TestBase
Base class for running live and playback tests using InterceptorManager.
Field Summary
Modifier and Type | Field and Description |
---|---|
static final String |
AZURE_TEST_HTTP_CLIENTS_VALUE_ALL
Specifies to use all Http |
static final String |
AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY
Specifies to use Netty Http |
static final String |
AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL
Specifies to use all service versions in testing. |
protected
Interceptor |
interceptorManager
InterceptorManager used for this test run. |
protected
Test |
testContextManager
TestContextManager used for this test run. |
protected
Test |
testResourceNamer
TestResourceNamer used for this test run. |
Constructor Summary
Constructor | Description |
---|---|
TestBase() |
Creates a new instance of TestBase. |
Method Summary
Modifier and Type | Method and Description |
---|---|
protected
Poller |
<T,U>setPlaybackPollerFluxPollInterval(PollerFlux<T,U> pollerFlux)
Sets the polling interval for the passed PollerFlux<T,U>. |
protected
Sync |
<T,U>setPlaybackSyncPollerPollInterval(SyncPoller<T,U> syncPoller)
Sets the polling interval for the passed SyncPoller<T,U>. |
protected void |
afterTest()
Dispose of any resources and clean-up after a test case runs. |
protected void |
beforeTest()
Performs any set-up before each test case. |
protected
Http |
getHttpClientOrUsePlayback(HttpClient httpClient)
Convenience method which either returned the passed HttpClient or returns a PlaybackClient depending on whether the test mode is playback. |
static
Stream<Http |
getHttpClients()
Returns a list of HttpClient that should be tested. |
protected Path |
getTestClassPath()
Returns the path of the class to which the test belongs. |
Test |
getTestMode()
Gets the Test |
protected String |
getTestName()
Deprecated
This method is deprecated as JUnit 5 provides a simpler mechanism to get the test method name through TestInfo. Keeping this for backward compatability of other client libraries that still override this method. This method can be deleted when all client libraries remove this method. See setupTest(TestContextManager testContextManager).
Gets the name of the current test being run. |
static boolean |
isTestProxyEnabled()
Indicates whether the out of process test recording proxy is in use. |
protected static void |
setTestProxyEnabled()
Enables use of the test proxy. |
static void |
setupClass()
Before tests are executed, determines the test mode by reading the |
void |
setupTest(TestContextManager testContextManager)
Sets-up the testResourceNamer and interceptorManager before each test case is run. |
static boolean |
shouldClientBeTested(HttpClient client)
Returns whether the given http clients match the rules of test framework. |
protected void |
sleepIfRunningAgainstService(long millis)
Sleeps the test for the given amount of milliseconds if TestMode isn't PLAYBACK. |
void |
teardownTest()
Disposes of InterceptorManager and its inheriting class' resources. |
Methods inherited from java.lang.Object
Field Details
AZURE_TEST_HTTP_CLIENTS_VALUE_ALL
public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_ALL
Specifies to use all HttpClient implementations in testing.
AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY
public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY
Specifies to use Netty HttpClient implementation in testing.
AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL
public static final String AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL
Specifies to use all service versions in testing.
interceptorManager
protected InterceptorManager interceptorManager
InterceptorManager used for this test run.
testContextManager
protected TestContextManager testContextManager
TestContextManager used for this test run.
testResourceNamer
protected TestResourceNamer testResourceNamer
TestResourceNamer used for this test run.
Constructor Details
TestBase
public TestBase()
Creates a new instance of TestBase.
Method Details
<T,U>setPlaybackPollerFluxPollInterval
protected PollerFlux
Sets the polling interval for the passed PollerFlux<T,U>.
This configures the PollerFlux<T,U> to use a poll interval of one millisecond if the test mode is playback. In live or record test mode the polling interval is left as-is.
Parameters:
Returns:
<T,U>setPlaybackSyncPollerPollInterval
protected SyncPoller
Sets the polling interval for the passed SyncPoller<T,U>.
This configures the SyncPoller<T,U> to use a poll interval of one millisecond if the test mode is playback. In live or record test mode the polling interval is left as-is.
Parameters:
Returns:
afterTest
protected void afterTest()
Dispose of any resources and clean-up after a test case runs. Can be overridden in an inheriting class to add additional functionality during test teardown.
beforeTest
protected void beforeTest()
Performs any set-up before each test case. Any initialization that occurs in TestBase occurs first before this. Can be overridden in an inheriting class to add additional functionality during test set-up.
getHttpClientOrUsePlayback
protected HttpClient getHttpClientOrUsePlayback(HttpClient httpClient)
Convenience method which either returned the passed HttpClient or returns a PlaybackClient depending on whether the test mode is playback.
When the test mode is playback the PlaybackClient corresponding to the test will be returned, otherwise the passed HttpClient will be returned.
Parameters:
Returns:
getHttpClients
public static Stream
Returns a list of HttpClient that should be tested.
Returns:
getTestClassPath
protected Path getTestClassPath()
Returns the path of the class to which the test belongs.
Returns:
getTestMode
public TestMode getTestMode()
Gets the TestMode that has been initialized.
Returns:
getTestName
@Deprecated
protected String getTestName()
Deprecated
Gets the name of the current test being run.
Returns:
isTestProxyEnabled
public static boolean isTestProxyEnabled()
Indicates whether the out of process test recording proxy is in use.
Returns:
setTestProxyEnabled
protected static void setTestProxyEnabled()
Enables use of the test proxy.
setupClass
public static void setupClass()
Before tests are executed, determines the test mode by reading the AZURE_TEST_MODE
environment variable. If it is not set, PLAYBACK
setupTest
public void setupTest(TestContextManager testContextManager)
Sets-up the testResourceNamer and interceptorManager before each test case is run. Then calls its implementing class to perform any other set-up commands.
Parameters:
shouldClientBeTested
public static boolean shouldClientBeTested(HttpClient client)
Returns whether the given http clients match the rules of test framework.
- Using Netty http client as default if no environment variable is set.
- If it's set to ALL, all HttpClients in the classpath will be tested.
- Otherwise, the name of the HttpClient class should match env variable.
Environment values currently supported are: "ALL", "netty", "okhttp" which is case insensitive. Use comma to separate http clients want to test. e.g. set AZURE_TEST_HTTP_CLIENTS = NettyAsyncHttpClient, OkHttpAsyncHttpClient
Parameters:
Returns:
sleepIfRunningAgainstService
teardownTest
public void teardownTest()
Disposes of InterceptorManager and its inheriting class' resources.
Applies to
Azure SDK for Java