package eu.europeana.cloud.service.mcs.persistent; import com.google.common.collect.ImmutableMap; import eu.europeana.cloud.service.mcs.Storage; import eu.europeana.cloud.service.mcs.exception.FileNotExistsException; import eu.europeana.cloud.service.mcs.persistent.exception.ContentDaoNotFoundException; import eu.europeana.cloud.service.mcs.persistent.swift.ContentDAO; import eu.europeana.cloud.service.mcs.persistent.swift.SwiftContentDAO; import org.junit.Test; import java.util.Map; import static org.mockito.Matchers.anyString; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; /** * @author krystian. */ public class DynamicContentDAOTest { @Test(expected = ContentDaoNotFoundException.class) public void shouldThrowExceptionOnNonExistingDAO() throws FileNotExistsException { //given final DynamicContentDAO instance = new DynamicContentDAO(prepareDAOMap( mock(SwiftContentDAO.class) )); //then instance.deleteContent("exampleFileName",Storage.DATA_BASE); } @Test public void shouldProperlySelectDataBaseDeleteContent() throws FileNotExistsException { //given SwiftContentDAO daoMock = mock(SwiftContentDAO.class); final DynamicContentDAO instance = new DynamicContentDAO(prepareDAOMap(daoMock)); //when instance.deleteContent("exampleFileName",Storage.OBJECT_STORAGE); //then verify(daoMock).deleteContent(anyString()); } private Map<Storage, ContentDAO> prepareDAOMap(final ContentDAO dao) { return ImmutableMap.of( Storage.OBJECT_STORAGE, dao ); } }