package org.stagemonitor.core.elasticsearch; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.when; import com.codahale.metrics.Clock; import org.junit.Before; import org.junit.Test; import org.mockito.Mockito; import org.stagemonitor.core.util.DateUtils; public class IndexSelectorTest { private Clock clock; private IndexSelector indexSelector; @Before public void setUp() throws Exception { clock = Mockito.mock(Clock.class); when(clock.getTime()).thenReturn(0L); indexSelector = new IndexSelector(clock); } @Test public void testSelectIndexYearChange2Days() throws Exception { final String indexPattern = indexSelector.getIndexPatternOlderThanDays("metrics-", 2); assertEquals("metrics-*,-metrics-1970.01.*,-metrics-1969.12.31,-metrics-1969.12.30", indexPattern); } @Test public void testSelectIndexYearChange33Days() throws Exception { final String indexPattern = indexSelector.getIndexPatternOlderThanDays("metrics-", 33); assertEquals("metrics-*,-metrics-1970.01.*,-metrics-1969.12.*,-metrics-1969.11.30,-metrics-1969.11.29", indexPattern); } @Test public void testSelectIndexIntraMonth() throws Exception { when(clock.getTime()).thenReturn(DateUtils.getDayInMillis() * 7); final String indexPattern = indexSelector.getIndexPatternOlderThanDays("metrics-", 2); assertEquals("metrics-*,-metrics-1970.01.08,-metrics-1970.01.07,-metrics-1970.01.06", indexPattern); } }