use of com.github.mjeanroy.junit.servers.engine.EmbeddedServerRunner in project junit-servers by mjeanroy.
the class JunitServerExtension method resolveParameter.
@Override
public Object resolveParameter(ParameterContext parameterContext, ExtensionContext extensionContext) throws ParameterResolutionException {
final Parameter parameter = parameterContext.getParameter();
final Class<?> parameterClass = parameter.getType();
final EmbeddedServerRunner serverAdapter = findEmbeddedServerAdapterInStore(extensionContext);
// Fast case: a perfect match.
if (RESOLVERS.containsKey(parameterClass)) {
return RESOLVERS.get(parameterClass).resolve(parameterContext, serverAdapter);
}
for (Class<?> klass : RESOLVERS.keySet()) {
if (klass.isAssignableFrom(parameterClass)) {
return RESOLVERS.get(klass).resolve(parameterContext, serverAdapter);
}
}
// method `supportsParameter` has previously returned `true`.
return null;
}
use of com.github.mjeanroy.junit.servers.engine.EmbeddedServerRunner in project junit-servers by mjeanroy.
the class JunitServerExtensionTest method it_should_start_server_before_each_tests.
@Test
void it_should_start_server_before_each_tests() {
final JunitServerExtension extension = new JunitServerExtension();
final FixtureClass testInstance = new FixtureClass();
final FakeExtensionContext context = new FakeExtensionContext(testInstance);
extension.beforeEach(context);
final FakeStore store = context.getSingleStore();
final EmbeddedServerRunner serverAdapter = store.get("serverAdapter", EmbeddedServerRunner.class);
assertThat(serverAdapter).isNotNull();
assertThat(serverAdapter.getServer()).isNotNull();
assertThat(serverAdapter.getServer().isStarted()).isTrue();
}
use of com.github.mjeanroy.junit.servers.engine.EmbeddedServerRunner in project junit-servers by mjeanroy.
the class JunitServerExtensionTest method it_should_resolve_embedded_server_parameter.
@Test
void it_should_resolve_embedded_server_parameter() throws Exception {
final FixtureClass testInstance = new FixtureClass();
final FakeExtensionContext context = new FakeExtensionContext(testInstance);
final JunitServerExtension extension = initializeExtension(context);
final FakeStore store = context.getSingleStore();
final EmbeddedServerRunner serverAdapter = store.get("serverAdapter", EmbeddedServerRunner.class);
final ParameterContext parameterContext = createParameterContext("method_server", EmbeddedServer.class);
final Object result = extension.resolveParameter(parameterContext, context);
assertThat(result).isNotNull().isSameAs(serverAdapter.getServer());
}
use of com.github.mjeanroy.junit.servers.engine.EmbeddedServerRunner in project junit-servers by mjeanroy.
the class JunitServerExtensionTest method it_should_stop_server_after_each_tests.
@Test
void it_should_stop_server_after_each_tests() {
final JunitServerExtension extension = new JunitServerExtension();
final FixtureClass testInstance = new FixtureClass();
final FakeExtensionContext context = new FakeExtensionContext(testInstance);
extension.beforeEach(context);
final FakeStore store = context.getSingleStore();
final EmbeddedServerRunner serverAdapter = store.get("serverAdapter", EmbeddedServerRunner.class);
extension.afterEach(context);
assertThat(store.isEmpty()).isTrue();
assertThat(serverAdapter.getServer().isStarted()).isFalse();
}
use of com.github.mjeanroy.junit.servers.engine.EmbeddedServerRunner in project junit-servers by mjeanroy.
the class JunitServerExtensionTest method it_should_detect_if_server_must_be_started_and_stopped_after_all_tests.
@Test
void it_should_detect_if_server_must_be_started_and_stopped_after_all_tests() {
final JunitServerExtension extension = new JunitServerExtension();
final FixtureClass testInstance = new FixtureClass();
final FakeExtensionContext context = new FakeExtensionContext(testInstance);
extension.beforeAll(context);
extension.beforeEach(context);
final FakeStore store = context.getSingleStore();
final EmbeddedServerRunner serverAdapter = store.get("serverAdapter", EmbeddedServerRunner.class);
extension.afterEach(context);
assertThat(store.isEmpty()).isFalse();
assertThat(serverAdapter.getServer().isStarted()).isTrue();
extension.afterAll(context);
assertThat(store.isEmpty()).isTrue();
assertThat(serverAdapter.getServer().isStarted()).isFalse();
}
Aggregations