@Test(enabled = true)
@SuppressWarnings("unchecked")
public void testNuroGenerationForPaaS() throws Exception {

    String adp = new Scanner(new File(Resources.getResource("nuro/paas/nuro_adp-paas.yml").toURI())).useDelimiter("\\Z").next();
    dam = damGenerator.generateDam(adp);
    template = YamlParser.load(dam);
    testMetadataTemplate(template);
    String expectedDamString = new Scanner(new File(Resources.getResource("nuro/paas/nuro_dam-paas.yml").toURI())).useDelimiter("\\Z").next();
    Map<String, Object> expectedDam = YamlParser.load(expectedDamString);
    assertNotNull(template);
    Map<String, Object> generatedTopologyTemplate = (Map<String, Object>) template.get(DamGenerator.TOPOLOGY_TEMPLATE);
    Map<String, Object> expectedTopologyTemplate = (Map<String, Object>) expectedDam.get(DamGenerator.TOPOLOGY_TEMPLATE);
    Map<String, Object> generatedNodeTemplates = (Map<String, Object>) generatedTopologyTemplate.get(DamGenerator.NODE_TEMPLATES);
    Map<String, Object> expectedNodeTemplates = (Map<String, Object>) expectedTopologyTemplate.get(DamGenerator.NODE_TEMPLATES);
    assertEquals(generatedNodeTemplates.size(), 4);
    assertEquals(generatedNodeTemplates.get("php"), expectedNodeTemplates.get("php"));
    assertEquals(generatedNodeTemplates.get("db"), expectedNodeTemplates.get("db"));
    assertEquals(generatedNodeTemplates.get("modacloudsDc_db"), expectedNodeTemplates.get("modacloudsDc_db"));
    assertEquals(generatedNodeTemplates.get("Amazon_EC2_c3_2xlarge_ap_southeast_2"),
            expectedNodeTemplates.get("Amazon_EC2_c3_2xlarge_ap_southeast_2"));
    Map<String, Object> generatedGroups = (Map<String, Object>) generatedTopologyTemplate.get(DamGenerator.GROUPS);
    Map<String, Object> expectedGroups = (Map<String, Object>) expectedTopologyTemplate.get(DamGenerator.GROUPS);
    testSeaCloudsPolicy(generatedGroups);
    testMonitoringConfiguration(generatedGroups);
    testMonitorInitializationPolicy(generatedGroups, ImmutableList.of("php"));
    assertEquals(generatedGroups.get("operation_php"), expectedGroups.get("operation_php"));
    assertEquals(generatedGroups.get("operation_db"), expectedGroups.get("operation_db"));
    assertEquals(generatedGroups.get("add_brooklyn_location_Amazon_EC2_c3_2xlarge_ap_southeast_2"),
            expectedGroups.get("add_brooklyn_location_Amazon_EC2_c3_2xlarge_ap_southeast_2"));
    assertEquals(generatedGroups.get("add_brooklyn_location_php"),
            expectedGroups.get("add_brooklyn_location_php"));
}