@Test public void testGetNextTimeMonthlyReturnsFirstDayOfNextYear() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2015, Calendar.DECEMBER, 28, 0, 0, 0); final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // We expect 1st day of next month final Calendar expected = Calendar.getInstance(); expected.set(2016, Calendar.JANUARY, 1, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeMillisecondlyReturnsNextMillisec() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss.SSS}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 2014, 10:31:53.123 initial.set(Calendar.MILLISECOND, 123); assertEquals("2014/03/04 10:31:53.123", format(initial.getTimeInMillis())); final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Tue, March 4, 2014, 10:31:53.124 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 4, 10, 31, 53); expected.set(Calendar.MILLISECOND, 124); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeHourlyReturnsFirstMinuteOfNextYear() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2015, Calendar.DECEMBER, 31, 23, 31, 59); final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); final Calendar expected = Calendar.getInstance(); expected.set(2016, Calendar.JANUARY, 1, 0, 0, 0); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.OCTOBER, 15, 10, 31, 59); // Oct 15th final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // We expect 1st day of next month final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.NOVEMBER, 1, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31 final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Wed, March 4, 2014, 11:00 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 4, 11, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth2() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.JANUARY, 31, 10, 31, 59); // 2014 Jan 31st final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // Expect 1st of next month: 2014 Feb 1st final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.FEBRUARY, 1, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeMinutelyReturnsFirstSecondOfNextMinute() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014, 10:31 initial.set(Calendar.MILLISECOND, 0); assertEquals("2014/03/04 10:31:59.000", format(initial.getTimeInMillis())); final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Tue, March 4, 2014, 10:32 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 4, 10, 32, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeSecondlyReturnsFirstMillisecOfNextSecond() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH-mm-ss}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 53); // Tue, March 4, 2014, 10:31:53 initial.set(Calendar.MILLISECOND, 123); assertEquals("2014/03/04 10:31:53.123", format(initial.getTimeInMillis())); final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Tue, March 4, 2014, 10:31:54 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 4, 10, 31, 54); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeHourlyReturnsFirstMinuteOfNextHour2() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-dd-HH}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 23, 31, 59); // Tue, March 4, 2014, 23:31 final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Wed, March 5, 2014, 00:00 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 5, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeMonthlyReturnsFirstDayOfNextMonth3() { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.DECEMBER, 31, 10, 31, 59); // 2014 Dec 31st final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // Expect 1st of next month: 2015 Jan 1st final Calendar expected = Calendar.getInstance(); expected.set(2015, Calendar.JANUARY, 1, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); }
@Test public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_US() { final Locale old = Locale.getDefault(); Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday try { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014 final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Sunday, March 9, 2014 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 9, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); } finally { Locale.setDefault(old); } }
@Test public void testGetNextTimeWeeklyReturnsFirstDayOfNextWeek_FRANCE() { final Locale old = Locale.getDefault(); Locale.setDefault(Locale.FRANCE); // force 1st day of the week to be Monday try { final PatternProcessor pp = new PatternProcessor("logs/app-%d{yyyy-MM-W}.log.gz"); final Calendar initial = Calendar.getInstance(); initial.set(2014, Calendar.MARCH, 4, 10, 31, 59); // Tue, March 4, 2014 final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Monday, March 10, 2014 final Calendar expected = Calendar.getInstance(); expected.set(2014, Calendar.MARCH, 10, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); } finally { Locale.setDefault(old); } }
/** * Tests https://issues.apache.org/jira/browse/LOG4J2-1232 */ @Test public void testGetNextTimeWeeklyReturnsFirstWeekInYear_US() { final Locale old = Locale.getDefault(); Locale.setDefault(Locale.US); // force 1st day of the week to be Sunday try { final PatternProcessor pp = new PatternProcessor("logs/market_data_msg.log-%d{yyyy-MM-'W'W}"); final Calendar initial = Calendar.getInstance(); initial.set(2015, Calendar.DECEMBER, 28, 00, 00, 00); // Monday, December 28, 2015 final long actual = pp.getNextTime(initial.getTimeInMillis(), 1, false); // expect Sunday January 3, 2016 final Calendar expected = Calendar.getInstance(); expected.set(2016, Calendar.JANUARY, 3, 00, 00, 00); expected.set(Calendar.MILLISECOND, 0); assertEquals(format(expected.getTimeInMillis()), format(actual)); } finally { Locale.setDefault(old); } } }