use of com.netflix.simianarmy.Resource in project SimianArmy by Netflix.
the class TestOldUnusedLaunchConfigRule method testUnsedLaunchConfigNotOld.
@Test
public void testUnsedLaunchConfigNotOld() {
Resource resource = new AWSResource().withId("launchConfig1").withResourceType(AWSResourceType.LAUNCH_CONFIG);
resource.setAdditionalField(LaunchConfigJanitorCrawler.LAUNCH_CONFIG_FIELD_USED_BY_ASG, "false");
MonkeyCalendar calendar = new TestMonkeyCalendar();
int ageThreshold = 3;
DateTime now = new DateTime(calendar.now().getTimeInMillis());
resource.setLaunchTime(new Date(now.minusDays(ageThreshold - 1).getMillis()));
int retentionDays = 3;
OldUnusedLaunchConfigRule rule = new OldUnusedLaunchConfigRule(calendar, ageThreshold, retentionDays);
Assert.assertTrue(rule.isValid(resource));
Assert.assertNull(resource.getExpectedTerminationTime());
}
use of com.netflix.simianarmy.Resource in project SimianArmy by Netflix.
the class TestOldUnusedLaunchConfigRule method testUsedLaunchConfigNoLaunchTimeSet.
@Test
public void testUsedLaunchConfigNoLaunchTimeSet() {
Resource resource = new AWSResource().withId("launchConfig1").withResourceType(AWSResourceType.LAUNCH_CONFIG);
resource.setAdditionalField(LaunchConfigJanitorCrawler.LAUNCH_CONFIG_FIELD_USED_BY_ASG, "true");
MonkeyCalendar calendar = new TestMonkeyCalendar();
int ageThreshold = 3;
int retentionDays = 3;
OldUnusedLaunchConfigRule rule = new OldUnusedLaunchConfigRule(calendar, ageThreshold, retentionDays);
Assert.assertTrue(rule.isValid(resource));
Assert.assertNull(resource.getExpectedTerminationTime());
}
use of com.netflix.simianarmy.Resource in project SimianArmy by Netflix.
the class TestNoGeneratedAMIRule method testResourceWithExpectedTerminationTimeSet.
@Test
public void testResourceWithExpectedTerminationTimeSet() {
int ageThreshold = 5;
DateTime now = DateTime.now();
Resource resource = new AWSResource().withId("snap-12345678901234567").withResourceType(AWSResourceType.EBS_SNAPSHOT).withLaunchTime(new Date(now.minusDays(ageThreshold + 1).getMillis()));
((AWSResource) resource).setAWSResourceState("completed");
Date oldTermDate = new Date(now.plusDays(10).getMillis());
String oldTermReason = "Foo";
int retentionDays = 4;
NoGeneratedAMIRule rule = new NoGeneratedAMIRule(new TestMonkeyCalendar(), ageThreshold, retentionDays);
resource.setExpectedTerminationTime(oldTermDate);
resource.setTerminationReason(oldTermReason);
Assert.assertFalse(rule.isValid(resource));
Assert.assertEquals(oldTermDate, resource.getExpectedTerminationTime());
Assert.assertEquals(oldTermReason, resource.getTerminationReason());
}
use of com.netflix.simianarmy.Resource in project SimianArmy by Netflix.
the class TestNoGeneratedAMIRule method testWithAMIs.
@Test
public void testWithAMIs() {
int ageThreshold = 5;
DateTime now = DateTime.now();
Resource resource = new AWSResource().withId("snap-12345678901234567").withResourceType(AWSResourceType.EBS_SNAPSHOT).withLaunchTime(new Date(now.minusDays(ageThreshold + 1).getMillis()));
((AWSResource) resource).setAWSResourceState("completed");
resource.setAdditionalField(EBSSnapshotJanitorCrawler.SNAPSHOT_FIELD_AMIS, "ami-123");
int retentionDays = 4;
NoGeneratedAMIRule rule = new NoGeneratedAMIRule(new TestMonkeyCalendar(), ageThreshold, retentionDays);
Assert.assertTrue(rule.isValid(resource));
Assert.assertNull(resource.getExpectedTerminationTime());
}
use of com.netflix.simianarmy.Resource in project SimianArmy by Netflix.
the class TestNoGeneratedAMIRule method testUserSpecifiedTerminationDate.
@Test
public void testUserSpecifiedTerminationDate() {
int ageThreshold = 5;
DateTime now = DateTime.now();
Resource resource = new AWSResource().withId("snap-12345678901234567").withResourceType(AWSResourceType.EBS_SNAPSHOT).withLaunchTime(new Date(now.minusDays(ageThreshold + 1).getMillis()));
((AWSResource) resource).setAWSResourceState("completed");
int retentionDays = 4;
DateTime userDate = new DateTime(now.plusDays(3).withTimeAtStartOfDay());
resource.setTag(JanitorMonkey.JANITOR_TAG, NoGeneratedAMIRule.TERMINATION_DATE_FORMATTER.print(userDate));
NoGeneratedAMIRule rule = new NoGeneratedAMIRule(new TestMonkeyCalendar(), ageThreshold, retentionDays);
Assert.assertFalse(rule.isValid(resource));
Assert.assertEquals(resource.getExpectedTerminationTime().getTime(), userDate.getMillis());
}
Aggregations