Skip to content

Commit

Permalink
Validator transfer from fixtures.py to validators directory, Part 2 (#…
Browse files Browse the repository at this point in the history
…690)

* Move validate_transaction_metrics to validators directory

* Comment out original validate_transaction_metrics from fixtures.py

* Move validate_time_metrics_outside_transaction to validators directory

* Move validate_internal_metrics into validators directory and fixed validate_transaction_metrics

* Move validate_transaction_errors into validators directory

* Move validate_application_errors into validators directory

* Move validate_custom_parameters into validators directory

* Move validate_synthetics_event into validators directory

* Move validate_transaction_event_attributes into validators directory

* Move validate_non_transaction_error_event into validators directory

* Move validate_application_error_trace_count into validators directory

* Move validate_application_error_event_count into validators directory

* Move validate_synthetics_transaction_trace into validators directory

* Move validate_tt_collector_json to validators directory

* Move validate_transaction_trace_attributes into validator directory

* Move validate_transaction_error_trace_attributes into validator directory

* Move validate_error_trace_collector_json into validator directory

* Move validate_error_event_collector_json into validator directory

* Move validate_transaction_event_collector_json into validator directory

* Fix import issues from merge

* Fix some pylint errors

* Revert 'raise ValueError' to be PY2 compatible

* Delete commented lines
  • Loading branch information
lrafeei committed Nov 30, 2022
1 parent 67feaa7 commit 87b649f
Show file tree
Hide file tree
Showing 36 changed files with 1,310 additions and 1,048 deletions.
8 changes: 6 additions & 2 deletions tests/agent_features/test_attributes_in_action.py
Expand Up @@ -24,13 +24,17 @@
validate_error_event_attributes,
validate_error_event_attributes_outside_transaction,
validate_error_trace_attributes_outside_transaction,
validate_transaction_error_trace_attributes,
validate_transaction_trace_attributes,
)
from testing_support.validators.validate_span_events import validate_span_events
from testing_support.validators.validate_transaction_error_trace_attributes import (
validate_transaction_error_trace_attributes,
)
from testing_support.validators.validate_transaction_event_attributes import (
validate_transaction_event_attributes,
)
from testing_support.validators.validate_transaction_trace_attributes import (
validate_transaction_trace_attributes,
)

from newrelic.api.application import application_instance as application
from newrelic.api.message_transaction import message_transaction
Expand Down
51 changes: 32 additions & 19 deletions tests/agent_features/test_collector_payloads.py
Expand Up @@ -14,17 +14,30 @@

import pytest
import webtest

from testing_support.fixtures import (validate_error_trace_collector_json,
validate_tt_collector_json, validate_transaction_event_collector_json,
validate_error_event_collector_json,
validate_custom_event_collector_json, override_application_settings)

from testing_support.sample_applications import (simple_app,
simple_exceptional_app, simple_custom_event_app)

from testing_support.validators.validate_log_event_collector_json import validate_log_event_collector_json

from testing_support.fixtures import (
override_application_settings,
validate_custom_event_collector_json,
)
from testing_support.sample_applications import (
simple_app,
simple_custom_event_app,
simple_exceptional_app,
)
from testing_support.validators.validate_error_event_collector_json import (
validate_error_event_collector_json,
)
from testing_support.validators.validate_error_trace_collector_json import (
validate_error_trace_collector_json,
)
from testing_support.validators.validate_log_event_collector_json import (
validate_log_event_collector_json,
)
from testing_support.validators.validate_transaction_event_collector_json import (
validate_transaction_event_collector_json,
)
from testing_support.validators.validate_tt_collector_json import (
validate_tt_collector_json,
)

exceptional_application = webtest.TestApp(simple_exceptional_app)
normal_application = webtest.TestApp(simple_app)
Expand All @@ -34,42 +47,42 @@
@validate_error_trace_collector_json()
def test_error_trace_json():
try:
exceptional_application.get('/')
exceptional_application.get("/")
except ValueError:
pass


