Beispiel #1
0
 def test_change_profile(self):
     aws = awspice.connect('eu-west-2', profile='test')
     client_vars = aws.service.ec2.get_client_vars()
     self.assertEqual(
         client_vars, {
             'region': {
                 'Description': 'EU (London)',
                 'Country': 'London',
                 'RegionName': 'eu-west-2'
             },
             'profile': 'test',
             'access_key': 'None'
         })
     aws.service.ec2.change_profile('test2')
     client_vars = aws.service.ec2.get_client_vars()
     self.assertEqual(
         client_vars, {
             'region': {
                 'Description': 'EU (London)',
                 'Country': 'London',
                 'RegionName': 'eu-west-2'
             },
             'profile': 'test2',
             'access_key': 'None'
         })
Beispiel #2
0
 def test_get_loadbalancer_by(self):
     aws = awspice.connect('eu-central-1')
     elb = aws.service.elb.get_loadbalancer_by('domain',
                                               'aws.elevenpaths.com')
     self.assertEquals(
         elb['CanonicalHostedZoneName'],
         'elevenpaths-web-pro-1763591843.eu-west-1.elb.amazonaws.com')
Beispiel #3
0
 def test_change_profile(self):
     aws = awspice.connect('eu-west-1')
     for profile in ['default', 'qa']:
         aws.service.ec2.change_profile(profile)
         profile = aws.service.get_auth_config()
         self.assertEquals(profile['Authorization']['Value'],
                           profile['Authorization']['Value'])
Beispiel #4
0
 def test_set_tag(self):
     aws = awspice.connect('eu-west-1')
     rnd = random.choice('abcdefghij')
     results = aws.service.ec2.set_tag(
         ['i-056811c5f5e5fff57'],
         'Test',
         'david_amrani' + rnd,
         regions=['eu-west-1', 'eu-central-1'])
Beispiel #5
0
 def test_get_auth_config(self):
     aws = awspice.connect('eu-west-1', profile='default')
     self.assertEquals(
         aws.service.get_auth_config(),
         {'Authorization': {
             'Type': 'Profile',
             'Value': 'default'
         }})
Beispiel #6
0
 def test_get_cost(self):
     time_from = '2018-02-01'
     time_to = '2018-02-28'
     aws = awspice.connect('eu-central-1')
     instance = aws.service.ec2.get_instance_by('id', 'i-0ac0ed3329e4114ae')
     cost = aws.service.ce.get_cost([instance['TagName']], time_from,
                                    time_to)
     self.assertGreater(float(cost[0]['Total']['UnblendedCost']['Amount']),
                        8.67)
Beispiel #7
0
 def test_cost_saving(self):
     aws = awspice.connect('eu-west-1')
     costs = aws.stats.cost_saving(regions='eu-west-1')
     self.assertTrue(
         isinstance(costs['Regions']['eu-west-1']['Volumes'], list))
     self.assertTrue(
         isinstance(costs['Regions']['eu-west-1']['Addresses'], list))
     self.assertTrue(
         isinstance(costs['Regions']['eu-west-1']['LoadBalancers'], list))
Beispiel #8
0
 def test_parse_profiles(self):
     aws = awspice.connect('eu-west-2', profile='test')
     profiles = aws.service.ec2.parse_profiles('ALL')
     ss = ['test' in item or 'test2' in item for item in profiles]
     self.assertEqual(True, all(ss))
     profiles = aws.service.ec2.parse_profiles(['test'])
     self.assertEqual(profiles, ['test'])
     profiles = aws.service.ec2.parse_profiles('test5')
     self.assertEqual(profiles, ['test5'])
Beispiel #9
0
    def test_inject_client_vars(self):
        aws = awspice.connect('eu-west-1', 'qa')

        elements = [{'test': 1}, {'test': 2}]
        newelements = aws.service.ec2.inject_client_vars(elements)

        for el in newelements:
            self.assertEquals(el['RegionName'], 'eu-west-1')
            self.assertEquals(el['Authorization']['Type'], 'Profile')
            self.assertEquals(el['Authorization']['Value'], 'qa')
