### Question:
LoggingUsageReporter implements UsageReporter { @Override public void cdpDatahubClusterStatusChanged(UsageProto.CDPDatahubClusterStatusChanged details) { checkNotNull(details); log(eventBuilder() .setCdpDatahubClusterStatusChanged(details) .build()); }  @Override void cdpDatahubClusterRequested(long timestamp, UsageProto.CDPDatahubClusterRequested details); @Override void cdpDatahubClusterStatusChanged(UsageProto.CDPDatahubClusterStatusChanged details); @Override void cdpDatalakeClusterRequested(long timestamp, UsageProto.CDPDatalakeClusterRequested details); @Override void cdpDatalakeClusterStatusChanged(UsageProto.CDPDatalakeClusterStatusChanged details);  }### Answer:
@Test public void cdpDatahubClusterStatusChanged() { UsageProto.CDPDatahubClusterStatusChanged proto = UsageProto.CDPDatahubClusterStatusChanged.newBuilder() .setClusterId(dummy) .setOldStatus(UsageProto.CDPCloudbreakClusterStatus.Value.REQUESTED) .setNewStatus(UsageProto.CDPCloudbreakClusterStatus.Value.CREATE_IN_PROGRESS) .build(); usageReporter.cdpDatahubClusterStatusChanged(proto); ArgumentCaptor<UsageProto.Event> captor = ArgumentCaptor.forClass(UsageProto.Event.class); verify(usageReporter).log(captor.capture()); assertEquals(dummy, captor.getValue().getCdpDatahubClusterStatusChanged().getClusterId()); }