@validate_error_event_collector_json()
def test_error_event_json():
try:
exceptional_application.get('/')
exceptional_application.get("/")
except ValueError:
pass


@validate_tt_collector_json()
def test_transaction_trace_json():
normal_application.get('/')
normal_application.get("/")


@validate_tt_collector_json(exclude_request_uri=True)
@override_application_settings({'attributes.exclude': set(('request.uri',))})
@override_application_settings({"attributes.exclude": set(("request.uri",))})
def test_transaction_trace_json_no_request_uri():
normal_application.get('/')
normal_application.get("/")


@validate_transaction_event_collector_json()
def test_transaction_event_json():
normal_application.get('/')
normal_application.get("/")


@validate_custom_event_collector_json()
def test_custom_event_json():
custom_event_application.get('/')
custom_event_application.get("/")


@pytest.mark.xfail(reason="Unwritten validator")
@validate_log_event_collector_json
def test_log_event_json():
normal_application.get('/')
normal_application.get("/")
raise NotImplementedError("Fix my validator")
12 changes: 6 additions & 6 deletions tests/agent_features/test_event_loop_wait_time.py
Expand Up @@ -16,16 +16,16 @@
import time

import pytest
from testing_support.fixtures import (
override_application_settings,
validate_transaction_trace_attributes,
)
from testing_support.fixtures import override_application_settings
from testing_support.validators.validate_transaction_event_attributes import (
validate_transaction_event_attributes,
)
from testing_support.validators.validate_transaction_metrics import (
validate_transaction_metrics,
)
from testing_support.validators.validate_transaction_trace_attributes import (
validate_transaction_trace_attributes,
)

from newrelic.api.background_task import background_task
from newrelic.api.function_trace import FunctionTrace, function_trace
Expand Down Expand Up @@ -75,7 +75,7 @@ async def wait_for_loop(ready, done, times=1):
),
)
def test_record_event_loop_wait(event_loop, blocking_transaction_active, event_loop_visibility_enabled):
import asyncio
# import asyncio

metric_count = 2 if event_loop_visibility_enabled else None
execute_attributes = {"intrinsic": ("eventLoopTime",), "agent": (), "user": ()}
Expand Down Expand Up @@ -184,7 +184,7 @@ def test_blocking_task_on_different_loop():


def test_record_event_loop_wait_on_different_task(event_loop):
import asyncio
# import asyncio

async def recorder(ready, wait):
ready.set()
Expand Down
4 changes: 3 additions & 1 deletion tests/agent_features/test_ignore_expected_errors.py
Expand Up @@ -19,11 +19,13 @@
validate_error_event_attributes_outside_transaction,
validate_error_event_sample_data,
validate_error_trace_attributes_outside_transaction,
validate_transaction_error_trace_attributes,
)
from testing_support.validators.validate_time_metrics_outside_transaction import (
validate_time_metrics_outside_transaction,
)
from testing_support.validators.validate_transaction_error_trace_attributes import (
validate_transaction_error_trace_attributes,
)
from testing_support.validators.validate_transaction_errors import (
validate_transaction_errors,
)
Expand Down
10 changes: 5 additions & 5 deletions tests/agent_features/test_lambda_handler.py
Expand Up @@ -16,15 +16,15 @@
from copy import deepcopy

import pytest
from testing_support.fixtures import (
override_application_settings,
validate_transaction_trace_attributes,
)
from testing_support.fixtures import override_application_settings
from testing_support.validators.validate_transaction_event_attributes import (
validate_transaction_event_attributes,
)
from testing_support.validators.validate_transaction_trace_attributes import (
validate_transaction_trace_attributes,
)

import newrelic.api.lambda_handler as lambda_handler
from newrelic.api import lambda_handler


