示例#1
0
 def discover():
     client = boto3.client('rds')
     response = client.describe_db_instances()
     return [
         RDSInstance(i['DBInstanceIdentifier'])
         for i in response['DBInstances']
     ]
示例#2
0
    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))
示例#3
0
    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())
示例#4
0
 def test_constructor(self):
     rds = RDSInstance('foo')
     self.assertEqual('foo', rds.name)
     self.assertEqual('mysql', rds.engine)
示例#5
0
 def test_engine(self):
     rds = RDSInstance('foo', engine='engine')
     self.assertEqual('foo', rds.name)
     self.assertEqual('engine', rds.engine)
示例#6
0
 def setUpClass(self):
     self.s3 = boto3.client('s3')
     self.rds_instance = RDSInstance('rds_id')