def test_labels_merge(zuqa_client): zuqa_client.begin_transaction("test") zuqa.label(foo=1, bar="baz") zuqa.label(bar=3, boo="biz") zuqa_client.end_transaction("test", "OK") transactions = zuqa_client.events[TRANSACTION] assert transactions[0]["context"]["tags"] == {"foo": 1, "bar": 3, "boo": "biz"}
def test_label_transaction(): requests_store = Tracer(lambda: [], lambda: [], lambda *args: None, Config(), None) transaction = requests_store.begin_transaction("test") zuqa.label(foo="bar") transaction.label(baz="bazzinga") requests_store.end_transaction(200, "test") assert transaction.labels == {"foo": "bar", "baz": "bazzinga"} transaction_dict = transaction.to_dict() assert transaction_dict["context"]["tags"] == {"foo": "bar", "baz": "bazzinga"}
def test_label_with_not_allowed_non_string_value(): class SomeType(object): def __str__(self): return "ok" def __unicode__(self): return u"ok" requests_store = Tracer(lambda: [], lambda: [], lambda *args: None, Config(), None) t = requests_store.begin_transaction("test") zuqa.label(foo=SomeType()) requests_store.end_transaction(200, "test") assert t.labels == {"foo": "ok"}
def test_labels_dedot(zuqa_client): zuqa_client.begin_transaction("test") zuqa.label(**{"d.o.t": "dot"}) zuqa.label(**{"s*t*a*r": "star"}) zuqa.label(**{'q"u"o"t"e': "quote"}) zuqa_client.end_transaction("test_name", 200) transactions = zuqa_client.events[TRANSACTION] assert transactions[0]["context"]["tags"] == {"d_o_t": "dot", "s_t_a_r": "star", "q_u_o_t_e": "quote"}
def test_label_with_allowed_non_string_value(): requests_store = Tracer(lambda: [], lambda: [], lambda *args: None, Config(), None) t = requests_store.begin_transaction("test") zuqa.label(foo=1, bar=True, baz=1.1, bazzinga=decimal.Decimal("1.1")) requests_store.end_transaction(200, "test") assert t.labels == {"foo": 1, "bar": True, "baz": 1.1, "bazzinga": decimal.Decimal("1.1")}
def test_label_while_no_transaction(caplog): with caplog.at_level(logging.WARNING, "zuqa.errors"): zuqa.label(foo="bar") record = caplog.records[0] assert record.levelno == logging.WARNING assert "foo" in record.args