package org.jvalue.ods.notifications.sender;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.jvalue.ods.api.notifications.GcmClient;
import org.jvalue.ods.api.notifications.HttpClient;
import org.jvalue.ods.api.sources.DataSource;
import mockit.Mocked;
import mockit.Verifications;
import mockit.integration.junit4.JMockit;
@RunWith(JMockit.class)
public final class SenderCacheTest {
@Mocked private SenderFactory senderFactory;
@Test
public void testGetAndRelease() {
SenderCache cache = new SenderCache(senderFactory);
final HttpClient httpClient = new HttpClient("someId", "someUrl", false);
final GcmClient gcmClient = new GcmClient("someId", "someDeviceId");
final DataSource source = new DataSource("someId", null, null, null);
cache.get(source, httpClient);
cache.get(source, httpClient);
cache.get(source, gcmClient);
cache.get(source, gcmClient);
new Verifications() {{
senderFactory.createHttpSender(source, httpClient); times = 1;
senderFactory.createGcmSender(source, gcmClient); times = 1;
}};
}
}