Class WebServerExtension
- java.lang.Object
-
- org.elypia.webservertestbed.junit5.WebServerExtension
-
- All Implemented Interfaces:
org.junit.jupiter.api.extension.AfterAllCallback,org.junit.jupiter.api.extension.AfterEachCallback,org.junit.jupiter.api.extension.BeforeAllCallback,org.junit.jupiter.api.extension.BeforeEachCallback,org.junit.jupiter.api.extension.Extension,org.junit.jupiter.api.extension.ParameterResolver,org.junit.jupiter.api.extension.TestInstancePostProcessor
public class WebServerExtension extends Object implements org.junit.jupiter.api.extension.TestInstancePostProcessor, org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.BeforeEachCallback, org.junit.jupiter.api.extension.AfterEachCallback, org.junit.jupiter.api.extension.ParameterResolver
Extension for JUnit to create
The following is an example on the simplest usage of this extention:MockResponsethrough annotations.public class MyTest { // Register the extension, and retain a reference to it if you need any data from it. @RegisterExtension public static final WebServerExtension serverExtension = new WebServerExtension(); @WebServerTest("api_response.json") public void testMyApi() { MyApi api = new MyApi(serverExtension.getRequestUrl()); MyResponseObject response = myApi.makeApiRequest(); } }- Since:
- 1.0.0
-
-
Constructor Summary
Constructors Constructor Description WebServerExtension()WebServerExtension(boolean beforeEach)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterAll(org.junit.jupiter.api.extension.ExtensionContext context)voidafterEach(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeAll(org.junit.jupiter.api.extension.ExtensionContext context)voidbeforeEach(org.junit.jupiter.api.extension.ExtensionContext context)URLgetRequestUrl()URLgetRequestUrl(String path)okhttp3.mockwebserver.MockWebServergetServer()voidpostProcessTestInstance(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context)ObjectresolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)booleansupportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
-
-
-
Constructor Detail
-
WebServerExtension
public WebServerExtension()
-
WebServerExtension
public WebServerExtension(boolean beforeEach)
- Parameters:
beforeEach- By default the mock webserver is startedbeforeAll(ExtensionContext)and closedafterAll(ExtensionContext). Set this to true to make itbeforeEach(ExtensionContext)andafterEach(ExtensionContext)instead.
-
-
Method Detail
-
beforeAll
public void beforeAll(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
beforeAllin interfaceorg.junit.jupiter.api.extension.BeforeAllCallback- Throws:
Exception
-
afterAll
public void afterAll(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
afterAllin interfaceorg.junit.jupiter.api.extension.AfterAllCallback- Throws:
Exception
-
beforeEach
public void beforeEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
beforeEachin interfaceorg.junit.jupiter.api.extension.BeforeEachCallback- Throws:
Exception
-
afterEach
public void afterEach(org.junit.jupiter.api.extension.ExtensionContext context) throws Exception- Specified by:
afterEachin interfaceorg.junit.jupiter.api.extension.AfterEachCallback- Throws:
Exception
-
postProcessTestInstance
public void postProcessTestInstance(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext context) throws Exception
- Specified by:
postProcessTestInstancein interfaceorg.junit.jupiter.api.extension.TestInstancePostProcessor- Throws:
Exception
-
supportsParameter
public boolean supportsParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)- Specified by:
supportsParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
resolveParameter
public Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext)
- Specified by:
resolveParameterin interfaceorg.junit.jupiter.api.extension.ParameterResolver
-
getRequestUrl
public URL getRequestUrl()
- Returns:
- The root address of the mock webserver.
-
getRequestUrl
public URL getRequestUrl(String path)
- Parameters:
path- The path relative of the server root location.- Returns:
- The address of the server to the specific path.
-
getServer
public okhttp3.mockwebserver.MockWebServer getServer()
- Returns:
- The undelying mock webserver instance.
-
-