package com.intellij.usagesStatistics; import com.intellij.internal.statistic.StatisticsUploadAssistant; import com.intellij.internal.statistic.connect.StatisticsHttpClientSender; import com.intellij.internal.statistic.connect.RemotelyConfigurableStatisticsService; import com.intellij.internal.statistic.connect.StatisticsConnectionService; import com.intellij.internal.statistic.connect.StatisticsResult; import junit.framework.Assert; import junit.framework.TestCase; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import java.util.Set; public class RemotelyConfigurableStatServiceTest extends TestCase { @NonNls private static final String STAT_URL = "http://localhost:8080/stat.jsp"; @NonNls private static final String STAT_CONFIG_URL = "http://localhost:8080/config.jsp"; public void testEmptyDataSending() { RemotelyConfigurableStatisticsService service = new RemotelyConfigurableStatisticsService(new StatisticsConnectionService(), new StatisticsHttpClientSender(), new StatisticsUploadAssistant() { @Override public String getData(@NotNull Set<String> disabledGroups) { return ""; } }); final StatisticsResult result = service.send(); Assert.assertEquals(StatisticsResult.ResultCode.NOTHING_TO_SEND, result.getCode()); } public void testIncorrectUrlSending() { RemotelyConfigurableStatisticsService service = new RemotelyConfigurableStatisticsService(new StatisticsConnectionService(), new StatisticsHttpClientSender(), new StatisticsUploadAssistant() { @Override public String getData(@NotNull Set<String> disabledGroups) { return "group:key1=11"; } }); final StatisticsResult result = service.send(); Assert.assertEquals(StatisticsResult.ResultCode.SENT_WITH_ERRORS, result.getCode()); } public void testRemotelyDisabledTransmission() { RemotelyConfigurableStatisticsService service = new RemotelyConfigurableStatisticsService(new StatisticsConnectionService() { @Override public Boolean isTransmissionPermitted() { return false; } }, new StatisticsHttpClientSender(), new StatisticsUploadAssistant()); final StatisticsResult result = service.send(); Assert.assertEquals(StatisticsResult.ResultCode.NOT_PERMITTED_SERVER, result.getCode()); } public void testErrorInRemoteConfiguration() { RemotelyConfigurableStatisticsService service = new RemotelyConfigurableStatisticsService(new StatisticsConnectionService(), new StatisticsHttpClientSender(), new StatisticsUploadAssistant()); final StatisticsResult result = service.send(); Assert.assertEquals(StatisticsResult.ResultCode.ERROR_IN_CONFIG, result.getCode()); } }