# NOTE: this fixture will force all tests in this file to assume that a cold
Expand Down
16 changes: 12 additions & 4 deletions tests/agent_features/test_notice_error.py
Expand Up @@ -19,14 +19,22 @@
error_is_saved,
override_application_settings,
reset_core_stats_engine,
validate_application_error_event_count,
validate_application_error_trace_count,
validate_transaction_error_event_count,
validate_transaction_error_trace_count,
)
from testing_support.validators.validate_application_error_event_count import (
validate_application_error_event_count,
)
from testing_support.validators.validate_application_error_trace_count import (
validate_application_error_trace_count,
)
from testing_support.validators.validate_application_errors import (
validate_application_errors,
)
from testing_support.validators.validate_transaction_errors import (
validate_transaction_errors,
)

from testing_support.validators.validate_application_errors import validate_application_errors
from testing_support.validators.validate_transaction_errors import validate_transaction_errors
from newrelic.api.application import application_instance as application
from newrelic.api.application import application_settings
from newrelic.api.background_task import background_task
Expand Down
29 changes: 10 additions & 19 deletions tests/agent_features/test_span_events.py
Expand Up @@ -34,7 +34,6 @@
from newrelic.api.datastore_trace import DatastoreTrace
from newrelic.api.external_trace import ExternalTrace
from newrelic.api.function_trace import FunctionTrace, function_trace
from newrelic.api.graphql_trace import GraphQLOperationTrace, GraphQLResolverTrace
from newrelic.api.memcache_trace import MemcacheTrace
from newrelic.api.message_trace import MessageTrace
from newrelic.api.solr_trace import SolrTrace
Expand Down Expand Up @@ -125,8 +124,6 @@ def _test():
(DatastoreTrace, ("db_product", "db_target", "db_operation")),
(ExternalTrace, ("lib", "url")),
(FunctionTrace, ("name",)),
(GraphQLOperationTrace, ()),
(GraphQLResolverTrace, ()),
(MemcacheTrace, ("command",)),
(MessageTrace, ("lib", "operation", "dst_type", "dst_name")),
(SolrTrace, ("lib", "command")),
Expand Down Expand Up @@ -416,11 +413,11 @@ def _test():
@pytest.mark.parametrize("collect_span_events", (False, True))
@pytest.mark.parametrize("span_events_enabled", (False, True))
def test_collect_span_events_override(collect_span_events, span_events_enabled):

if collect_span_events and span_events_enabled:
spans_expected = True
else:
spans_expected = False
spans_expected = collect_span_events and span_events_enabled
# if collect_span_events and span_events_enabled:
# spans_expected = True
# else:
# spans_expected = False

span_count = 2 if spans_expected else 0

Expand Down Expand Up @@ -556,9 +553,9 @@ def _test():
def test_span_user_attribute_overrides_transaction_attribute():
transaction = current_transaction()

transaction.add_custom_attribute("foo", "a")
transaction.add_custom_parameter("foo", "a")
add_custom_span_attribute("foo", "b")
transaction.add_custom_attribute("foo", "c")
transaction.add_custom_parameter("foo", "c")


@override_application_settings({"attributes.include": "*"})
Expand Down Expand Up @@ -603,7 +600,7 @@ def _test():
transaction = current_transaction()

for i in range(128):
transaction.add_custom_attribute("txn_attr%i" % i, "txnValue")
transaction.add_custom_parameter("txn_attr%i" % i, "txnValue")
if i < 64:
add_custom_span_attribute("span_attr%i" % i, "spanValue")

