@Test
 public void testDefaultForeignSource() throws Exception {
   createRequisition();
   List<String> detectorList =
       Arrays.asList(
           new String[] {
             "DNS", "FTP", "HTTP", "HTTPS", "ICMP", "IMAP", "LDAP", "NRPE", "POP3", "SMTP", "SNMP",
             "SSH"
           });
   String uuid = UUID.randomUUID().toString();
   ForeignSource defaultForeignSource = m_foreignSourceRepository.getForeignSource(uuid);
   assertEquals(
       "name must match requested foreign source repository name",
       uuid,
       defaultForeignSource.getName());
   assertEquals(
       "scan-interval must be 1 day",
       86400000,
       defaultForeignSource.getScanInterval().getMillis());
   assertEquals(
       "foreign source must have no default policies",
       0,
       defaultForeignSource.getPolicies().size());
   List<String> fsNames = new ArrayList<String>();
   for (PluginConfig config : defaultForeignSource.getDetectors()) {
     fsNames.add(config.getName());
   }
   assertEquals("detector list must match expected defaults", detectorList, fsNames);
   assertTrue("foreign source must be tagged as default", defaultForeignSource.isDefault());
 }
  /**
   * getPluginsForForeignSource
   *
   * @param pluginClass a {@link java.lang.Class} object.
   * @param foreignSourceName a {@link java.lang.String} object.
   * @param <T> a T object.
   * @return a {@link java.util.List} object.
   */
  public <T> List<T> getPluginsForForeignSource(
      final Class<T> pluginClass, final String foreignSourceName) {
    final ForeignSource foreignSource =
        m_foreignSourceRepository.getForeignSource(foreignSourceName);
    assertNotNull(foreignSource, "Expected a foreignSource with name %s", foreignSourceName);

    final List<PluginConfig> configs = foreignSource.getPolicies();
    if (configs == null) {
      return Collections.emptyList();
    }

    final List<T> plugins = new ArrayList<T>(configs.size());
    for (final PluginConfig config : configs) {
      final T plugin = m_pluginRegistry.getPluginInstance(pluginClass, config);
      if (plugin == null) {
        LogUtils.tracef(
            this,
            "Configured plugin is not appropropriate for policy class %s: %s",
            pluginClass,
            config);
      } else {
        plugins.add(plugin);
      }
    }

    return plugins;
  }