コード例 #1
0
 def test_get_limits_again(self):
     """test that existing limits dict is returned on subsequent calls"""
     mock_limits = Mock()
     cls = _FirehoseService(21, 43)
     cls.limits = mock_limits
     res = cls.get_limits()
     assert res == mock_limits
コード例 #2
0
 def test_get_limits_again(self):
     """test that existing limits dict is returned on subsequent calls"""
     mock_limits = Mock()
     cls = _FirehoseService(21, 43)
     cls.limits = mock_limits
     res = cls.get_limits()
     assert res == mock_limits
コード例 #3
0
 def test_init(self):
     """test __init__()"""
     cls = _FirehoseService(21, 43)
     assert cls.service_name == 'Firehose'
     assert cls.api_name == 'firehose'
     assert cls.conn is None
     assert cls.warning_threshold == 21
     assert cls.critical_threshold == 43
コード例 #4
0
 def test_init(self):
     """test __init__()"""
     cls = _FirehoseService(21, 43)
     assert cls.service_name == 'Firehose'
     assert cls.api_name == 'firehose'
     assert cls.conn is None
     assert cls.warning_threshold == 21
     assert cls.critical_threshold == 43
コード例 #5
0
 def test_get_limits(self):
     cls = _FirehoseService(21, 43)
     cls.limits = {}
     res = cls.get_limits()
     assert sorted(res.keys()) == sorted([
         'Delivery streams per region',
     ])
     for name, limit in res.items():
         assert limit.service == cls
         assert limit.def_warning_threshold == 21
         assert limit.def_critical_threshold == 43
コード例 #6
0
 def test_get_limits(self):
     cls = _FirehoseService(21, 43)
     cls.limits = {}
     res = cls.get_limits()
     assert sorted(res.keys()) == sorted([
         'Delivery streams per region',
     ])
     for name, limit in res.items():
         assert limit.service == cls
         assert limit.def_warning_threshold == 21
         assert limit.def_critical_threshold == 43
コード例 #7
0
 def test_find_usage_with_endpoint_connection_error(self):
     mock_conn = Mock()
     client_error = EndpointConnectionError(
         endpoint_url='https://firehose.bad-region.amazonaws.com/')
     mock_conn.list_delivery_streams.side_effect = client_error
     cls = _FirehoseService(21, 43)
     cls.conn = mock_conn
     with patch('%s.logger' % self.pbm, autospec=True) as mock_logger:
         cls.find_usage()
     error_msg = (
         'Caught exception when trying to use Firehose; '
         'perhaps the Firehose service is not available in this region?')
     assert call.error(error_msg, exc_info=1) in mock_logger.mock_calls
コード例 #8
0
 def test_find_usage_with_endpoint_connection_error(self):
     mock_conn = Mock()
     client_error = EndpointConnectionError(
         endpoint_url='https://firehose.bad-region.amazonaws.com/')
     mock_conn.list_delivery_streams.side_effect = client_error
     cls = _FirehoseService(21, 43)
     cls.conn = mock_conn
     with patch('%s.logger' % self.pbm, autospec=True) as mock_logger:
         cls.find_usage()
     error_msg = (
         'Caught exception when trying to use Firehose; '
         'perhaps the Firehose service is not available in this region?')
     assert call.error(error_msg, exc_info=1) in mock_logger.mock_calls
コード例 #9
0
 def test_find_usage(self):
     responses = fixtures.test_list_delivery_streams
     # create a flat list of delivery stream names from the fixture
     response_streams = []
     for resp in responses:
         for stream_name in resp['DeliveryStreamNames']:
             response_streams.append(stream_name)
     mock_conn = Mock()
     mock_conn.list_delivery_streams.side_effect = responses
     cls = _FirehoseService(21, 43, region='us-west-2')
     cls.conn = mock_conn
     cls.find_usage()
     assert mock_conn.list_delivery_streams.call_count == len(responses)
     assert cls._have_usage is True
     usage = cls.limits['Delivery streams per region'].get_current_usage()
     assert len(usage) == 1
     assert usage[0].value == len(response_streams)
     assert usage[0].resource_id == 'us-west-2'
     assert usage[0].aws_type == 'AWS::KinesisFirehose::DeliveryStream'
コード例 #10
0
 def test_find_usage(self):
     responses = fixtures.test_list_delivery_streams
     # create a flat list of delivery stream names from the fixture
     response_streams = []
     for resp in responses:
         for stream_name in resp['DeliveryStreamNames']:
             response_streams.append(stream_name)
     mock_conn = Mock()
     mock_conn.list_delivery_streams.side_effect = responses
     cls = _FirehoseService(21, 43, {'region_name': 'us-west-2'})
     cls.conn = mock_conn
     cls.find_usage()
     assert mock_conn.list_delivery_streams.call_count == len(responses)
     assert cls._have_usage is True
     usage = cls.limits['Delivery streams per region'].get_current_usage()
     assert len(usage) == 1
     assert usage[0].value == len(response_streams)
     assert usage[0].resource_id == 'us-west-2'
     assert usage[0].aws_type == 'AWS::KinesisFirehose::DeliveryStream'
コード例 #11
0
 def test_required_iam_permissions(self):
     cls = _FirehoseService(21, 43)
     assert cls.required_iam_permissions() == [
         "firehose:ListDeliveryStreams",
     ]
コード例 #12
0
 def test_required_iam_permissions(self):
     cls = _FirehoseService(21, 43)
     assert cls.required_iam_permissions() == [
         "firehose:ListDeliveryStreams",
     ]