@AfterAll static void unregisterFactory() { BackendFactoryRegistry.getInstance().unregister(SCHEME); }
@Test void createResourceRegistered() { PersistentResourceFactory resourceFactory = PersistentResourceFactory.getInstance(); URI uri = mock(URI.class); when(uri.scheme()).thenReturn("mock0"); Backend backend = mock(InMemoryBackend.class); BackendFactory backendFactory = mock(BackendFactory.class); when(backendFactory.createBackend(any(URI.class), any(ImmutableConfig.class))).thenReturn(backend); BackendFactoryRegistry.getInstance().register(uri.scheme(), backendFactory); PersistentResource resource = resourceFactory.createResource(uri); assertThat(resource).isNotNull(); assertThat(resource.getURI()).isSameAs(uri); assertThat(resource.eStore()).isNotNull(); BackendFactoryRegistry.getInstance().unregister(uri.scheme()); }
@Test void createResourceNotRegistered() { PersistentResourceFactory factory = PersistentResourceFactory.getInstance(); URI uri = mock(URI.class); when(uri.scheme()).thenReturn("mock0"); BackendFactoryRegistry.getInstance().unregister(uri.scheme()); assertThat( catchThrowable(() -> factory.createResource(uri)) ).isExactlyInstanceOf(IllegalArgumentException.class); } }