private void verifyUsingTimeLockByGettingAFreshTimestamp() { when(config.namespace()).thenReturn(Optional.of(CLIENT)); getLockAndTimestampServices().timelock().getFreshTimestamp(); availableServer.verify(1, postRequestedFor(urlMatching(TIMELOCK_TIMESTAMP_PATH))); }
private void assertThatTimeAndLockMetricsAreRecorded(String timestampMetric, String lockMetric) { assertThat(metricsManager.getRegistry().timer(timestampMetric).getCount(), is(equalTo(0L))); assertThat(metricsManager.getRegistry().timer(lockMetric).getCount(), is(equalTo(0L))); TransactionManagers.LockAndTimestampServices lockAndTimestamp = getLockAndTimestampServices(); lockAndTimestamp.timelock().getFreshTimestamp(); lockAndTimestamp.timelock().currentTimeMillis(); assertThat(metricsManager.getRegistry().timer(timestampMetric).getCount(), is(equalTo(1L))); assertThat(metricsManager.getRegistry().timer(lockMetric).getCount(), is(equalTo(1L))); }
@Test public void remoteCallsStillMadeIfPingableLeader404s() throws IOException, InterruptedException { setUpForRemoteServices(); setUpLeaderBlockInConfig(); TransactionManagers.LockAndTimestampServices lockAndTimestamp = getLockAndTimestampServices(); availableServer.verify(getRequestedFor(urlMatching(LEADER_UUID_PATH))); lockAndTimestamp.timelock().getFreshTimestamp(); lockAndTimestamp.lock().currentTimeMillis(); availableServer.verify(postRequestedFor(urlMatching(TIMESTAMP_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); availableServer.verify(postRequestedFor(urlMatching(LOCK_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); }
@Test public void remoteCallsElidedIfTalkingToLocalServer() throws IOException, InterruptedException { setUpForLocalServices(); setUpLeaderBlockInConfig(); TransactionManagers.LockAndTimestampServices lockAndTimestamp = getLockAndTimestampServices(); availableServer.verify(getRequestedFor(urlMatching(LEADER_UUID_PATH))); lockAndTimestamp.timelock().getFreshTimestamp(); lockAndTimestamp.lock().currentTimeMillis(); availableServer.verify(0, postRequestedFor(urlMatching(TIMESTAMP_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); availableServer.verify(0, postRequestedFor(urlMatching(LOCK_PATH)) .withHeader(USER_AGENT_HEADER, WireMock.equalTo(USER_AGENT))); }