@Test public void createContainerFromDBCluster () { DBCluster dbCluster; AwsRDSClusterContainer container; String engine = randomUUID().toString(); String dbClusterIdentifier = randomUUID().toString(); container = AwsRDSClusterContainer.builder().withDbClusterIdentifier(dbClusterIdentifier).withEngine(engine).build(); dbCluster = new DBCluster().withEngine(engine).withDBClusterIdentifier(dbClusterIdentifier); AwsRDSClusterContainer actualContainer = awsRDSPlatform.createContainerFromDBCluster(dbCluster); assertEquals(container, actualContainer); verify(containerManager, times(1)).offer(any()); verify(containerManager, times(1)).getMatchingContainer(AwsRDSClusterContainer.class, dbClusterIdentifier); reset(awsRDSPlatform, containerManager); assertSame(actualContainer, awsRDSPlatform.createContainerFromDBCluster(dbCluster)); verify(containerManager, times(0)).offer(any()); verify(containerManager, times(1)).getMatchingContainer(AwsRDSClusterContainer.class, dbClusterIdentifier); }
AwsRDSClusterContainer createContainerFromDBCluster (DBCluster dbCluster) { AwsRDSClusterContainer container = containerManager.getMatchingContainer(AwsRDSClusterContainer.class, dbCluster .getDBClusterIdentifier()); if (container == null) { container = AwsRDSClusterContainer.builder() .withAwsRDSPlatform(this) .withDbClusterIdentifier(dbCluster.getDBClusterIdentifier()) .withEngine(dbCluster.getEngine()) .withDBClusterResourceId(dbCluster.getDbClusterResourceId()) .build(); log.debug("Created RDS Cluster Container {} from {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container), keyValue("dbCluster", dbCluster)); containerManager.offer(container); } else { log.debug("Found existing RDS Cluster Container {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container)); } return container; }
AwsRDSPlatform extends Platform { AwsRDSClusterContainer createContainerFromDBCluster (DBCluster dbCluster) { AwsRDSClusterContainer container = containerManager.getMatchingContainer(AwsRDSClusterContainer.class, dbCluster .getDBClusterIdentifier()); if (container == null) { container = AwsRDSClusterContainer.builder() .withAwsRDSPlatform(this) .withDbClusterIdentifier(dbCluster.getDBClusterIdentifier()) .withEngine(dbCluster.getEngine()) .withDBClusterResourceId(dbCluster.getDbClusterResourceId()) .build(); log.debug("Created RDS Cluster Container {} from {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container), keyValue("dbCluster", dbCluster)); containerManager.offer(container); } else { log.debug("Found existing RDS Cluster Container {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container)); } return container; } }
AwsRDSPlatform extends Platform { AwsRDSClusterContainer createContainerFromDBCluster (DBCluster dbCluster) { AwsRDSClusterContainer container = containerManager.getMatchingContainer(AwsRDSClusterContainer.class, dbCluster .getDBClusterIdentifier()); if (container == null) { container = AwsRDSClusterContainer.builder() .withAwsRDSPlatform(this) .withDbClusterIdentifier(dbCluster.getDBClusterIdentifier()) .withEngine(dbCluster.getEngine()) .withDBClusterResourceId(dbCluster.getDbClusterResourceId()) .build(); log.debug("Created RDS Cluster Container {} from {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container), keyValue("dbCluster", dbCluster)); containerManager.offer(container); } else { log.debug("Found existing RDS Cluster Container {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container)); } return container; } @Autowired  AwsRDSPlatform();   AwsRDSPlatform(AmazonRDS amazonRDS, AmazonEC2 amazonEC2); }
AwsRDSPlatform extends Platform { AwsRDSClusterContainer createContainerFromDBCluster (DBCluster dbCluster) { AwsRDSClusterContainer container = containerManager.getMatchingContainer(AwsRDSClusterContainer.class, dbCluster .getDBClusterIdentifier()); if (container == null) { container = AwsRDSClusterContainer.builder() .withAwsRDSPlatform(this) .withDbClusterIdentifier(dbCluster.getDBClusterIdentifier()) .withEngine(dbCluster.getEngine()) .withDBClusterResourceId(dbCluster.getDbClusterResourceId()) .build(); log.debug("Created RDS Cluster Container {} from {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container), keyValue("dbCluster", dbCluster)); containerManager.offer(container); } else { log.debug("Found existing RDS Cluster Container {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container)); } return container; } @Autowired  AwsRDSPlatform();   AwsRDSPlatform(AmazonRDS amazonRDS, AmazonEC2 amazonEC2); Map<String, String> getVpcToSecurityGroupMap(); @Override ApiStatus getApiStatus(); @Override PlatformLevel getPlatformLevel(); @Override PlatformHealth getPlatformHealth(); @Override List<Container> generateExperimentRoster(); @Override boolean isContainerRecycled(Container container); Map<String, String> getFilter(); void setFilter(Map<String, String> filter); void failoverCluster(String dbClusterIdentifier); void restartInstance(String... dbInstanceIdentifiers); Set<String> getClusterInstances(String dbClusterIdentifier); ContainerHealth getInstanceStatus(String... dbInstanceIdentifiers); void setVpcSecurityGroupIds(String dbInstanceIdentifier, String vpcSecurityGroupId); void setVpcSecurityGroupIds(String dbInstanceIdentifier, Collection<String> vpcSecurityGroupIds); ContainerHealth checkVpcSecurityGroupIds(String dbInstanceIdentifier, Collection<String> vpcSecurityGroupIds); Collection<String> getVpcSecurityGroupIds(String dbInstanceIdentifier); String getChaosSecurityGroup(String dbInstanceIdentifier); DBSnapshot snapshotDBInstance(String dbInstanceIdentifier); DBClusterSnapshot snapshotDBCluster(String dbClusterIdentifier); void deleteInstanceSnapshot(DBSnapshot dbSnapshot); void deleteClusterSnapshot(DBClusterSnapshot dbClusterSnapshot); boolean isInstanceSnapshotRunning(String dbInstanceIdentifier); boolean isClusterSnapshotRunning(String dbClusterIdentifier); }
AwsRDSPlatform extends Platform { AwsRDSClusterContainer createContainerFromDBCluster (DBCluster dbCluster) { AwsRDSClusterContainer container = containerManager.getMatchingContainer(AwsRDSClusterContainer.class, dbCluster .getDBClusterIdentifier()); if (container == null) { container = AwsRDSClusterContainer.builder() .withAwsRDSPlatform(this) .withDbClusterIdentifier(dbCluster.getDBClusterIdentifier()) .withEngine(dbCluster.getEngine()) .withDBClusterResourceId(dbCluster.getDbClusterResourceId()) .build(); log.debug("Created RDS Cluster Container {} from {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container), keyValue("dbCluster", dbCluster)); containerManager.offer(container); } else { log.debug("Found existing RDS Cluster Container {}", v(DataDogConstants.DATADOG_CONTAINER_KEY, container)); } return container; } @Autowired  AwsRDSPlatform();   AwsRDSPlatform(AmazonRDS amazonRDS, AmazonEC2 amazonEC2); Map<String, String> getVpcToSecurityGroupMap(); @Override ApiStatus getApiStatus(); @Override PlatformLevel getPlatformLevel(); @Override PlatformHealth getPlatformHealth(); @Override List<Container> generateExperimentRoster(); @Override boolean isContainerRecycled(Container container); Map<String, String> getFilter(); void setFilter(Map<String, String> filter); void failoverCluster(String dbClusterIdentifier); void restartInstance(String... dbInstanceIdentifiers); Set<String> getClusterInstances(String dbClusterIdentifier); ContainerHealth getInstanceStatus(String... dbInstanceIdentifiers); void setVpcSecurityGroupIds(String dbInstanceIdentifier, String vpcSecurityGroupId); void setVpcSecurityGroupIds(String dbInstanceIdentifier, Collection<String> vpcSecurityGroupIds); ContainerHealth checkVpcSecurityGroupIds(String dbInstanceIdentifier, Collection<String> vpcSecurityGroupIds); Collection<String> getVpcSecurityGroupIds(String dbInstanceIdentifier); String getChaosSecurityGroup(String dbInstanceIdentifier); DBSnapshot snapshotDBInstance(String dbInstanceIdentifier); DBClusterSnapshot snapshotDBCluster(String dbClusterIdentifier); void deleteInstanceSnapshot(DBSnapshot dbSnapshot); void deleteClusterSnapshot(DBClusterSnapshot dbClusterSnapshot); boolean isInstanceSnapshotRunning(String dbInstanceIdentifier); boolean isClusterSnapshotRunning(String dbClusterIdentifier);  }