package com.constellio.app.modules.es.connectors.http; import static org.assertj.core.api.Assertions.assertThat; import org.junit.Before; import org.junit.Test; import com.constellio.app.modules.es.services.ESSchemasRecordsServices; import com.constellio.sdk.tests.ConstellioTest; public class ConnectorHttpContextAcceptTest extends ConstellioTest { ConnectorHttpContextServices services; @Before public void setUp() throws Exception { prepareSystem(withZeCollection().withConstellioESModule()); ESSchemasRecordsServices es = new ESSchemasRecordsServices(zeCollection, getAppLayerFactory()); services = new ConnectorHttpContextServices(es); } @Test public void whenSaveAndLoadUrlListThenValuesConserved() throws Exception { ESSchemasRecordsServices es = new ESSchemasRecordsServices(zeCollection, getAppLayerFactory()); ConnectorHttpContext context = services.createContext("zeConnector"); context.markAsFetched("http://site1.com/a"); context.markAsFetched("http://site1.com/b"); context.markAsFetched("http://site1.com/c"); context.addDocumentDigest("digest1", "id1"); context.addDocumentDigest("digest2", "id2"); context.addDocumentDigest("digest3", "id3"); services.save(context); ConnectorHttpContext context2 = services.loadContext("zeConnector"); assertThat(context2.fetchedUrls).containsOnly( "http://site1.com/a", "http://site1.com/b", "http://site1.com/c" ); assertThat(context2.documentUrlsClassifiedByDigests).hasSize(3) .containsEntry("digest1", "id1") .containsEntry("digest3", "id3") .containsEntry("digest2", "id2"); context.markAsNoMoreFetched("http://site1.com/b"); context.markAsFetched("http://site1.com/d"); context.removeDocumentDigest("digest1", "otherId"); context.removeDocumentDigest("digest2", "id2"); context.addDocumentDigest("digest4", "id4"); services.save(context); ConnectorHttpContext context3 = services.loadContext("zeConnector"); assertThat(context3.fetchedUrls).containsOnly( "http://site1.com/a", "http://site1.com/d", "http://site1.com/c" ); assertThat(context3.documentUrlsClassifiedByDigests).hasSize(3) .containsEntry("digest1", "id1") .containsEntry("digest3", "id3") .containsEntry("digest4", "id4"); } }