public async Task CheckAuthorizationHeader(string authorizationHeader)
        {
            var isRequestFinished = new TaskCompletionSource <object>();

            AuthenticationHeaderValue authHeader = null;
            var handler = new MockHttpMessageHandler((r, c) =>
            {
                authHeader = r.Headers.Authorization;
                isRequestFinished.SetResult(null);
                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });

            var logger        = new NoopLogger();
            var mockConfig    = new MockConfigSnapshot(logger, secretToken: _secretToken, apiKey: _apiKey, flushInterval: "1s");
            var payloadSender = new PayloadSenderV2(logger, mockConfig,
                                                    Api.Service.GetDefaultService(mockConfig, logger), new Api.System(), handler, /* dbgName: */ nameof(ApiKeyFeatureContext));

            using (var agent = new ApmAgent(new TestAgentComponents(logger, mockConfig, payloadSender)))
            {
                agent.PayloadSender.QueueTransaction(new Transaction(agent, "TestName", "TestType"));
                await isRequestFinished.Task;
            }

            authHeader.Should().NotBeNull();
            authHeader.ToString().Should().Be(authorizationHeader);
        }
        public async Task PayloadSentWithBearerToken()
        {
            var isRequestFinished = new TaskCompletionSource <object>();

            AuthenticationHeaderValue authHeader = null;
            var handler = new MockHttpMessageHandler((r, c) =>
            {
                authHeader = r.Headers.Authorization;
                isRequestFinished.SetResult(null);
                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });

            const string secretToken   = "SecretToken";
            var          logger        = ConsoleLogger.Instance;
            var          payloadSender = new PayloadSenderV2(logger, new TestAgentConfigurationReader(logger, secretToken: secretToken),
                                                             Service.GetDefaultService(new TestAgentConfigurationReader(logger), logger), new Api.System(), handler);


            using (var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender,
                                                                    configurationReader: new TestAgentConfigurationReader(secretToken: secretToken))))
            {
                agent.PayloadSender.QueueTransaction(new Transaction(agent, "TestName", "TestType"));
            }

            await isRequestFinished.Task;

            authHeader.Should().NotBeNull();
            authHeader.Scheme.Should().Be("Bearer");
            authHeader.Parameter.Should().Be(secretToken);
        }
Exemple #3
0
        public async Task SecretToken_test()
        {
            var isRequestFinished = new TaskCompletionSource <object>();

            AuthenticationHeaderValue authHeader = null;
            var handler = new MockHttpMessageHandler((r, c) =>
            {
                authHeader = r.Headers.Authorization;
                isRequestFinished.SetResult(null);
                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });

            const string secretToken   = "SecretToken";
            var          noopLogger    = new NoopLogger();
            var          mockConfig    = new MockConfigSnapshot(_logger, secretToken: secretToken, maxBatchEventCount: "1");
            var          payloadSender = new PayloadSenderV2(_logger, mockConfig,
                                                             Service.GetDefaultService(mockConfig, noopLogger), new Api.System(), handler, /* dbgName: */ TestDisplayName);

            using (var agent = new ApmAgent(new TestAgentComponents(LoggerBase, mockConfig, payloadSender)))
            {
                agent.PayloadSender.QueueTransaction(new Transaction(agent, "TestName", "TestType"));
                await isRequestFinished.Task;
            }

            authHeader.Should().NotBeNull();
            authHeader.Scheme.Should().Be("Bearer");
            authHeader.Parameter.Should().Be(secretToken);
        }
Exemple #4
0
        public async Task PayloadSentWithBearerToken()
        {
            AuthenticationHeaderValue authHeader = null;
            var handler = new MockHttpMessageHandler((r, c) =>
            {
                authHeader = r.Headers.Authorization;
                return(Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)));
            });

            const string secretToken   = "SecretToken";
            var          logger        = ConsoleLogger.Instance;
            var          payloadSender = new PayloadSenderV2(logger, new TestAgentConfigurationReader(logger, secretToken: secretToken),
                                                             Service.GetDefaultService(new TestAgentConfigurationReader(logger)), handler);

            using (var agent = new ApmAgent(new TestAgentComponents(secretToken: secretToken, payloadSender: payloadSender)))
            {
                agent.PayloadSender.QueueTransaction(new Transaction(agent, "TestName", "TestType"));
                await payloadSender.FlushAndFinishAsync();
            }

            authHeader.Should().NotBeNull();
            authHeader.Scheme.Should().Be("Bearer");
            authHeader.Parameter.Should().Be(secretToken);
        }