def discover(): client = boto3.client('rds') response = client.describe_db_instances() return [ RDSInstance(i['DBInstanceIdentifier']) for i in response['DBInstances'] ]
def test_log_file_handler_discover_rds_logfiles(self): instance = get_one_rds_instance() client = boto3.client('rds') response = client.describe_db_log_files( DBInstanceIdentifier=instance.name) logfilehandler = LogFileHandler(RDSInstance(instance.name), 'b', 'p') discovered_logfiles = logfilehandler.discover_logfiles_in_rds() self.assertEqual(type(set()), type(discovered_logfiles)) self.assertEqual(len(response['DescribeDBLogFiles']), len(discovered_logfiles))
def test_discover_logfiles_in_s3(self): # bucket must exist self.s3.create_bucket(Bucket='bucket') self.s3.put_object(Bucket='bucket', Key='logs/inst1/f1') self.s3.put_object(Bucket='bucket', Key='logs/inst1/f2') # now some logfile for another instance self.s3.put_object(Bucket='bucket', Key='logs/other/f1') logfiles = { S3LogFile('f1', '', '', size=0), S3LogFile('f2', '', '', size=0) } logfilehandler = LogFileHandler(RDSInstance('inst1'), 'bucket', 'logs') self.assertSetEqual(logfiles, logfilehandler.discover_logfiles_in_s3())
def test_constructor(self): rds = RDSInstance('foo') self.assertEqual('foo', rds.name) self.assertEqual('mysql', rds.engine)
def test_engine(self): rds = RDSInstance('foo', engine='engine') self.assertEqual('foo', rds.name) self.assertEqual('engine', rds.engine)
def setUpClass(self): self.s3 = boto3.client('s3') self.rds_instance = RDSInstance('rds_id')