@Test public void testFindMetadataItemFromGoodFile() throws Exception { final DataObject dataObject = DataObject.find(FileUtil.createMemoryFileSystem().getRoot().createData("goodfile")); final MetadataItemHolder<TIFF> holder = tiffProvider.findOrCreateItems(dataObject, EXTERNAL).iterator().next(); assertNotNull(holder); assertTrue(holder.isAvailable()); }
@Test public void testFindMetadataItemFromBadJPG() throws Exception { final DataObject dataObject = DataObject.find(FileUtil.createMemoryFileSystem().getRoot().createData("badfile")); final MetadataItemHolder<TIFF> holder = tiffProvider.findOrCreateItems(dataObject, EXTERNAL).iterator().next(); assertNotNull(holder); assertFalse(holder.isAvailable()); }
@Test public void testLastestModificationTimeIsUpdated() throws Exception { final DataObject dataObject = DataObject.find(FileUtil.createMemoryFileSystem().getRoot().createData("goodfile")); final MetadataItemHolder<TIFF> holder = tiffProvider.findOrCreateItems(dataObject, EXTERNAL).iterator().next(); assertNotNull(holder); final Date timestamp1 = holder.getLatestModificationTime(); assertTrue(holder.isAvailable()); Thread.sleep(1000); final Date now = new Date(); holder.get().setArtist("new artist"); final Date timestamp2 = holder.getLatestModificationTime(); assertTrue(timestamp2.getTime() - now.getTime() < 50); assertNotSame(timestamp1, timestamp2); } }
@Before public void setupFixture() throws IOException, NoSuchMetadataTypeException { panelProvider = new MetadataPanelProviderMock(); FileUtil.setMIMEType("test", "image/test"); final FileSystem fileSystem = FileUtil.createMemoryFileSystem(); final FileObject root = fileSystem.getRoot(); dataObjectWithNoMetadata = DataObject.find(root.createData("nometadata.test")); assertTrue(dataObjectWithNoMetadata instanceof DataObjectMock); assertNull(dataObjectWithNoMetadata.getLookup().lookup(Metadata.class)); dataObjectWithItem = DataObject.find(root.createData("item.test")); assertTrue(dataObjectWithItem instanceof DataObjectMock); Metadata metadata = dataObjectWithItem.getLookup().lookup(Metadata.class); assertNotNull(metadata); MetadataItemHolder<MetadataItemMock> holder = metadata.findOrCreateItem(MetadataItemMock.class, INTERNAL); assertNotNull(holder); assertTrue(holder.isAvailable()); dataObjectWithNoItem = DataObject.find(root.createData("noitem.test")); assertTrue(dataObjectWithNoItem instanceof DataObjectMock); metadata = dataObjectWithNoItem.getLookup().lookup(Metadata.class); assertNotNull(metadata); holder = metadata.findOrCreateItem(MetadataItemMock.class, INTERNAL); assertNotNull(holder); assertFalse(holder.isAvailable()); }