86 lines
2.2 KiB
Java
86 lines
2.2 KiB
Java
package de.rwu.easydrop.service.retriever;
|
|
|
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
import static org.mockito.Mockito.times;
|
|
import static org.mockito.Mockito.verify;
|
|
import static org.mockito.Mockito.when;
|
|
|
|
import javax.naming.ConfigurationException;
|
|
|
|
import org.junit.jupiter.api.BeforeEach;
|
|
import org.junit.jupiter.api.Test;
|
|
import org.mockito.Mock;
|
|
import org.mockito.MockitoAnnotations;
|
|
|
|
import de.rwu.easydrop.api.client.AmazonProductDataSource;
|
|
import de.rwu.easydrop.api.client.DataSourceFactory;
|
|
import de.rwu.easydrop.api.client.EbayItemDataSource;
|
|
import de.rwu.easydrop.api.dto.OfferDTO;
|
|
import de.rwu.easydrop.data.connector.OfferPersistenceInterface;
|
|
import de.rwu.easydrop.model.Offer;
|
|
import de.rwu.easydrop.util.Config;
|
|
|
|
|
|
|
|
|
|
class OfferRetrieverTest {
|
|
|
|
@Mock
|
|
private Config config;
|
|
@Mock
|
|
private DataSourceFactory dataSourceFactory;
|
|
@Mock
|
|
private AmazonProductDataSource amazonDataSource;
|
|
@Mock
|
|
private EbayItemDataSource ebayDataSource;
|
|
@Mock
|
|
private OfferDTO offerDTO;
|
|
@Mock
|
|
private Offer offer;
|
|
@Mock
|
|
private OfferPersistenceInterface persistence;
|
|
|
|
private OfferRetriever offerRetriever;
|
|
|
|
@BeforeEach
|
|
void setUp() throws ConfigurationException {
|
|
MockitoAnnotations.openMocks(this);
|
|
when(config.getProperty("AMAZON_API_URL")).thenReturn("https://api.amazon.com");
|
|
when(config.getProperty("AMAZON_API_KEY")).thenReturn("amazon-api-key");
|
|
dataSourceFactory.setConfig(config);
|
|
offerRetriever = new OfferRetriever(persistence);
|
|
}
|
|
|
|
@Test
|
|
void getOfferFromPersistence(){
|
|
//Arrange
|
|
String offerId = "187";
|
|
String lastUpdate = "2023-01-01";
|
|
when(persistence.getOfferDTOById(offerId)).thenReturn(offerDTO);
|
|
when(offerDTO.getOfferId()).thenReturn(offerId);
|
|
when(offerDTO.getLastUpdate()).thenReturn(lastUpdate);
|
|
|
|
//Act
|
|
Offer result = offerRetriever.getOfferFromPersistence(offerId);
|
|
|
|
//Assert
|
|
assertEquals(offerId, result.getOfferId());
|
|
assertEquals(lastUpdate, result.getLastUpdate());
|
|
|
|
//Verify
|
|
verify(persistence, times(1)).getOfferDTOById(offerId);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|