@Test public void initiateFailover () { Experiment experiment = mock(Experiment.class); doReturn(null).when(awsRDSClusterContainer).getSomeMembers(); awsRDSClusterContainer.initiateFailover(experiment); verify(experiment, times(1)).setCheckContainerHealth(any()); verify(awsRDSPlatform, times(1)).failoverCluster(dbClusterIdentifier); }
@ChaosExperiment(experimentType = ExperimentType.STATE) public void initiateFailover (Experiment experiment) { final String[] members = getMembers().toArray(new String[0]); experiment.setCheckContainerHealth(() -> awsRDSPlatform.getInstanceStatus(members)); awsRDSPlatform.failoverCluster(dbClusterIdentifier); }
AwsRDSClusterContainer extends AwsContainer { @ChaosExperiment(experimentType = ExperimentType.STATE) public void initiateFailover (Experiment experiment) { final String[] members = getMembers().toArray(new String[0]); experiment.setCheckContainerHealth(() -> awsRDSPlatform.getInstanceStatus(members)); awsRDSPlatform.failoverCluster(dbClusterIdentifier); } }
AwsRDSClusterContainer extends AwsContainer { @ChaosExperiment(experimentType = ExperimentType.STATE) public void initiateFailover (Experiment experiment) { final String[] members = getMembers().toArray(new String[0]); experiment.setCheckContainerHealth(() -> awsRDSPlatform.getInstanceStatus(members)); awsRDSPlatform.failoverCluster(dbClusterIdentifier); }  }
AwsRDSClusterContainer extends AwsContainer { @ChaosExperiment(experimentType = ExperimentType.STATE) public void initiateFailover (Experiment experiment) { final String[] members = getMembers().toArray(new String[0]); experiment.setCheckContainerHealth(() -> awsRDSPlatform.getInstanceStatus(members)); awsRDSPlatform.failoverCluster(dbClusterIdentifier); }  static AwsRDSClusterContainerBuilder builder(); String getEngine(); @Override Platform getPlatform(); @Override String getSimpleName(); @Override String getAggregationIdentifier(); @Override DataDogIdentifier getDataDogIdentifier(); String getDbClusterIdentifier(); @JsonIgnore Set<String> getMembers(); @ChaosExperiment(experimentType = ExperimentType.STATE) void restartInstances(Experiment experiment); @ChaosExperiment(experimentType = ExperimentType.STATE) void startSnapshot(Experiment experiment); @ChaosExperiment(experimentType = ExperimentType.STATE) void initiateFailover(Experiment experiment); }
AwsRDSClusterContainer extends AwsContainer { @ChaosExperiment(experimentType = ExperimentType.STATE) public void initiateFailover (Experiment experiment) { final String[] members = getMembers().toArray(new String[0]); experiment.setCheckContainerHealth(() -> awsRDSPlatform.getInstanceStatus(members)); awsRDSPlatform.failoverCluster(dbClusterIdentifier); }  static AwsRDSClusterContainerBuilder builder(); String getEngine(); @Override Platform getPlatform(); @Override String getSimpleName(); @Override String getAggregationIdentifier(); @Override DataDogIdentifier getDataDogIdentifier(); String getDbClusterIdentifier(); @JsonIgnore Set<String> getMembers(); @ChaosExperiment(experimentType = ExperimentType.STATE) void restartInstances(Experiment experiment); @ChaosExperiment(experimentType = ExperimentType.STATE) void startSnapshot(Experiment experiment); @ChaosExperiment(experimentType = ExperimentType.STATE) void initiateFailover(Experiment experiment);  }