+ @Test
+ public void sourceIdToFileEmptyRevWithMoreItemsInDir() {
+ final FilesystemSchemaSourceCache<YangTextSchemaSource> cache = new FilesystemSchemaSourceCache<>(this.registry,
+ YangTextSchemaSource.class, this.storageDir);
+ final String content = "content1";
+ final YangTextSchemaSource source = new TestingYangSource("test", "2012-12-12", content);
+ final YangTextSchemaSource source2 = new TestingYangSource("test", "2013-12-12", content);
+ cache.offer(source);
+ cache.offer(source2);
+
+ final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test");
+ final File sourceIdToFile = FilesystemSchemaSourceCache.sourceIdToFile(sourceIdentifier, this.storageDir);
+ Assert.assertNotNull(sourceIdToFile);
+ final List<File> storedFiles = Arrays.asList(this.storageDir.listFiles());
+ assertEquals(2, storedFiles.size());
+ }
+
+ @Test
+ public void test() throws Exception {
+
+ final FilesystemSchemaSourceCache<YangTextSchemaSource> cache = new FilesystemSchemaSourceCache<>(this.registry,
+ YangTextSchemaSource.class, this.storageDir);
+ final String content = "content1";
+ final YangTextSchemaSource source = new TestingYangSource("test", "2013-12-12", content);
+ cache.offer(source);
+ final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test",
+ Revision.valueOf("2013-12-12"));
+ final ListenableFuture<? extends YangTextSchemaSource> checked = cache.getSource(sourceIdentifier);
+ Assert.assertNotNull(checked);
+ final YangTextSchemaSource checkedGet = checked.get();
+ Assert.assertEquals(sourceIdentifier, checkedGet.getIdentifier());
+ Assert.assertTrue(checked.isDone());
+ }
+
+ @Test(expected = ExecutionException.class)
+ public void test1() throws Exception {
+
+ final FilesystemSchemaSourceCache<YangTextSchemaSource> cache = new FilesystemSchemaSourceCache<>(this.registry,
+ YangTextSchemaSource.class, this.storageDir);
+ final String content = "content1";
+ final YangTextSchemaSource source = new TestingYangSource("test", "2013-12-12", content);
+ cache.offer(source);
+ final SourceIdentifier sourceIdentifier = RevisionSourceIdentifier.create("test1",
+ Revision.valueOf("2012-12-12"));
+ final ListenableFuture<? extends YangTextSchemaSource> checked = cache.getSource(sourceIdentifier);
+ Assert.assertNotNull(checked);
+ checked.get();