package com.twitter.common.application.modules;
import java.util.Properties;
import org.junit.Test;
import com.twitter.common.application.ShutdownRegistry;
import com.twitter.common.stats.Stat;
import com.twitter.common.stats.Stats;
import com.twitter.common.stats.TimeSeriesRepository;
import com.twitter.common.testing.easymock.EasyMockTest;
import com.twitter.common.util.BuildInfo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
public class StartStatPollerTest extends EasyMockTest {
@Test
public void testStartStatPollerExecute() {
ShutdownRegistry shutdownRegistry = createMock(ShutdownRegistry.class);
TimeSeriesRepository repository = createMock(TimeSeriesRepository.class);
Properties properties = new Properties();
final Long gitRevisionNumber = 1404461016779713L;
properties.setProperty(BuildInfo.Key.GIT_REVISION_NUMBER.value, gitRevisionNumber.toString());
String gitRevision = "foo_branch";
properties.setProperty(BuildInfo.Key.GIT_REVISION.value, gitRevision);
BuildInfo buildInfo = new BuildInfo(properties);
StatsModule.StartStatPoller poller =
new StatsModule.StartStatPoller(shutdownRegistry, buildInfo, repository);
repository.start(shutdownRegistry);
control.replay();
poller.execute();
Stat<Long> gitRevisionNumberStat =
Stats.getVariable(Stats.normalizeName(BuildInfo.Key.GIT_REVISION_NUMBER.value));
assertEquals(gitRevisionNumber, gitRevisionNumberStat.read());
Stat<String> gitRevisionStat =
Stats.getVariable(Stats.normalizeName(BuildInfo.Key.GIT_REVISION.value));
assertEquals(gitRevision, gitRevisionStat.read());
Stat<String> gitBranchNameStat =
Stats.getVariable(Stats.normalizeName(BuildInfo.Key.GIT_BRANCHNAME.value));
assertNull(gitBranchNameStat);
}
}