public void CreateRequest_RequestMethod_Post()
        {
            // Arrange
            var httpTransport = new HttpTransport(
                new SentryOptions {
                Dsn = DsnSamples.ValidDsnWithSecret
            },
                new HttpClient());

            var envelope = Envelope.FromEvent(new SentryEvent());

            // Act
            var request = httpTransport.CreateRequest(envelope);

            // Assert
            request.Method.Should().Be(HttpMethod.Post);
        }
        public async Task CreateRequest_Content_IncludesEvent()
        {
            // Arrange
            var httpTransport = new HttpTransport(
                new SentryOptions {
                Dsn = DsnSamples.ValidDsnWithSecret
            },
                new HttpClient());

            var envelope = Envelope.FromEvent(new SentryEvent());

            // Act
            var request        = httpTransport.CreateRequest(envelope);
            var requestContent = await request.Content.ReadAsStringAsync();

            // Assert
            requestContent.Should().Contain(envelope.TryGetEventId().ToString());
        }
        public void CreateRequest_AuthHeader_IsSet()
        {
            // Arrange
            var httpTransport = new HttpTransport(
                new SentryOptions {
                Dsn = DsnSamples.ValidDsnWithSecret
            },
                new HttpClient());

            var envelope = Envelope.FromEvent(new SentryEvent());

            // Act
            using var request = httpTransport.CreateRequest(envelope);
            var authHeader = request.Headers.GetValues("X-Sentry-Auth").FirstOrDefault();

            // Assert
            authHeader.Should().NotBeNullOrWhiteSpace();
        }
        public void CreateRequest_SentryUrl_FromOptions()
        {
            // Arrange
            var httpTransport = new HttpTransport(
                new SentryOptions {
                Dsn = DsnSamples.ValidDsnWithSecret
            },
                new HttpClient());

            var envelope = Envelope.FromEvent(new SentryEvent());

            var uri = Dsn.Parse(DsnSamples.ValidDsnWithSecret).GetEnvelopeEndpointUri();

            // Act
            var request = httpTransport.CreateRequest(envelope);

            // Assert
            request.RequestUri.Should().Be(uri);
        }
Esempio n. 5
0
    public void CreateRequest_AuthHeader_IncludesVersion()
    {
        // Arrange
        var httpTransport = new HttpTransport(
            new SentryOptions {
            Dsn = DsnSamples.ValidDsnWithSecret
        },
            new HttpClient());

        var envelope = Envelope.FromEvent(new SentryEvent());

        // Act
        using var request = httpTransport.CreateRequest(envelope);
        var authHeader = request.Headers.GetValues("X-Sentry-Auth").FirstOrDefault();

        // Assert
        var versionString = Regex.Match(authHeader, @"sentry_client=(\S+),sentry_key").Groups[1].Value;

        Assert.Contains(versionString, $"{SdkVersion.Instance.Name}/{SdkVersion.Instance.Version}");
    }
Esempio n. 6
0
        public void CreateRequest_AuthHeader_Invoked()
        {
            // Arrange
            var callbackInvoked = false;

            var httpTransport = new HttpTransport(
                new SentryOptions {
                Dsn = DsnSamples.ValidDsnWithSecret
            },
                new HttpClient(),
                _ => callbackInvoked = true
                );

            var envelope = Envelope.FromEvent(new SentryEvent());

            // Act
            httpTransport.CreateRequest(envelope);

            // Assert
            callbackInvoked.Should().BeTrue();
        }