@Test
public void detectsWhenEventSourceIsPlaceholder() {

    ServiceTrait trait = ServiceTrait.builder()
            .sdkId("Foo")
            .arnNamespace("foo")
            .cloudTrailEventSource("notfoo.amazonaws.com")
            .cloudFormationName("AWS::Foo")
            .build();
    ServiceShape service = ServiceShape.builder()
            .id("smithy.example#Foo")
            .version("123")
            .addTrait(trait)
            .build();
    Model model = Model.builder().addShape(service).build();
    EventSourceValidator validator = new EventSourceValidator();
    List<ValidationEvent> events = validator.validate(model);
    ValidationEvent event = getMatchingEvent(events, validator.getName());
    assertThat(event.getSeverity(), is(Severity.WARNING));
    assertThat(event.getShapeId().get(), equalTo(service.getId()));
    assertThat(event.getMessage(),
               containsString("Expected 'foo.amazonaws.com', but found 'notfoo.amazonaws.com'"));
}