mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-14 17:26:22 +01:00
close every registered Closeable, instead of explicitly close a special set of instances
This commit is contained in:
32
scm-webapp/src/test/java/sonia/scm/CloseableModuleTest.java
Normal file
32
scm-webapp/src/test/java/sonia/scm/CloseableModuleTest.java
Normal file
@@ -0,0 +1,32 @@
|
||||
package sonia.scm;
|
||||
|
||||
import com.google.inject.Guice;
|
||||
import com.google.inject.Injector;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import java.io.Closeable;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class CloseableModuleTest {
|
||||
|
||||
@Test
|
||||
void shouldCloseCloseables() {
|
||||
Injector injector = Guice.createInjector(new CloseableModule());
|
||||
CloseMe closeMe = injector.getInstance(CloseMe.class);
|
||||
|
||||
injector.getInstance(CloseableModule.class).closeAll();
|
||||
assertThat(closeMe.closed).isTrue();
|
||||
}
|
||||
|
||||
public static class CloseMe implements Closeable {
|
||||
|
||||
private boolean closed = false;
|
||||
|
||||
@Override
|
||||
public void close() {
|
||||
this.closed = true;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
40
scm-webapp/src/test/java/sonia/scm/MoreMatchersTest.java
Normal file
40
scm-webapp/src/test/java/sonia/scm/MoreMatchersTest.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package sonia.scm;
|
||||
|
||||
import com.google.inject.TypeLiteral;
|
||||
import com.google.inject.matcher.Matcher;
|
||||
import org.assertj.core.api.AbstractBooleanAssert;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
import java.io.Serializable;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
class MoreMatchersTest {
|
||||
|
||||
@Test
|
||||
void shouldMatchSubTypes() {
|
||||
Matcher<TypeLiteral> matcher = MoreMatchers.isSubtypeOf(Serializable.class);
|
||||
assertBoolean(matcher, One.class).isTrue();
|
||||
assertBoolean(matcher, Two.class).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldMatchIfAnnotated() {
|
||||
Matcher<TypeLiteral> matcher = MoreMatchers.isAnnotatedWith(Singleton.class);
|
||||
assertBoolean(matcher, One.class).isFalse();
|
||||
assertBoolean(matcher, Two.class).isTrue();
|
||||
}
|
||||
|
||||
private AbstractBooleanAssert<?> assertBoolean(Matcher<TypeLiteral> matcher, Class<?> clazz) {
|
||||
return assertThat(matcher.matches(TypeLiteral.get(clazz)));
|
||||
}
|
||||
|
||||
public static class One implements Serializable {
|
||||
}
|
||||
|
||||
@Singleton
|
||||
public static class Two {
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user