Пример #1
0
        public void SetMessage(string message)
        {
            var builder = new SentryEventBuilder()
                          .SetMessage(message);

            Assert.Equal(message, builder.Build().Message);
        }
Пример #2
0
        public void ThrowsForNoExceptionOrMessage()
        {
            var builder = new SentryEventBuilder();

            Assert.Throws <InvalidOperationException>(()
                                                      => builder.Build());
        }
Пример #3
0
        public void SetErrorLevel(ErrorLevel level)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .SetErrorLevel(level);

            Assert.Equal(level, builder.Build().Level);
        }
Пример #4
0
        public void SetTransaction(string transaction)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .SetTransaction(transaction);

            Assert.Equal(transaction, builder.Build().Culprit);
        }
Пример #5
0
        public void AddFingerprintData(params string[] data)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .AddFingerprintData(data);

            Assert.Equal(data, builder.Build().Fingerprint);
        }
Пример #6
0
        public void AddExtraData(string name, object value)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .AddExtraData(name, value);

            var extraData = builder.Build().Extra;

            Assert.Equal(name, extraData.First().Key);
            Assert.Equal(value, extraData.First().Value);
        }
Пример #7
0
        public void AddTag(string name, string value)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .AddTag(name, value);

            var kvp = builder.Build().Tags.First();

            Assert.Equal(name, kvp.Key);
            Assert.Equal(value, kvp.Value);
        }
Пример #8
0
        public void SetException()
        {
            var exception = new Exception();

            var builder = new SentryEventBuilder()
                          .SetException(exception);

            Assert.Equal(
                exception.GetType().FullName,
                builder.Build().Exception.Type);
        }
Пример #9
0
        public void SetUserData()
        {
            var expectedData = new UserData();

            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .SetUserData(expectedData);

            var userData = builder.Build().User;

            Assert.Same(expectedData, userData);
        }
Пример #10
0
        public void SetRequestData()
        {
            var expectedData = new RequestData();

            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .SetRequestData(expectedData);

            var requestData = builder.Build().Request;

            Assert.Same(expectedData, requestData);
        }
Пример #11
0
        public void SetContexts()
        {
            var contexts = new ContextsData
            {
                OperatingSystem = new OperatingSystemData(),
                Device          = new DeviceData(),
                Runtime         = new RuntimeData()
            };

            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .SetContexts(contexts);

            Assert.Equal(contexts, builder.Build().Contexts);
            Assert.Equal(contexts.OperatingSystem, contexts["os"]);
            Assert.Equal(contexts.Device, contexts["device"]);
            Assert.Equal(contexts.Runtime, contexts["runtime"]);
        }
Пример #12
0
        public static async Task <bool> BeforeSendAsync(
            SentryEventBuilder builder,
            HttpContext http)
        {
            var data = builder.Build();

            if (data.Exception.Message == "You shall not pass!")
            {
                builder.SetErrorLevel(ErrorLevel.Debug);

                // Send event
                return(true);
            }

            await Task.Delay(100);

            // Reject event
            return(false);
        }
Пример #13
0
        public void AddEnumerableExtraData(params object[] data)
        {
            var builder = new SentryEventBuilder()
                          .SetException(new Exception())
                          .AddExtraData(ToNamedPairs <object>(data));

            var extraData = builder.Build().Extra;

            var idx = 0;

            for (var c = 1; idx < extraData.Count; c += 2)
            {
                var pair = extraData.ElementAt(idx);

                Assert.Equal(data[c - 1], pair.Key);
                Assert.Equal(data[c], pair.Value);

                idx++;
            }
        }