本文整理汇总了Python中opbeat.base.Client类的典型用法代码示例。如果您正苦于以下问题:Python Client类的具体用法?Python Client怎么用?Python Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Client类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_build_then_send
def test_build_then_send(self):
organization_id = "organization_id"
app_id = "app_id"
secret_token = "secret_token"
try:
Client.register_scheme('mock', DummyScheme)
except:
pass
c = Client(organization_id=organization_id, secret_token=secret_token,
app_id=app_id, hostname="test_server")
mydate = datetime.datetime(2012, 5, 4, tzinfo=pytz.utc)
d = calendar.timegm(mydate.timetuple())
msg = c.build_msg_for_logging("Message", message='foo', date=d)
expected = {
'organization_id': organization_id,
'app_id': app_id,
'secret_token': secret_token,
'message': 'foo',
'param_message': {'message': 'foo', 'params': ()},
'machine': {'hostname': u'test_server'},
'level': "error",
'extra': {},
'timestamp': 1336089600
}
# The client_supplied_id is always overridden
del msg['client_supplied_id']
self.assertEquals(msg, expected)
示例2: test_config_non_string_types
def test_config_non_string_types(self, mock_send):
"""
tests if we can handle non string types as configuration, e.g.
Value types from django-configuration
"""
class MyValue(object):
def __init__(self, content):
self.content = content
def __str__(self):
return str(self.content)
def __repr__(self):
return repr(self.content)
client = Client(
servers=['localhost'],
organization_id=MyValue('foo'),
app_id=MyValue('bar'),
secret_token=MyValue('bay')
)
client.capture('Message', message='foo')
args, kwargs = mock_send.call_args
self.assertEqual(
'localhost' + defaults.ERROR_API_PATH.format('foo', 'bar'),
kwargs['servers'][0]
)
示例3: test_send_remote_failover_async
def test_send_remote_failover_async(self, should_try, http_send):
should_try.return_value = True
client = Client(
servers=["http://example.com"],
organization_id="organization_id",
app_id="app_id",
secret_token="secret",
async_mode=True,
)
logger = mock.Mock()
client.error_logger.error = logger
# test error
encoded_data = client.encode({"message": "oh no"})
http_send.side_effect = TransportException("oopsie", encoded_data)
client.send_remote("http://example.com/api/store", data=encoded_data)
client.close()
assert client.state.status == client.state.ERROR
assert len(logger.call_args_list) == 2
assert "oopsie" in logger.call_args_list[0][0][0]
assert "oh no" in logger.call_args_list[1][0][1]
# test recovery
http_send.side_effect = None
client.send_remote("http://example.com/api/store", "foo")
client.close()
assert client.state.status == client.state.ONLINE
示例4: test_client_uses_sync_mode_when_master_process
def test_client_uses_sync_mode_when_master_process(self, is_master_process):
# when in the master process, the client should use the non-async
# HTTP transport, even if async_mode is True
is_master_process.return_value = True
client = Client(
servers=["http://example.com"],
organization_id="organization_id",
app_id="app_id",
secret_token="secret",
async_mode=True,
)
self.assertIsInstance(client._get_transport(urlparse.urlparse("http://exampe.com")), HTTPTransport)
示例5: test_client_shutdown_async
def test_client_shutdown_async(self, mock_traces_collect, mock_send):
client = Client(
servers=["http://example.com"],
organization_id="organization_id",
app_id="app_id",
secret_token="secret",
async_mode=True,
)
client.send(auth_header="foo", **{"foo": "bar"})
client.close()
self.assertEqual(mock_traces_collect.call_count, 1)
self.assertEqual(mock_send.call_count, 1)
示例6: test_send_not_enabled
def test_send_not_enabled(self, time, send_remote):
time.return_value = 1328055286.51
with mock.patch.dict("os.environ", {"OPBEAT_DISABLE_SEND": "true"}):
client = Client(
servers=["http://example.com"],
organization_id="organization_id",
app_id="app_id",
secret_token="secret",
)
client.send(**{"foo": "bar"})
assert not send_remote.called
示例7: test_call_end_twice
def test_call_end_twice(self, should_collect, mock_send):
client = Client(
servers=['http://example.com'],
organization_id='organization_id',
app_id='app_id',
secret_token='secret',
)
should_collect.return_value = False
client.begin_transaction("celery")
client.end_transaction(200, 'test-transaction')
client.end_transaction(200, 'test-transaction')
示例8: test_send_not_enabled
def test_send_not_enabled(self, time, send_remote):
time.return_value = 1328055286.51
with mock.patch.dict('os.environ', {'OPBEAT_DISABLE_SEND': 'true'}):
client = Client(
servers=['http://example.com'],
organization_id='organization_id',
app_id='app_id',
secret_token='secret',
)
client.send(**{
'foo': 'bar',
})
assert not send_remote.called
示例9: test_client_shutdown_async
def test_client_shutdown_async(self, mock_traces_collect, mock_send):
client = Client(
servers=['http://example.com'],
organization_id='organization_id',
app_id='app_id',
secret_token='secret',
async_mode=True,
)
client.send(auth_header='foo', **{
'foo': 'bar',
})
client.close()
self.assertEqual(mock_traces_collect.call_count, 1)
self.assertEqual(mock_send.call_count, 1)
示例10: test_send_with_auth_header
def test_send_with_auth_header(self, time, send_remote):
time.return_value = 1328055286.51
client = Client(
servers=["http://example.com"], organization_id="organization_id", app_id="app_id", secret_token="secret"
)
client.send(auth_header="foo", **{"foo": "bar"})
send_remote.assert_called_once_with(
url="http://example.com",
data=six.b("x\x9c\xabVJ\xcb\xcfW\xb2RPJJ,R\xaa\x05\x00 \x98\x04T"),
headers={
"Content-Type": "application/octet-stream",
"Authorization": "foo",
"User-Agent": "opbeat-python/%s" % opbeat.VERSION,
"X-Opbeat-Platform": self.client.get_platform_info(),
},
)
示例11: test_send_remote_failover
def test_send_remote_failover(self, should_try, send_remote):
should_try.return_value = True
client = Client(
servers=['http://example.com'],
organization_id='organization_id',
app_id='app_id',
secret_token='secret',
)
# test error
send_remote.side_effect = Exception()
client.send_remote('http://example.com/api/store', 'foo')
self.assertEquals(client.state.status, client.state.ERROR)
# test recovery
send_remote.side_effect = None
client.send_remote('http://example.com/api/store', 'foo')
self.assertEquals(client.state.status, client.state.ONLINE)
示例12: test_metrics_collection
def test_metrics_collection(self, should_collect, mock_send):
client = Client(
servers=["http://example.com"], organization_id="organization_id", app_id="app_id", secret_token="secret"
)
should_collect.return_value = False
for i in range(7):
client.begin_transaction("transaction.test")
client.end_transaction("test-transaction", 200)
self.assertEqual(len(client.instrumentation_store), 7)
self.assertEqual(mock_send.call_count, 0)
should_collect.return_value = True
client.begin_transaction("transaction.test")
client.end_transaction("my-other-transaction", 200)
self.assertEqual(len(client.instrumentation_store), 0)
self.assertEqual(mock_send.call_count, 1)
示例13: test_send_with_auth_header
def test_send_with_auth_header(self, time, send_remote):
time.return_value = 1328055286.51
client = Client(
servers=['http://example.com'],
organization_id='organization_id',
app_id='app_id',
secret_token='secret',
)
client.send(auth_header='foo', **{
'foo': 'bar',
})
send_remote.assert_called_once_with(
url='http://example.com',
data=six.b('x\x9c\xabVJ\xcb\xcfW\xb2RPJJ,R\xaa\x05\x00 \x98\x04T'),
headers={
'Content-Type': 'application/octet-stream',
'Authorization': 'foo',
'User-Agent': 'opbeat-python/%s' % opbeat.VERSION,
'X-Opbeat-Platform': self.client.get_platform_info(),
},
)
示例14: test_ignore_patterns
def test_ignore_patterns(self, should_collect, mock_send):
client = Client(
servers=["http://example.com"],
organization_id="organization_id",
app_id="app_id",
secret_token="secret",
async_mode=True,
transactions_ignore_patterns=["^OPTIONS", "views.api.v2"],
)
should_collect.return_value = False
client.begin_transaction("web")
client.end_transaction("OPTIONS views.healthcheck", 200)
client.begin_transaction("web")
client.end_transaction("GET views.users", 200)
self.assertEqual(len(client.instrumentation_store), 1)
示例15: test_config_non_string_types
def test_config_non_string_types(self, mock_send):
"""
tests if we can handle non string types as configuration, e.g.
Value types from django-configuration
"""
class MyValue(object):
def __init__(self, content):
self.content = content
def __str__(self):
return str(self.content)
def __repr__(self):
return repr(self.content)
client = Client(
servers=["localhost"], organization_id=MyValue("foo"), app_id=MyValue("bar"), secret_token=MyValue("bay")
)
client.capture("Message", message="foo")
args, kwargs = mock_send.call_args
self.assertEqual("localhost" + defaults.ERROR_API_PATH.format("foo", "bar"), kwargs["servers"][0])