Beispiel #1
0
            public void when_default_fixture_values_are_used_then_serializes_correctly()
            {
                var attribValues = new AttributeValueCollection(AttributeDestinations.ErrorTrace);

                var attributes     = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, _stackTrace);
                var errorTraceData = new ErrorTraceWireModel(_timestamp, _path, _message, _exceptionClassName, attributes, _guid);

                var expectedResult =
                    "["
                    + _timestamp.ToUnixTimeMilliseconds()
                    + ",\"" + _path + "\",\""
                    + _message + "\",\""
                    + _exceptionClassName + "\",{"
                    + "\"stack_trace\":"
                    +
                    "[\"System.Exception: Inner Exception\",\"at WebApplication.Contact.Baz() in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 50\",\"at WebApplication.Contact.Foo() in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 40\",\"--- End of inner exception stack trace ---\",\"at WebApplication.Contact.Foo() in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 46\",\"at WebApplication.Contact.Bar() in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 28\",\"--- End of inner exception stack trace ---\",\"at WebApplication.Contact.Bar() in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 34\",\"at WebApplication.Contact.Page_Load(Object sender, EventArgs e) in c:\\\\code\\\\dotnet_agent\\\\Agent\\\\NewRelic\\\\Profiler\\\\WebApplication1\\\\Contact.aspx.cs:line 22\",\"at System.Web.UI.Control.LoadRecursive()\",\"at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\",\"at System.Web.UI.Page.HandleError(Exception e)\",\"at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\",\"at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\",\"at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)\",\"at System.Web.UI.Page.ProcessRequest()\",\"at System.Web.UI.Page.ProcessRequest(HttpContext context)\",\"at ASP.contact_aspx.ProcessRequest(HttpContext context) in c:\\\\Windows\\\\Microsoft.NET\\\\Framework64\\\\v4.0.30319\\\\Temporary ASP.NET Files\\\\webapplication1\\\\734e4ee5\\\\213b041b\\\\App_Web_lag4whrl.2.cs:line 0\",\"at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\",\"at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()\",\"at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)}\"],"
                    + "\"" + AgentAttributesKey + "\":{},"
                    + "\"" + UserAttributesKey + "\":{},"
                    + "\"" + IntrinsicsKey + "\":{}},"
                    + "\"123\"]";

                var actualResult = JsonConvert.SerializeObject(errorTraceData);

                Assert.AreEqual(expectedResult, actualResult);
            }
Beispiel #2
0
            public void when_construtor_used_guid_property_is_set()
            {
                var attribValues = new AttributeValueCollection(AttributeDestinations.ErrorTrace);

                var attributes     = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, _stackTrace);
                var errorTraceData = new ErrorTraceWireModel(_timestamp, _path, _message, _exceptionClassName, attributes, _guid);

                Assert.AreEqual(_guid, errorTraceData.Guid);
            }
        public void LazyValueTest_ErrorTrace()
        {
            var attribValues = new AttributeValueCollection(AttributeValueCollection.AllTargetModelTypes);

            LazyValueTest_SetAttribValues(attribValues);


            var wireModel = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, null);

            LazyValueTest_Assertions(wireModel.Intrinsics, wireModel.AgentAttributes, wireModel.UserAttributes);
        }
Beispiel #4
0
            public void when_attributes_are_empty_then_it_does_not_show_up()
            {
                var attribValues = new AttributeValueCollection(AttributeDestinations.ErrorTrace);

                // ACT
                var attributes         = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, _stackTrace);
                var errorTraceData     = new ErrorTraceWireModel(_timestamp, _path, _message, _exceptionClassName, attributes, _guid);
                var errorTraceDataJson = JsonConvert.SerializeObject(errorTraceData);

                // ASSERT
                StringAssert.Contains(@"""agentAttributes"":{}", errorTraceDataJson);
                StringAssert.Contains(@"""intrinsics"":{}", errorTraceDataJson);
                StringAssert.Contains(@"""userAttributes"":{}", errorTraceDataJson);
            }
Beispiel #5
0
            public void when_userAttributes_are_supplied_then_they_show_up_in_json()
            {
                // ARRANGE
                var attribValues = new AttributeValueCollection(AttributeDestinations.ErrorTrace);

                _attribDefs.GetCustomAttributeForError("Foo").TrySetValue(attribValues, "Bar");

                // ACT
                var attributes         = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, _stackTrace);
                var errorTraceData     = new ErrorTraceWireModel(_timestamp, _path, _message, _exceptionClassName, attributes, _guid);
                var errorTraceDataJson = JsonConvert.SerializeObject(errorTraceData);

                // ASSERT
                StringAssert.Contains(@"""userAttributes"":{""Foo"":""Bar""}", errorTraceDataJson);
            }
Beispiel #6
0
            public void when_agentAttributes_are_supplied_then_they_show_up_in_json()
            {
                // ARRANGE
                var attribValues = new AttributeValueCollection(AttributeDestinations.ErrorTrace);

                _attribDefs.OriginalUrl.TrySetValue(attribValues, "www.test.com");

                // ACT
                var attributes         = new ErrorTraceWireModel.ErrorTraceAttributesWireModel(attribValues, _stackTrace);
                var errorTraceData     = new ErrorTraceWireModel(_timestamp, _path, _message, _exceptionClassName, attributes, _guid);
                var errorTraceDataJson = JsonConvert.SerializeObject(errorTraceData);

                // ASSERT
                StringAssert.Contains(@"""agentAttributes"":{""original_url"":""www.test.com""}", errorTraceDataJson);
            }