RDSRaiderImpl implements RDSRaider { @Override public List<DBInstance> getInstanceIdsForAvailabilityZone(String availabilityZone, List<String> dbInstanceIdsToIgnore) { if (dbInstanceIdsToIgnore == null) throw new InvalidInputDataException("dbInstanceIdsToIgnore can not be null"); List<DBInstance> dbInstances = rdsDelegator.getAmazonRds().describeDBInstances(new DescribeDBInstancesRequest()).getDBInstances(); for (Iterator<DBInstance> it = dbInstances.iterator(); it.hasNext(); ) { DBInstance dbInstance = it.next(); if (!dbInstance.getAvailabilityZone().contains(availabilityZone)) { it.remove(); } if (dbInstanceIdsToIgnore.contains(dbInstance.getDBInstanceIdentifier())) { it.remove(); } } return dbInstances; } RDSRaiderImpl(); @Override List<DBInstance> getAllDbInstances(); @Override List<DBInstance> getInstanceIdsForAvailabilityZone(String availabilityZone, List<String> dbInstanceIdsToIgnore); @Override List<DBStatus> getInstancesStatus(List<String> dbInstanceIds); @Override void stopInstances(List<String> dbNames); @Override void startInstances(List<String> dbNames); @Override List<String> getAllDbInstanceNames(); @Override List<String> getDBInstancesStatus(); @Override String getDBInstanceStatus(String dbName); @Override void rebootDbInstances(List<String> dbNames); @Override void rebootDbInstance(String dbName); @Override void rebootDbInstanceWithForceFailover(String dbName); @Deprecated void detachSecurityGroup(String dbName, String securityGroup); @Deprecated void attachSecurityGroup(String dbName, String securityGroup); @Override List<String> getSecurityGroups(String dbName); @Override List<String> getSubnetIds(String dbName); @Override void detachSecurityGroups(String dbName, String... securityGroups); @Override void attachSecurityGroups(String dbName, String... securityGroups); @Override void detachSubnet(String dbName, String subnetId); @Override void attachSubnet(String dbName, String subnetId); @Override void restoreDBInstanceFromSnapshot(String dbName, String snapshotId); @Override void modifyDbStorageSize(String dbName, int newSize); @Override void modifyDbInstanceClass(String dbName, String dbInstanceClass); @Override void modifyDbIops(String dbName, Integer iops); @Override String getDBInstanceClass(String dbName); @Override Integer getDBStorageSize(String dbName); @Override Integer getIops(String dbName); @Override void generateSnapshot(String dbName, String snapshotName);  }
@Test public void testGetAzDbInstancesWithoutIgnoreDBList(){ List<DBInstance> dbInstances = rdsRaider.getInstanceIdsForAvailabilityZone("us-west-2a",new ArrayList<>() ); Assert.assertNotNull(dbInstances); Assert.assertEquals(dbInstances.get(0).getDBName(),"Test-DB"); }
@Test public void testGetAzDbInstancesWithIgnoreDBList(){ List<DBInstance> dbInstances = rdsRaider.getInstanceIdsForAvailabilityZone("us-west-2a", Arrays.asList("Test-DB")); Assert.assertNotNull(dbInstances); Assert.assertEquals(dbInstances.size(), 0); }