Beispiel #10
0
 def test_find_instances(self):
     aws = awspice.connect('eu-west-1')
     instances = aws.finder.find_instances('status',
                                           'running',
                                           profiles=['qa'])
     self.assertEquals(instances[0]['State']['Name'], 'running')
     # Verify regions=[] == all regions
     q_regions = map(lambda x: x['RegionName'], instances)
     map(lambda x: self.assertTrue(x in ['eu-central-1', 'eu-west-1']),
         q_regions)
Beispiel #11
0
    def test_parse_profiles_string_ALL_hack(self):
        aws = awspice.connect('eu-west-1', profile='qa')
        profiles = sorted(aws.service.ec2.parse_profiles('ALL'))

        # GET profiles from file
        with open(expanduser("~") + "/.aws/credentials", 'r') as myfile:
            data = myfile.read().replace('\n', '')
        regex = re.compile(r'\[(?P<name>\w*)\]')
        credentials = sorted(regex.findall(data))

        self.assertEquals(profiles, credentials)
Beispiel #12
0
 def test_get_regions(self):
     aws = awspice.connect('eu-west-1')
     regions = [
         'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2', 'eu-west-3',
         'eu-west-1', 'eu-west-2', 'eu-central-1', 'ca-central-1',
         'ap-south-1', 'ap-southeast-1', 'ap-southeast-2', 'ap-northeast-1',
         'ap-northeast-2', 'sa-east-1'
     ]
     regions = sorted(regions)
     curregions = sorted(
         [region['RegionName'] for region in aws.service.ec2.get_regions()])
     self.assertEquals(regions, curregions)
Beispiel #13
0
 def test_get_stats_of_region(self):
     aws = awspice.connect('eu-west-1', 'qa')
     stats = aws.stats.get_stats(regions=['eu-west-1'])
     self.assertTrue(isinstance(stats['Users'], list))
     self.assertTrue(isinstance(stats['Buckets'], list))
     self.assertTrue(
         isinstance(stats['Regions']['eu-west-1']['Instances'], list))
     self.assertTrue(
         isinstance(stats['Regions']['eu-west-1']['Volumes'], list))
     self.assertTrue(
         isinstance(stats['Regions']['eu-west-1']['SecurityGroups'], list))
     self.assertTrue(
         isinstance(stats['Regions']['eu-west-1']['Databases'], list))
Beispiel #14
0
 def test_parse_regions(self):
     aws = awspice.connect('eu-west-1', profile='test')
     regions = aws.service.ec2.parse_regions('eu-west-2')
     self.assertEqual(regions, [{'RegionName': 'eu-west-2'}])
     regions = aws.service.ec2.parse_regions(['eu-west-1', 'eu-west-2'])
     ss = [
         'eu-west-1' in item.values() or 'eu-west-2' in item.values()
         for item in regions
     ]
     self.assertEqual(True, all(ss))
     regions = aws.service.ec2.parse_regions([{
         'RegionName': 'eu-west-1'
     }, {
         'RegionName': 'eu-west-2'
     }])
     ss = [
         'eu-west-1' in item.values() or 'eu-west-2' in item.values()
         for item in regions
     ]
     self.assertEqual(True, all(ss))
Beispiel #15
0
 def test_set_auth_config(self):
     aws = awspice.connect('eu-west-2', profile='test')
     client_vars = aws.service.ec2.get_client_vars()
     self.assertEqual(
         client_vars, {
             'region': {
                 'Description': 'EU (London)',
                 'Country': 'London',
                 'RegionName': 'eu-west-2'
             },
             'profile': 'test',
             'access_key': 'None'
         })
     aws.service.ec2.set_auth_config(
         region=client_vars['region']['RegionName'], profile='test2')
     client_vars = aws.service.ec2.get_client_vars()
     self.assertEqual(
         client_vars, {
             'region': {
                 'Description': 'EU (London)',
                 'Country': 'London',
                 'RegionName': 'eu-west-2'
             },
             'profile': 'test2',
             'access_key': 'None'
         })
     aws.service.ec2.set_auth_config(
         region=client_vars['region']['RegionName'],
         access_key='key',
         secret_key='secret')
     client_vars = aws.service.ec2.get_client_vars()
     self.assertEqual(
         client_vars, {
             'region': {
                 'Description': 'EU (London)',
                 'Country': 'London',
                 'RegionName': 'eu-west-2'
             },
             'profile': 'None',
             'access_key': 'key'
         })
