Clean up GuavaSchemaSourceCacheTest 37/99437/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Jan 2022 15:49:50 +0000 (16:49 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 25 Jan 2022 15:49:50 +0000 (16:49 +0100)
This is a rather ancient test, clean it up with try-with-resources
block plus a few other niceties.

Change-Id: I1965446d501ab5ddb57657efbd6b2e242fdad2b6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-repo-spi/src/test/java/org/opendaylight/yangtools/yang/model/repo/spi/GuavaSchemaSourceCacheTest.java

index 36324e84fe8f0826499b10e1ad39407a1c5ba40e..b8e3494773f3ba5e02823fda09669f57f250857f 100644 (file)
@@ -14,10 +14,8 @@ import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 
-import com.google.common.base.MoreObjects;
-import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.InputStream;
 import java.nio.charset.StandardCharsets;
 import java.util.Optional;
@@ -30,8 +28,6 @@ import org.mockito.Mock;
 import org.mockito.junit.MockitoJUnitRunner;
 import org.opendaylight.yangtools.yang.common.Revision;
 import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
-import org.opendaylight.yangtools.yang.model.repo.api.SchemaSourceRepresentation;
-import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.model.repo.api.YangSchemaSourceRepresentation;
 import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
 
@@ -47,85 +43,72 @@ public class GuavaSchemaSourceCacheTest {
     public SchemaSourceRegistration<?> registration;
 
     @Before
-    public void setUp() throws Exception {
+    public void setUp() {
         doNothing().when(registration).close();
         doReturn(registration).when(registry).registerSchemaSource(any(SchemaSourceProvider.class),
-                any(PotentialSchemaSource.class));
+            any(PotentialSchemaSource.class));
     }
 
     @Test
     public void inMemorySchemaSourceCacheTest1() {
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION);
-        assertNotNull(inMemorySchemaSourceCache);
-        inMemorySchemaSourceCache.close();
+        try (var cache = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION)) {
+            assertNotNull(cache);
+        }
     }
 
     @Test
     public void inMemorySchemaSourceCacheTest2() {
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION, LIFETIME, UNITS);
-        assertNotNull(inMemorySchemaSourceCache);
-        inMemorySchemaSourceCache.close();
+        try (var cache = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION, LIFETIME, UNITS)) {
+            assertNotNull(cache);
+        }
     }
 
     @Test
     public void inMemorySchemaSourceCacheOfferAndGetSourcestest() throws Exception {
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION);
-        final String content = "content";
-        final YangTextSchemaSource source = new TestingYangSource("test", "2012-12-12", content);
-        inMemorySchemaSourceCache.offer(source);
-        final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
-        final ListenableFuture<? extends YangSchemaSourceRepresentation> checkedSource = inMemorySchemaSourceCache
-                .getSource(sourceIdentifier);
-        assertNotNull(checkedSource);
-        final YangSchemaSourceRepresentation yangSchemaSourceRepresentation = checkedSource.get();
-        assertNotNull(yangSchemaSourceRepresentation);
-        assertEquals(sourceIdentifier, yangSchemaSourceRepresentation.getIdentifier());
-        inMemorySchemaSourceCache.close();
+        try (var cache = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION)) {
+            final String content = "content";
+            final YangTextSchemaSource source = new TestingYangSource("test", "2012-12-12", content);
+            cache.offer(source);
+            final var sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
+            final var checkedSource = cache .getSource(sourceIdentifier);
+            assertNotNull(checkedSource);
+            final var yangSchemaSourceRepresentation = checkedSource.get();
+            assertNotNull(yangSchemaSourceRepresentation);
+            assertEquals(sourceIdentifier, yangSchemaSourceRepresentation.getIdentifier());
+        }
     }
 
     @Test
     public void inMemorySchemaSourceCacheNullGetSourcestest() throws Exception {
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION);
-        final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
-        final ListenableFuture<? extends YangSchemaSourceRepresentation> checkedSource =
-            inMemorySchemaSourceCache.getSource(sourceIdentifier);
-        assertNotNull(checkedSource);
-
-
-        assertThrows(ExecutionException.class, () -> checkedSource.get());
-        inMemorySchemaSourceCache.close();
+        try (var cache = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION)) {
+            final var sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
+            final var checkedSource = cache.getSource(sourceIdentifier);
+            assertNotNull(checkedSource);
+            assertThrows(ExecutionException.class, () -> checkedSource.get());
+        }
     }
 
     @Test
     public void inMemorySchemaSourceCache3test() throws InterruptedException, ExecutionException {
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION);
-        final GuavaSchemaSourceCache<YangSchemaSourceRepresentation> inMemorySchemaSourceCache2 =
-            GuavaSchemaSourceCache.createSoftCache(this.registry, REPRESENTATION, LIFETIME, UNITS);
-
-        final String content = "content";
-        final YangTextSchemaSource source = new TestingYangSource("test", "2012-12-12", content);
-        inMemorySchemaSourceCache.offer(source);
-        inMemorySchemaSourceCache2.offer(source);
-
-        final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
-        final ListenableFuture<? extends YangSchemaSourceRepresentation> checkedSource =
-            inMemorySchemaSourceCache.getSource(sourceIdentifier);
-        final ListenableFuture<? extends SchemaSourceRepresentation> checkedSource2 =
-            inMemorySchemaSourceCache2.getSource(sourceIdentifier);
-        assertNotNull(checkedSource);
-        assertNotNull(checkedSource2);
-
-        assertEquals(checkedSource.get(), checkedSource2.get());
-        inMemorySchemaSourceCache.close();
-        inMemorySchemaSourceCache2.close();
+        try (var cache1 = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION)) {
+            try (var cache2 = GuavaSchemaSourceCache.createSoftCache(registry, REPRESENTATION, LIFETIME, UNITS)) {
+                final String content = "content";
+                final YangTextSchemaSource source = new TestingYangSource("test", "2012-12-12", content);
+                cache1.offer(source);
+                cache2.offer(source);
+
+                final var sourceIdentifier = RevisionSourceIdentifier.create("test", Revision.of("2012-12-12"));
+                final var checkedSource = cache1.getSource(sourceIdentifier);
+                final var checkedSource2 = cache2.getSource(sourceIdentifier);
+                assertNotNull(checkedSource);
+                assertNotNull(checkedSource2);
+
+                assertEquals(checkedSource.get(), checkedSource2.get());
+            }
+        }
     }
 
-    private class TestingYangSource extends YangTextSchemaSource {
+    private static class TestingYangSource extends YangTextSchemaSource {
         private final String content;
 
         TestingYangSource(final String name, final String revision, final String content) {
@@ -134,18 +117,18 @@ public class GuavaSchemaSourceCacheTest {
         }
 
         @Override
-        protected MoreObjects.ToStringHelper addToStringAttributes(final MoreObjects.ToStringHelper toStringHelper) {
-            return toStringHelper;
+        public InputStream openStream() {
+            return new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
         }
 
         @Override
-        public InputStream openStream() throws IOException {
-            return new ByteArrayInputStream(this.content.getBytes(StandardCharsets.UTF_8));
+        public Optional<String> getSymbolicName() {
+            return Optional.empty();
         }
 
         @Override
-        public Optional<String> getSymbolicName() {
-            return Optional.empty();
+        protected ToStringHelper addToStringAttributes(final ToStringHelper toStringHelper) {
+            return toStringHelper;
         }
     }
 }