BambooPlugin implements VisuwallPlugin<BambooConnection> { @Override public SoftwareId getSoftwareId(URL url, Map<String, String> properties) throws SoftwareNotFoundException { Preconditions.checkNotNull(url, "url is mandatory"); try { SoftwareId softwareId = new SoftwareId(); softwareId.setName("Bamboo"); softwareId.setVersion(BambooVersionExtractor.extractVersion(url)); return softwareId; } catch (BambooVersionNotFoundException e) { throw new SoftwareNotFoundException("Url " + url + " is not compatible with Jenkins"); } }  @Override BambooConnection getConnection(URL url, Map<String, String> properties); @Override Class<BambooConnection> getConnectionClass(); @Override String getName(); @Override float getVersion(); @Override SoftwareId getSoftwareId(URL url, Map<String, String> properties); @Override String toString(); @Override Map<String, String> getPropertiesWithDefaultValue();  }
@Test(expected = NullPointerException.class) public void cant_pass_null_as_url_parameter() throws SoftwareNotFoundException { bamboo.getSoftwareId(null, properties); }