package org.jabref.logic.importer.fetcher; import java.util.Collections; import java.util.List; import org.jabref.logic.bibtex.FieldContentParserPreferences; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.BibtexEntryTypes; import org.jabref.support.DevEnvironment; import org.jabref.testutils.category.FetcherTests; import org.junit.Assume; import org.junit.Before; import org.junit.Test; import org.junit.experimental.categories.Category; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; @Category(FetcherTests.class) public class zbMATHTest { private zbMATH fetcher; private BibEntry donaldsonEntry; @Before public void setUp() throws Exception { ImportFormatPreferences importFormatPreferences = mock(ImportFormatPreferences.class); when(importFormatPreferences.getFieldContentParserPreferences()).thenReturn( mock(FieldContentParserPreferences.class)); fetcher = new zbMATH(importFormatPreferences); donaldsonEntry = new BibEntry(); donaldsonEntry.setType(BibtexEntryTypes.ARTICLE); donaldsonEntry.setCiteKey("zbMATH03800580"); donaldsonEntry.setField("author", "S.K. {Donaldson}"); donaldsonEntry.setField("journal", "Journal of Differential Geometry"); donaldsonEntry.setField("issn", "0022-040X; 1945-743X/e"); donaldsonEntry.setField("language", "English"); donaldsonEntry.setField("keywords", "57N13 57R10 53C05 58J99 57R65"); donaldsonEntry.setField("pages", "279--315"); donaldsonEntry.setField("publisher", "International Press of Boston, Somerville, MA"); donaldsonEntry.setField("title", "An application of gauge theory to four dimensional topology."); donaldsonEntry.setField("volume", "18"); donaldsonEntry.setField("year", "1983"); donaldsonEntry.setField("zbl", "0507.57010"); } @Test public void searchByQueryFindsEntry() throws Exception { // CI has no subscription to zbMath and thus gets 401 response Assume.assumeFalse(DevEnvironment.isCIServer()); List<BibEntry> fetchedEntries = fetcher.performSearch("an:0507.57010"); assertEquals(Collections.singletonList(donaldsonEntry), fetchedEntries); } }