public void Frame_from_stackframe_fills_out_everythign() { var frame = new RollbarFrame(GetFrame()); Assert.EndsWith("RollbarFrameFixture.cs", frame.FileName); Assert.NotNull(frame.LineNo); Assert.NotNull(frame.ColNo); Assert.NotNull(frame.Method); }
public void Frame_from_filename_leaves_everything_else_null() { var frame = new RollbarFrame("ThisFile.cs"); Assert.Equal("ThisFile.cs", frame.FileName); Assert.Null(frame.LineNo); Assert.Null(frame.ColNo); Assert.Null(frame.Method); }
public void Frame_from_stack_frame_serializes_correctly() { var frame = new RollbarFrame(GetFrame()); var json = JsonConvert.SerializeObject(frame); Assert.Contains(string.Format("\"filename\":\"{0}\"", frame.FileName.Replace("\\", "\\\\")), json); Assert.Matches("\"lineno\":\\d+", json); Assert.Matches("\"colno\":\\d+", json); Assert.Contains("\"method\":\"Rollbar.Test.RollbarFrameFixture.GetFrame()\"", json); }
public RollbarTrace(RollbarFrame[] frames, RollbarException exception) { if (frames == null) { throw new ArgumentNullException("frames"); } if (exception == null) { throw new ArgumentNullException("exception"); } Frames = frames; Exception = exception; }
public void Frame_can_have_args() { var frame = new RollbarFrame("ThisFile.cs") { Args = new[] { "1", "\"Test\"", "1.5", }, }; var json = JsonConvert.SerializeObject(frame); Assert.Contains("\"args\":[\"1\",\"\\\"Test\\\"\",\"1.5\"]", json); JObject obj = JObject.Parse(json); Assert.Equal(obj["args"].Value<JArray>().Select(x => x.Value<string>()), frame.Args); }
public void Frame_can_have_context() { var frame = new RollbarFrame("ThisFile.cs") { Code = " CallThisMethod(arg1, myObject2);", Context = new RollbarCodeContext { Pre = new [] { " var arg1 = new Whatever();", " var myObject2 = new Whatever();", }, Post = new [] { " Console.WriteLine(\"Whatever\", arg1);", " }", }, } }; var json = JsonConvert.SerializeObject(frame); Assert.Contains("\"code\":\" CallThisMethod(arg1, myObject2);\"", json); Assert.Contains("\"context\":{", json); Assert.Contains("\"pre\":[", json); Assert.Contains("\"post\":[", json); }
public void Frame_can_have_kwargs() { var frame = new RollbarFrame("ThisFile.cs") { Kwargs = new Dictionary<string, object> { {"One", 1}, {"String", "Hi There"}, {"Arr", new object[0] }, }, }; var json = JsonConvert.SerializeObject(frame); Assert.Contains("\"kwargs\":{", json); Assert.Contains("\"One\":1", json); Assert.Contains("\"String\":\"Hi There\"", json); Assert.Contains("\"Arr\":[]", json); }
public void Frame_can_have_code() { var frame = new RollbarFrame("ThisFile.cs") { Code = " CallThisMethod(arg1, myObject2);", }; Assert.Contains("\"code\":\" CallThisMethod(arg1, myObject2);\"", JsonConvert.SerializeObject(frame)); }