Expand All @@ -620,8 +617,6 @@ def _test():
(DatastoreTrace, ("db_product", "db_target", "db_operation")),
(ExternalTrace, ("lib", "url")),
(FunctionTrace, ("name",)),
(GraphQLOperationTrace, ()),
(GraphQLResolverTrace, ()),
(MemcacheTrace, ("command",)),
(MessageTrace, ("lib", "operation", "dst_type", "dst_name")),
(SolrTrace, ("lib", "command")),
Expand Down Expand Up @@ -671,8 +666,6 @@ def _test():
(DatastoreTrace, ("db_product", "db_target", "db_operation")),
(ExternalTrace, ("lib", "url")),
(FunctionTrace, ("name",)),
(GraphQLOperationTrace, ()),
(GraphQLResolverTrace, ()),
(MemcacheTrace, ("command",)),
(MessageTrace, ("lib", "operation", "dst_type", "dst_name")),
(SolrTrace, ("lib", "command")),
Expand Down Expand Up @@ -716,8 +709,6 @@ def _test():
(DatastoreTrace, ("db_product", "db_target", "db_operation")),
(ExternalTrace, ("lib", "url")),
(FunctionTrace, ("name",)),
(GraphQLOperationTrace, ()),
(GraphQLResolverTrace, ()),
(MemcacheTrace, ("command",)),
(MessageTrace, ("lib", "operation", "dst_type", "dst_name")),
(SolrTrace, ("lib", "command")),
Expand All @@ -732,9 +723,9 @@ def test_span_event_notice_error_overrides_observed(trace_type, args):
with trace_type(*args):
try:
raise ERROR
except:
except Exception:
notice_error()
raise ValueError
raise ValueError # pylint: disable
except ValueError:
pass

Expand Down
6 changes: 5 additions & 1 deletion tests/agent_features/test_synthetics.py
Expand Up @@ -19,10 +19,14 @@
cat_enabled,
make_synthetics_header,
override_application_settings,
)
from testing_support.validators.validate_synthetics_event import (
validate_synthetics_event,
)
from testing_support.validators.validate_synthetics_transaction_trace import (
validate_synthetics_transaction_trace,
)

from testing_support.validators.validate_synthetics_event import validate_synthetics_event
from newrelic.api.web_transaction import web_transaction
from newrelic.api.wsgi_application import wsgi_application
from newrelic.common.encoding_utils import deobfuscate, json_decode
Expand Down
2 changes: 1 addition & 1 deletion tests/agent_features/test_web_transaction.py
Expand Up @@ -24,10 +24,10 @@
validate_transaction_metrics,
)

import newrelic.packages.six as six
from newrelic.api.application import application_instance
from newrelic.api.web_transaction import WebTransaction
from newrelic.api.wsgi_application import wsgi_application
from newrelic.packages import six

application = webtest.TestApp(simple_app)

Expand Down
4 changes: 3 additions & 1 deletion tests/agent_features/test_wsgi_attributes.py
Expand Up @@ -17,9 +17,11 @@
dt_enabled,
override_application_settings,
validate_error_event_attributes,
validate_transaction_error_trace_attributes,
)
from testing_support.sample_applications import fully_featured_app
from testing_support.validators.validate_transaction_error_trace_attributes import (
validate_transaction_error_trace_attributes,
)
from testing_support.validators.validate_transaction_event_attributes import (
validate_transaction_event_attributes,
)
Expand Down
7 changes: 3 additions & 4 deletions tests/datastore_aioredis/test_custom_conn_pool.py
Expand Up @@ -18,10 +18,9 @@
"""

from testing_support.db_settings import redis_settings
from testing_support.fixture.event_loop import event_loop as loop # noqa
from testing_support.fixtures import override_application_settings
from testing_support.util import instance_hostname

# from testing_support.fixture.event_loop import event_loop as loop
from testing_support.validators.validate_transaction_metrics import (
validate_transaction_metrics,
)
Expand Down Expand Up @@ -111,7 +110,7 @@ async def exercise_redis(client):
background_task=True,
)
@background_task()
def test_fake_conn_pool_enable_instance(client, loop, monkeypatch):
def test_fake_conn_pool_enable_instance(client, loop, monkeypatch): # noqa
# Get a real connection
conn = getattr(client, "_pool_or_conn", None)
if conn is None:
Expand All @@ -136,7 +135,7 @@ def test_fake_conn_pool_enable_instance(client, loop, monkeypatch):
background_task=True,
)
@background_task()
def test_fake_conn_pool_disable_instance(client, loop, monkeypatch):
def test_fake_conn_pool_disable_instance(client, loop, monkeypatch): # noqa
# Get a real connection
conn = getattr(client, "_pool_or_conn", None)
if conn is None:
Expand Down

0 comments on commit 87b649f

Please sign in to comment.