/** * Converts push frequency into duration. For invalid or less than 'hourly' push frequency, treats it as 'daily'. */ private Duration convertToDuration(String pushFrequency) { if ("hourly".equalsIgnoreCase(pushFrequency)) { return Duration.standardHours(1L); } if ("daily".equalsIgnoreCase(pushFrequency)) { return Duration.standardDays(1L); } if ("weekly".equalsIgnoreCase(pushFrequency)) { return Duration.standardDays(7L); } if ("monthly".equalsIgnoreCase(pushFrequency)) { return Duration.standardDays(30L); } return Duration.standardDays(1L); }
private void sampleFormatDuration() { List<String> text = new ArrayList<String>(); text.add("Seconds: " + DateUtils.formatDuration(this, Duration.standardSeconds(25))); text.add("Minutes: " + DateUtils.formatDuration(this, Duration.standardMinutes(5))); text.add("Hours: " + DateUtils.formatDuration(this, Duration.standardHours(3))); addSample("DateUtils.formatDuration()", text); }
private void sampleFormatElapsedTime() { List<String> text = new ArrayList<String>(); text.add("25 seconds: " + DateUtils.formatElapsedTime(Duration.standardSeconds(25))); text.add("3 minutes: " + DateUtils.formatElapsedTime(Duration.standardMinutes(3))); text.add("3 minutes, 25 seconds: " + DateUtils.formatElapsedTime( Duration.standardMinutes(3).plus(Duration.standardSeconds(25)))); text.add("3 hours: " + DateUtils.formatElapsedTime(Duration.standardHours(3))); text.add("3 hours, 3 minutes: " + DateUtils.formatElapsedTime( Duration.standardHours(3).plus(Duration.standardMinutes(3)))); addSample("DateUtils.formatElapsedTime()", text); }
@Test public void testFormatDuration() { Context ctx = InstrumentationRegistry.getContext(); assertEquals("1 second", DateUtils.formatDuration(ctx, Duration.standardSeconds(1))); assertEquals("-1 seconds", DateUtils.formatDuration(ctx, Duration.standardSeconds(-1))); assertEquals("30 seconds", DateUtils.formatDuration(ctx, Duration.standardSeconds(30))); assertEquals("-30 seconds", DateUtils.formatDuration(ctx, Duration.standardSeconds(-30))); assertEquals("1 minute", DateUtils.formatDuration(ctx, Duration.standardMinutes(1))); assertEquals("-1 minutes", DateUtils.formatDuration(ctx, Duration.standardMinutes(-1))); assertEquals("30 minutes", DateUtils.formatDuration(ctx, Duration.standardMinutes(30))); assertEquals("-30 minutes", DateUtils.formatDuration(ctx, Duration.standardMinutes(-30))); assertEquals("1 hour", DateUtils.formatDuration(ctx, Duration.standardHours(1))); assertEquals("-1 hours", DateUtils.formatDuration(ctx, Duration.standardHours(-1))); assertEquals("12 hours", DateUtils.formatDuration(ctx, Duration.standardHours(12))); assertEquals("-12 hours", DateUtils.formatDuration(ctx, Duration.standardHours(-12))); } }
Duration.standardHours(2).getMillis() ); Assert.assertEquals(multiWindowMax.getMinuteValue(), Long.MIN_VALUE);
Duration.standardHours(2).getMillis() ); Assert.assertEquals(multiWindowMin.getMinuteValue(), Long.MAX_VALUE);
@Test(groups = "fast") public void testRateAndSum() throws Exception { int expectedRatePerSecond = 10; int numHours = 2; long totalSeconds = Duration.standardHours(numHours).getStandardSeconds(); long expectedTotal = totalSeconds * expectedRatePerSecond; TimeUtil.setNow(new DateTime("2012-01-01")); // generate rate using second granularity for (int i = 0; i < totalSeconds; i++) { stats.incrementRate("rate1", expectedRatePerSecond); TimeUtil.advanceNow(Duration.standardSeconds(1)); } assertCounterValue("rate1.sum.60", 60 * expectedRatePerSecond); assertCounterValue("rate1.sum.600", 600 * expectedRatePerSecond); assertCounterValue("rate1.sum.3600", 3600 * expectedRatePerSecond); assertCounterValue("rate1.sum", expectedTotal); assertCounterValue("rate1.rate.60", expectedRatePerSecond); assertCounterValue("rate1.rate.600", expectedRatePerSecond); assertCounterValue("rate1.rate.3600", expectedRatePerSecond); assertCounterValue("rate1.rate", expectedRatePerSecond); }
/** * Please instead use AerospikeTestOperations */ @Deprecated public void addHours(int hours) { testOperations.addDuration(Duration.standardHours(hours)); }
@Override public Long create(PipelineOptions options) { return options.as(Options.class).getMinTimestampMillis() + Duration.standardHours(1).getMillis(); } }
@Test public void restCallWithValidToken() throws Exception { SessionClaimSet claimSet = new SessionClaimSet(authzServerId, getTestUserKey(), clientId, new URL(baseUrl), addonScopes, Duration.standardHours(1)); callWithClaimSet(Optional.empty(), Optional.of(claimSet), Optional.empty(), mustBeOk); }
@Test public void sysadminCannotBeImpersonated() throws Exception { final String adminUserKey = getSysAdminUserKey(); SessionClaimSet claimSet = new SessionClaimSet(authzServerId, adminUserKey, clientId, new URL(baseUrl), addonScopes, Duration.standardHours(1)); callWithClaimSet(Optional.empty(), Optional.of(claimSet), Optional.empty(), mustBeForbidden); }
@Test public void restCallWithValidToken() throws Exception { SessionClaimSet claimSet = new SessionClaimSet(authzServerId, getAdminUserKey(), clientId, new URL(baseUrl), addonScopes, Duration.standardHours(1)); callWithClaimSet(Optional.of(claimSet), Optional.empty(), mustBeOk); }
@Test public void restCallForAddonWithoutImpersonationScope() throws Exception { final Set<String> scopesWithoutImpersonate = addonScopes.stream().filter(s -> !s.equals(ACT_AS_USER.toString())).collect(toSet()); stopAddon(); startAddon(scopesWithoutImpersonate); SessionClaimSet claimSet = new SessionClaimSet(authzServerId, getTestUserKey(), clientId, new URL(baseUrl), scopesWithoutImpersonate, Duration.standardHours(1)); callWithClaimSet(Optional.empty(), Optional.of(claimSet), Optional.empty(), mustBeForbidden); }
@Test public void addonUserCannotBeImpersonated() throws Exception { String addonUserKey = getAddonUserKey("addon_" + addon.getAddonKey()); SessionClaimSet claimSet = new SessionClaimSet(authzServerId, addonUserKey, clientId, new URL(baseUrl), addonScopes, Duration.standardHours(1)); callWithClaimSet(Optional.empty(), Optional.of(claimSet), Optional.empty(), mustBeForbidden); }
@Test public void restCallOutOfScopeForAddon() throws Exception { SessionClaimSet claimSet = new SessionClaimSet(authzServerId, getAdminUserKey(), clientId, new URL(baseUrl), addonScopes, Duration.standardHours(1)); callWithClaimSet(Optional.of(claimSet), Optional.of(getAdminScopedResourcePath()), mustBeForbidden); }
@Test public void getProcessingTimeIsClockNow() { assertThat(internals.currentProcessingTime(), equalTo(clock.now())); Instant oldProcessingTime = internals.currentProcessingTime(); clock.advance(Duration.standardHours(12)); assertThat(internals.currentProcessingTime(), equalTo(clock.now())); assertThat( internals.currentProcessingTime(), equalTo(oldProcessingTime.plus(Duration.standardHours(12)))); }
/** Tests that the last hour of the universe in fact ends at the end of time. */ @Test public void testEndOfTime() { Instant endOfGlobalWindow = GlobalWindow.INSTANCE.maxTimestamp(); FixedWindows windowFn = FixedWindows.of(Duration.standardHours(1)); IntervalWindow truncatedWindow = windowFn.assignWindow(endOfGlobalWindow.minus(1)); assertThat(truncatedWindow.maxTimestamp(), equalTo(endOfGlobalWindow)); }
@Test public void testContinuation() throws Exception { OnceTrigger firstElementPlus1 = AfterProcessingTime.pastFirstElementInPane().plusDelayOf(Duration.standardHours(1)); assertEquals( AfterSynchronizedProcessingTime.ofFirstElement(), firstElementPlus1.getContinuationTrigger()); }
@ProcessElement public void process(@Element Integer e, MultiOutputReceiver r) { for (int i = 0; i < e; i++) { r.get(food) .outputWithTimestamp( KV.of("foo", e), new Instant(0).plus(Duration.standardHours(i))); } r.get(originals).output(e); } })
@Test public void testUnboundedDisplayData() { Duration maxReadTime = Duration.standardHours(5); SerializableFunction<Long, Instant> timestampFn = input -> Instant.now(); PTransform<?, ?> input = GenerateSequence.from(0).to(1234).withMaxReadTime(maxReadTime).withTimestampFn(timestampFn); DisplayData displayData = DisplayData.from(input); assertThat(displayData, hasDisplayItem("maxReadTime", maxReadTime)); assertThat(displayData, hasDisplayItem("timestampFn", timestampFn.getClass())); }