def stop_auto_stop_candidates(): autoStopCandidates = ec2.get_auto_stop_candidates() instanceIdsToStop = [] for instance in autoStopCandidates: instanceIdsToStop.append(instance['id']) ec2.stop(instanceIdsToStop)
def test_when_we_get_auto_stop_candidates_the_correct_instances_are_returned(self, mock_landlord, mock_ec2): now = datetime.datetime.now() fiveHoursAgo = (datetime.datetime.now() - datetime.timedelta(hours=5)) oneDayAgo = (datetime.datetime.now() - datetime.timedelta(days=1)) ec2.get_all_instances = Mock(return_value=self.getStubStopCandidateInstances()) unitInstances = ec2.get_auto_stop_candidates() self.assertEquals(len(unitInstances), 3) self.assertEquals(unitInstances[0]['id'], '2') self.assertEquals(unitInstances[0]['name'], 'Instance1RunningStopTimePassed') self.assertEquals(unitInstances[0]['stopTime'], now.hour-1) self.assertLess(unitInstances[0]['launchtime'], now.hour) self.assertEquals(unitInstances[1]['id'], '4') self.assertEquals(unitInstances[1]['name'], 'Instance3RunningStopTimeJustPassed') self.assertEquals(unitInstances[1]['stopTime'], now.hour) self.assertLess(unitInstances[1]['launchtime'], now.hour) self.assertEquals(unitInstances[2]['id'], '7') self.assertEquals(unitInstances[2]['name'], 'Instance6RunningStopTimePassedButLaunchTIMESinceButPreviousDay') self.assertEquals(unitInstances[2]['stopTime'], now.hour - 1) self.assertGreater(unitInstances[2]['launchtime'], unitInstances[2]['stopTime'])