EnvelopeInspector { public String getActionNameFor(final JsonEnvelope jsonEnvelope) { return getMetadataFor(jsonEnvelope).name(); }  String getActionNameFor(final JsonEnvelope jsonEnvelope); Metadata getMetadataFor(final JsonEnvelope jsonEnvelope);  }
@Test public void shouldGetTheActionNameOfAnEnvelope() throws Exception { final String actionName = "example.an-action"; final JsonEnvelope jsonEnvelope = mock(JsonEnvelope.class); final Metadata metadata = mock(Metadata.class); when(jsonEnvelope.metadata()).thenReturn(metadata); when(metadata.name()).thenReturn(actionName); assertThat(envelopeInspector.getActionNameFor(jsonEnvelope), is(actionName)); }