### Question:
SonarQubeServerPropertiesProcessorProviderImpl implements PropertiesProcessorProvider { @Override public PropertiesProcessor getRunnerPropertiesProcessor() { return properties -> { List<InvalidProperty> invalidProperties = new LinkedList<>(); final String serverId = properties.get(Constants.SONAR_SERVER_ID); if (serverId == null) { invalidProperties.add(new InvalidProperty(Constants.SQS_CHOOSER, "Choose a SonarQube Server to send information to")); } return invalidProperties; }; }  @Override PropertiesProcessor getRunnerPropertiesProcessor();  }### Answer:
@Test public void testProcessor() { final PropertiesProcessor processor = new SonarQubeServerPropertiesProcessorProviderImpl().getRunnerPropertiesProcessor(); { final Collection<InvalidProperty> process = processor.process(Collections.emptyMap()); then(process).hasSize(1); then(process.iterator().next().getPropertyName()).isEqualTo(Constants.SQS_CHOOSER); } { final Collection<InvalidProperty> process = processor.process(Collections.singletonMap(Constants.SONAR_SERVER_ID, "")); then(process).isEmpty(); } }