/* * MemCachedMediaBrokerTest.java * * Version 1.0 Nov 20, 2008 * * Copyright notice * * Brief description * * (c) 2008 by dbreuer */ package de.fhkoeln.cosima.media.mediabroker; import static org.mockito.Mockito.*; import static org.junit.Assert.*; import java.io.IOException; import java.net.URI; import java.util.ArrayList; import java.util.List; import org.junit.After; import org.junit.Before; import org.junit.Test; import de.fhkoeln.cosima.media.MediaComponent; import de.fhkoeln.cosima.media.Media; import de.fhkoeln.cosima.media.mediabroker.MediaBroker; import de.fhkoeln.cosima.media.mediabroker.MemcachedMediaBroker; import de.fhkoeln.cosima.media.mediabroker.storage.MediaStore; /** * Documentation comment without implementation details. * Use implementation comments to describe details of the implementation. * Comment lines should not be longer than 70 characters. * * @author dbreuer * @version 1.0 Nov 20, 2008 * */ public class MemCachedMediaBrokerTest { MediaBroker broker; MediaStore store = mock(MediaStore.class); @Before public void setup() { broker = spy(new MemcachedMediaBroker()); broker.setMediaStore(store); broker.clearAll(); } @After public void teardown() { broker.clearAll(); } @Test public void testShouldStoreMediaObjectsInMemcacheAndReturnUriToMediaObject() { MediaComponent media = new Media(); media.setName("Test Media"); URI uriOfMedia = broker.store(media); assertEquals(URI.create("cosima://santiago.fh-koeln.de/media/Test+Media"), uriOfMedia); MediaComponent storedMedia = spy(broker.retrieve("cosima://santiago.fh-koeln.de/media/Test+Media")); assertEquals(media, storedMedia); assertEquals(store, storedMedia.getStore()); } @Test public void testShouldKnowHowManyElementsThereAre() { MediaComponent media = new Media(); media.setName("Test Media"); broker.store(media); assertEquals(1, broker.knownElements()); } @Test public void testShouldKnowIfThereAreElementsAtAll() { assertTrue(broker.isEmtpy()); } @Test public void testShouldHaveMediaStoreAssociatedAndUseItToStoreRealMediaData() throws IOException { MediaComponent media = new Media(); media.setName("Test Media"); broker.store(media); verify(store).write(media); } }