def test_find_usage_invalid_region_503(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 503, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Service Unavailable', 'Code': '503' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES'), call.warning('Skipping SES: %s', ce) ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_find_usage_other_client_error(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 400, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Not Unknown', 'Code': 'NotAccessDenied', 'Type': 'Sender' } } ce = ClientError(resp, 'operation') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn assert cls._have_usage is False with pytest.raises(ClientError): cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES') ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_find_usage_invalid_region_503(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 503, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Service Unavailable', 'Code': '503' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES'), call.warning( 'Skipping SES: %s', ce ) ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_update_limits_from_api_invalid_region_503(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 503, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Service Unavailable', 'Code': '503' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [ call.warning('Skipping SES: %s', ce) ] assert cls.limits['Daily sending quota'].api_limit is None
def test_update_limits_from_api_invalid_region_503(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 503, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Service Unavailable', 'Code': '503' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [call.warning('Skipping SES: %s', ce)] assert cls.limits['Daily sending quota'].api_limit is None
def test_update_limits_from_api_other_client_error(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 400, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Not Unknown', 'Code': 'NotAccessDenied', 'Type': 'Sender' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn with pytest.raises(ClientError): cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [] assert cls.limits['Daily sending quota'].api_limit is None
def test_update_limits_from_api_other_client_error(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 400, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Not Unknown', 'Code': 'NotAccessDenied', 'Type': 'Sender' } } ce = ClientError(resp, 'GetSendQuota') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn with pytest.raises(ClientError): cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [] assert cls.limits['Daily sending quota'].api_limit is None
def test_find_usage_other_client_error(self): resp = { 'ResponseMetadata': { 'HTTPStatusCode': 400, 'RequestId': '7d74c6f0-c789-11e5-82fe-a96cdaa6d564' }, 'Error': { 'Message': 'Not Unknown', 'Code': 'NotAccessDenied', 'Type': 'Sender' } } ce = ClientError(resp, 'operation') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn assert cls._have_usage is False with pytest.raises(ClientError): cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES') ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_update_limits_from_api(self): mock_conn = Mock() mock_conn.get_send_quota.return_value = { 'Max24HourSend': 123.0, 'MaxSendRate': 12.0, 'SentLast24Hours': 122.0 } with patch('%s.connect' % pb) as mock_connect: cls = _SesService(21, 43) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert cls.limits['Daily sending quota'].api_limit == 123.0
def test_update_limits_from_api(self): mock_conn = Mock() mock_conn.get_send_quota.return_value = { 'Max24HourSend': 123.0, 'MaxSendRate': 12.0, 'SentLast24Hours': 122.0 } with patch('%s.connect' % pb) as mock_connect: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert cls.limits['Daily sending quota'].api_limit == 123.0
def test_update_limits_from_api_invalid_region(self): def se_get(): raise EndpointConnectionError(endpoint_url='myurl') mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [ call.warning('Skipping SES: %s', 'Could not connect to the endpoint URL: "myurl"') ] assert cls.limits['Daily sending quota'].api_limit is None
def test_find_usage(self): mock_conn = Mock() mock_conn.get_send_quota.return_value = { 'Max24HourSend': 123.0, 'MaxSendRate': 12.0, 'SentLast24Hours': 122.0 } with patch('%s.connect' % pb) as mock_connect: cls = _SesService(21, 43) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is True assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 1 assert cls.limits['Daily sending quota'].get_current_usage()[ 0].get_value() == 122.0
def test_find_usage(self): mock_conn = Mock() mock_conn.get_send_quota.return_value = { 'Max24HourSend': 123.0, 'MaxSendRate': 12.0, 'SentLast24Hours': 122.0 } with patch('%s.connect' % pb) as mock_connect: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is True assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 1 assert cls.limits['Daily sending quota'].get_current_usage( )[0].get_value() == 122.0
def test_update_limits_from_api_invalid_region_connect_timeout(self): ce = ConnectTimeoutError(endpoint_url='http://example.com') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [ call.warning('Skipping SES: %s', str(ce)) ] assert cls.limits['Daily sending quota'].api_limit is None
def test_update_limits_from_api_invalid_region(self): def se_get(): raise EndpointConnectionError(endpoint_url='myurl') mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn cls._update_limits_from_api() assert mock_connect.mock_calls == [call()] assert mock_conn.mock_calls == [call.get_send_quota()] assert mock_logger.mock_calls == [ call.warning( 'Skipping SES: %s', 'Could not connect to the endpoint URL: "myurl"' ) ] assert cls.limits['Daily sending quota'].api_limit is None
def test_find_usage_invalid_region(self): def se_get(): raise EndpointConnectionError(endpoint_url='myurl') mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES'), call.warning('Skipping SES: %s', 'Could not connect to the endpoint URL: "myurl"') ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_find_usage_invalid_region_connect_timeout(self): ce = ConnectTimeoutError(endpoint_url='http://example.com') def se_get(): raise ce mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43, {}, None) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES'), call.warning('Skipping SES: %s', str(ce)) ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0
def test_find_usage_invalid_region(self): def se_get(): raise EndpointConnectionError(endpoint_url='myurl') mock_conn = Mock() mock_conn.get_send_quota.side_effect = se_get with patch('%s.connect' % pb) as mock_connect: with patch('%s.logger' % pbm) as mock_logger: cls = _SesService(21, 43) cls.conn = mock_conn assert cls._have_usage is False cls.find_usage() assert mock_connect.mock_calls == [call()] assert cls._have_usage is False assert mock_logger.mock_calls == [ call.debug('Checking usage for service %s', 'SES'), call.warning( 'Skipping SES: %s', 'Could not connect to the endpoint URL: "myurl"' ) ] assert mock_conn.mock_calls == [call.get_send_quota()] assert len(cls.limits['Daily sending quota'].get_current_usage()) == 0