def test_update_limits_from_api_low_max_instances(self): fixtures = result_fixtures.VPC() response = fixtures.test_update_limits_from_api_low_max_instances mock_conn = Mock() mock_client_conn = Mock() mock_client_conn.describe_account_attributes.return_value = response cls = _VpcService(21, 43) cls.resource_conn = mock_conn cls.conn = mock_client_conn with patch('awslimitchecker.services.vpc.logger') as mock_logger: cls._update_limits_from_api() assert mock_conn.mock_calls == [] assert mock_client_conn.mock_calls == [ call.describe_account_attributes() ] assert mock_logger.mock_calls == [ call.info("Querying EC2 DescribeAccountAttributes for limits"), call.debug('Done setting limits from API') ] limit_name = 'Network interfaces per Region' assert cls.limits[limit_name].api_limit is None assert cls.limits[limit_name].get_limit() == DEFAULT_ENI_LIMIT
def test_update_limits_from_api(self): data = fixtures.test_update_limits_from_api mock_conn = Mock() mock_client_conn = Mock() mock_client_conn.describe_account_attributes.return_value = data cls = _Ec2Service(21, 43) cls.resource_conn = mock_conn cls.conn = mock_client_conn with patch('awslimitchecker.services.ec2.logger') as mock_logger: cls._update_limits_from_api() assert mock_conn.mock_calls == [] assert mock_client_conn.mock_calls == [ call.describe_account_attributes() ] assert mock_logger.mock_calls == [ call.info("Querying EC2 DescribeAccountAttributes for limits"), call.debug('Done setting limits from API') ] assert cls.limits['Elastic IP addresses (EIPs)'].api_limit == 40 assert cls.limits['Running On-Demand EC2 instances'].api_limit == 400 assert cls.limits['VPC Elastic IP addresses (EIPs)'].api_limit == 200 assert cls.limits['VPC security groups per elastic ' 'network interface'].api_limit == 5
def test_update_limits_from_api(self): response = result_fixtures.RDS.test_update_limits_from_api mock_conn = Mock() mock_conn.describe_account_attributes.return_value = response with patch('%s.logger' % self.pbm) as mock_logger: with patch('%s.connect' % self.pb) as mock_connect: cls = _RDSService(21, 43, {}, None) cls.conn = mock_conn # limits that we still calculate usage for cls.limits['Max auths per security group']._add_current_usage( 1) cls.limits['Subnets per Subnet Group']._add_current_usage(1) cls.limits['Read replicas per master']._add_current_usage(1) usage_auths = cls.limits[ 'Max auths per security group'].get_current_usage() usage_subnets = cls.limits[ 'Subnets per Subnet Group'].get_current_usage() usage_replicas = cls.limits[ 'Read replicas per master'].get_current_usage() cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.describe_account_attributes()] assert mock_logger.mock_calls == [ call.info('Querying RDS DescribeAccountAttributes for limits'), call.info( 'RDS DescribeAccountAttributes returned unknown' 'limit: %s (max: %s; used: %s)', 'Foo', 98, 99), call.debug('Done setting limits from API.') ] lim = cls.limits['DB instances'] assert lim.api_limit == 200 assert lim.get_current_usage()[0].get_value() == 124 lim = cls.limits['Reserved Instances'] assert lim.api_limit == 201 assert lim.get_current_usage()[0].get_value() == 96 lim = cls.limits['Storage quota (GB)'] assert lim.api_limit == 100000 assert lim.get_current_usage()[0].get_value() == 8320 lim = cls.limits['DB security groups'] assert lim.api_limit == 25 assert lim.get_current_usage()[0].get_value() == 15 lim = cls.limits['Max auths per security group'] assert lim.api_limit == 20 assert lim.get_current_usage() == usage_auths lim = cls.limits['DB parameter groups'] assert lim.api_limit == 50 assert lim.get_current_usage()[0].get_value() == 39 lim = cls.limits['DB snapshots per user'] assert lim.api_limit == 150 assert lim.get_current_usage()[0].get_value() == 76 lim = cls.limits['Event Subscriptions'] assert lim.api_limit == 21 assert lim.get_current_usage()[0].get_value() == 1 lim = cls.limits['Subnet Groups'] assert lim.api_limit == 202 assert lim.get_current_usage()[0].get_value() == 89 lim = cls.limits['Option Groups'] assert lim.api_limit == 22 assert lim.get_current_usage()[0].get_value() == 2 lim = cls.limits['Subnets per Subnet Group'] assert lim.api_limit == 23 assert lim.get_current_usage() == usage_subnets lim = cls.limits['Read replicas per master'] assert lim.api_limit == 5 assert lim.get_current_usage() == usage_replicas lim = cls.limits['DB Clusters'] assert lim.api_limit == 40 assert lim.get_current_usage()[0].get_value() == 3 lim = cls.limits['DB Cluster Parameter Groups'] assert lim.api_limit == 51 assert lim.get_current_usage()[0].get_value() == 6
def test_update_limits_from_api(self): response = result_fixtures.RDS.test_update_limits_from_api mock_conn = Mock() mock_conn.describe_account_attributes.return_value = response with patch('%s.logger' % self.pbm) as mock_logger: with patch('%s.connect' % self.pb) as mock_connect: cls = _RDSService(21, 43) cls.conn = mock_conn # limits that we still calculate usage for cls.limits['Max auths per security group']._add_current_usage(1) cls.limits['Subnets per Subnet Group']._add_current_usage(1) cls.limits['Read replicas per master']._add_current_usage(1) usage_auths = cls.limits[ 'Max auths per security group'].get_current_usage() usage_subnets = cls.limits[ 'Subnets per Subnet Group'].get_current_usage() usage_replicas = cls.limits[ 'Read replicas per master'].get_current_usage() cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [ call.describe_account_attributes() ] assert mock_logger.mock_calls == [ call.info('Querying RDS DescribeAccountAttributes for limits'), call.info( 'RDS DescribeAccountAttributes returned unknown' 'limit: %s (max: %s; used: %s)', 'Foo', 98, 99 ), call.debug('Done setting limits from API.') ] lim = cls.limits['DB instances'] assert lim.api_limit == 200 assert lim.get_current_usage()[0].get_value() == 124 lim = cls.limits['Reserved Instances'] assert lim.api_limit == 201 assert lim.get_current_usage()[0].get_value() == 96 lim = cls.limits['Storage quota (GB)'] assert lim.api_limit == 100000 assert lim.get_current_usage()[0].get_value() == 8320 lim = cls.limits['DB security groups'] assert lim.api_limit == 25 assert lim.get_current_usage()[0].get_value() == 15 lim = cls.limits['Max auths per security group'] assert lim.api_limit == 20 assert lim.get_current_usage() == usage_auths lim = cls.limits['DB parameter groups'] assert lim.api_limit == 50 assert lim.get_current_usage()[0].get_value() == 39 lim = cls.limits['DB snapshots per user'] assert lim.api_limit == 150 assert lim.get_current_usage()[0].get_value() == 76 lim = cls.limits['Event Subscriptions'] assert lim.api_limit == 21 assert lim.get_current_usage()[0].get_value() == 1 lim = cls.limits['Subnet Groups'] assert lim.api_limit == 202 assert lim.get_current_usage()[0].get_value() == 89 lim = cls.limits['Option Groups'] assert lim.api_limit == 22 assert lim.get_current_usage()[0].get_value() == 2 lim = cls.limits['Subnets per Subnet Group'] assert lim.api_limit == 23 assert lim.get_current_usage() == usage_subnets lim = cls.limits['Read replicas per master'] assert lim.api_limit == 5 assert lim.get_current_usage() == usage_replicas lim = cls.limits['DB Clusters'] assert lim.api_limit == 40 assert lim.get_current_usage()[0].get_value() == 3 lim = cls.limits['DB Cluster Parameter Groups'] assert lim.api_limit == 51 assert lim.get_current_usage()[0].get_value() == 6