Beispiel #16
0
 def test_get_volumes(self):
     aws = awspice.connect('eu-west-1')
     vols = aws.service.ec2.get_volumes()
     inst = aws.service.ec2.get_instances()
     self.assertTrue(len(vols) > len(inst))
Beispiel #17
0
 def test_get_profiles(self):
     aws = awspice.connect('eu-west-2', profile='test')
     profiles = aws.service.ec2.get_profiles()
     ss = ['test' in item or 'test2' in item for item in profiles]
     self.assertEqual(True, all(ss))
Beispiel #18
0
 def test_get_instances_by(self):
     aws = awspice.connect('eu-west-1')
     instances = aws.service.ec2.get_instances_by(
         'status', 'running', regions=['eu-west-1', 'eu-west-2'])
     for instance in instances:
         self.assertEquals(instance['State']['Name'], 'running')
Beispiel #19
0
 def test_get_instance_by(self):
     aws = awspice.connect('eu-west-2')
     instance = aws.service.ec2.get_instance_by(
         'id', 'i-541f08dc', regions=['eu-west-1', 'eu-west-2'])
     self.assertEquals(instance['State']['Name'], 'running')
Beispiel #20
0
 def test_get_instances(self):
     aws = awspice.connect('eu-west-1')
     instances = aws.service.ec2.get_instances()
     self.assertTrue(len(instances) > 15)
Beispiel #21
0
 def test_find_instance_accounts(self):
     aws = awspice.connect('eu-west-2')
     instance = aws.finder.find_instance('id',
                                         'i-541f08dc',
                                         profiles=['qa', 'default'])
     self.assertEquals(instance['InstanceId'], 'i-541f08dc')
Beispiel #22
0
 def test_get_addresses(self):
     aws = awspice.connect('eu-west-1')
     addresses = aws.service.ec2.get_addresses(regions=['eu-west-1'])
     addresses = filter(lambda x: x.get('AssociationId') != None, addresses)
     self.assertTrue(len(addresses) > 20)
Beispiel #23
0
 def test_get_volumes_by(self):
     aws = awspice.connect('eu-west-1')
     volumes = aws.service.ec2.get_volumes_by('status', 'available')
     self.assertEquals(volumes[0]['State'], 'available')
Beispiel #24
0
 def test_find_instance_regions(self):
     aws = awspice.connect('eu-west-2', profile='default')
     instance = aws.finder.find_instance('id',
                                         'i-541f08dc',
                                         regions=['eu-west-1'])
     self.assertEquals(instance['InstanceId'], 'i-541f08dc')
Beispiel #25
0
 def __init__(self, account='default'):
     self.client = awspice.connect(profile=account)
     self._ec2 = EC2(self.client)
     self._s3 = S3(self.client)
     self._iam = IAM(self.client)
Beispiel #26
0
 def test_get_loadbalancers(self):
     aws = awspice.connect('eu-central-1')
     elbs = aws.service.elb.get_loadbalancers()
     self.assertTrue(len(elbs) == 20)
Beispiel #27
0
 def test_get_volume_by(self):
     aws = awspice.connect('eu-west-1')
     volume = aws.service.ec2.get_volume_by('status', 'in-use')
     self.assertTrue('i-' in volume['Attachments'][0]['InstanceId'])
Beispiel #28
0
 def test_find_volume(self):
     aws = awspice.connect('eu-west-1')
     volume = aws.finder.find_volume('id',
                                     'vol-04ee612f6b83104cd',
                                     profiles=['default', 'qa'])
     self.assertEquals(volume['State'], 'in-use')
Beispiel #29
0
 def test_get_address_by(self):
     aws = awspice.connect('eu-west-1')
     address = aws.service.ec2.get_address_by('privateip',
                                              '172.22.1.221',
                                              regions=['eu-west-1'])
     self.assertTrue(address['PublicIp'], '52.214.252.60')
Beispiel #30
0
 def test_find_volumes(self):
     aws = awspice.connect('eu-west-1')
     volumes = aws.finder.find_volumes('status', 'in-use', profiles=['qa'])
     self.assertEquals(volumes[2]['State'], 'in-use')