Esempio n. 1
0
        public async Task GetUserAccessToken_TokenNotExpired_ReturnsCurrentToken()
        {
            // arrange
            var currentToken = new BearerAccessToken
            {
                AccessToken = "abcd1234",
                ExpiresIn   = 3600,
                Expires     = DateTime.UtcNow.AddSeconds(3600)
            };

            var http             = new MockHttpClient().HttpClient;
            var bearerTokenStore = new Mock <IBearerTokenStore>();

            bearerTokenStore.Setup(s => s.Get(It.IsAny <string>())).ReturnsAsync(currentToken);

            var config = new MockConfiguration().Object;

            var refreshTokenStore = new MockRefreshTokenStore(UserHash, config).Object;
            var service           = new UserAccountsService(http, config, refreshTokenStore, bearerTokenStore.Object);

            // act
            var token = await service.GetUserAccessToken(UserHash);

            // assert
            Assert.AreEqual(currentToken, token);
        }
Esempio n. 2
0
        public void AgentDisabledBasicTransactionWithSpans()
        {
            var payloadSender = new MockPayloadSender();
            var configReader  = new MockConfiguration(enabled: "false");

            using var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, configuration: configReader));
            var transaction = agent.Tracer.StartTransaction("TestTransaction", "Test");

            transaction.Should().NotBeOfType <Transaction>();
            transaction.Should().BeOfType <NoopTransaction>();

            var span1 = transaction.StartSpan("test", "test");

            span1.Should().NotBeOfType <Span>();
            span1.Should().BeOfType <NoopSpan>();
            agent.Tracer.CurrentSpan.Should().Be(span1);
            span1.End();

            agent.Tracer.CurrentSpan.Should().BeNull();

            var span2 = span1.StartSpan("test2", "test");

            span2.Should().NotBeOfType <Span>();
            span2.Should().BeOfType <NoopSpan>();
            span2.End();

            transaction.End();

            payloadSender.SignalEndTransactions();
            payloadSender.WaitForAny();
            payloadSender.Transactions.Should().BeNullOrEmpty();
            payloadSender.Spans.Should().BeNullOrEmpty();
        }
Esempio n. 3
0
        public void DecorateOfOneFileOneAttributeTiles()
        {
            var config = new MockConfiguration("a", DateTime.Now)
            {
                Factory = _locatorFactory
            };

            config.Entries.Add(new MockTileEntry
            {
                Name           = "a",
                Path           = "a.htm",
                TileAttributes = new List <IAttributeEntry> {
                    new MockAttributeEntry
                    {
                        Name  = "b",
                        Value = "value"
                    }
                }
            });
            var set = TilesFactory.AssembleFor(config).Map;

            Assert.That(set.Tiles.Count, Is.EqualTo(1));
            Assert.That(set.Contains("a"));
            TemplateTile tile = (TemplateTile)set.Get("a");

            Assert.That(tile.Attributes, Is.Not.Null);
            Assert.That(tile.Attributes.Count, Is.EqualTo(1));
            Assert.That(tile.Attributes["b"], Is.Not.Null);
        }
Esempio n. 4
0
        public void CreatorShouldAssembleFileTileWhenTileIsFilledShouldTakePrefixIntoAccount()
        {
            var config = new MockConfiguration()
            {
                Factory = _locatorFactory
            };

            _factory = new TilesFactory(config);
            var entry = new XmlAttributeEntry
            {
                Name  = "name",
                Value = "a.htm",
            };
            var tile = new AutoTileAttributeCreator().Create(entry, _factory);

            Assert.That(tile, Is.Not.Null);
            config.FilePrefix = @"nonexisting\";
            try
            {
                new AutoTileAttributeCreator().Create(entry, _factory);
            }
            catch (TileException Te)
            {
                Assert.That(Te.Message.Contains("not find a part of the path"));
            }
        }
Esempio n. 5
0
        public void ErrorContextSanitizerFilterDoesNotThrowWhenTransactionNotSampled()
        {
            var waitHandle = new ManualResetEventSlim();

            using var localServer = LocalServer.Create(context =>
            {
                context.Response.StatusCode = 200;
                waitHandle.Set();
            });

            var config        = new MockConfiguration(transactionSampleRate: "0", serverUrl: localServer.Uri, flushInterval: "0");
            var logger        = new InMemoryBlockingLogger(LogLevel.Warning);
            var payloadSender = new PayloadSenderV2(logger, config,
                                                    Service.GetDefaultService(config, logger), new Api.System(), MockApmServerInfo.Version710);

            using var agent = new ApmAgent(new AgentComponents(payloadSender: payloadSender, configurationReader: config));
            agent.Tracer.CaptureTransaction("Test", "Test", t =>
            {
                t.CaptureException(new Exception("boom!"));
            });

            waitHandle.Wait();

            logger.Lines.Should().NotContain(line => line.Contains("Exception during execution of the filter on transaction"));
        }
Esempio n. 6
0
        public void LimitedAmountOfSpansShouldBeSent_WhenTransactionMaxSpansIsPositiveNumber()
        {
            // Arrange
            const int spansCount        = 10;
            const int maxSpansCount     = 5;
            var       mockPayloadSender = new MockPayloadSender();
            var       mockConfig        = new MockConfiguration(transactionMaxSpans: maxSpansCount.ToString());

            // Act
            using (var agent = new ApmAgent(new TestAgentComponents(configuration: mockConfig, payloadSender: mockPayloadSender)))
            {
                agent.Tracer.CaptureTransaction("test transaction name", "test transaction type",
                                                transaction =>
                {
                    foreach (var iteration in Enumerable.Range(1, spansCount))
                    {
                        transaction.CaptureSpan($"test span name #{iteration}", "test span type", span => { });
                    }
                });
            }

            // Assert
            mockPayloadSender.WaitForTransactions();
            mockPayloadSender.Transactions.Count.Should().Be(1);
            mockPayloadSender.Spans.Count.Should().Be(maxSpansCount);
            mockPayloadSender.FirstTransaction.SpanCount.Dropped.Should().Be(spansCount - maxSpansCount);
        }
Esempio n. 7
0
        public void SpansSentOnlyForSampledTransaction(bool isSampled)
        {
            var mockPayloadSender = new MockPayloadSender();
            var mockConfig        = new MockConfiguration(transactionSampleRate: isSampled ? "1" : "0");

            using (var agent = new ApmAgent(new TestAgentComponents(configuration: mockConfig, payloadSender: mockPayloadSender)))
            {
                agent.Tracer.CaptureTransaction("test transaction name", "test transaction type",
                                                transaction =>
                                                transaction.CaptureSpan("test span name", "test span type", span => { })
                                                );
            }

            mockPayloadSender.WaitForTransactions();
            mockPayloadSender.Transactions.Count.Should().Be(1);
            mockPayloadSender.FirstTransaction.SpanCount.Dropped.Should().Be(0);
            if (isSampled)
            {
                mockPayloadSender.FirstTransaction.SampleRate.Should().Be(1);
                mockPayloadSender.FirstTransaction.SpanCount.Started.Should().Be(1);
                mockPayloadSender.Spans.Count.Should().Be(1);
            }
            else
            {
                mockPayloadSender.FirstTransaction.SampleRate.Should().Be(0);
                mockPayloadSender.FirstTransaction.SpanCount.Started.Should().Be(0);
                mockPayloadSender.Spans.Should().BeEmpty();
            }
        }
Esempio n. 8
0
        public void InitUi()
        {
            var settings = new Settings(this);

            var paymentMethodTypes = GetPaymentMethodTypes(settings);

            var amount            = new BigDecimal(BigInteger.One);
            var paymentParameters = new PaymentParameters(new Amount(amount, Rub),
                                                          "АСБ Подписка",
                                                          "Для получения возможности отправки тревоги, необходимо оплатить подписку.",
                                                          "live_NjQwOTI43n8qs0roPyYJGGSb5248EIztMBFQaTyfJZ4",
                                                          "640928",
                                                          paymentMethodTypes);

            var uiParameters = new UiParameters(settings.ShowYandexCheckoutLogo, new ColorScheme(settings.GetPrimaryColor));

            MockConfiguration mockConfiguration;

            if (settings.IsTestModeEnabled)
            {
                mockConfiguration = new MockConfiguration(settings.ShouldCompletePaymentWithError,
                                                          settings.IsPaymentAuthPassed,
                                                          settings.GetLinkedCardsCount,
                                                          new Amount(new BigDecimal(settings.GetServiceFee), Rub));
            }
            else
            {
                mockConfiguration = null;
            }

            var testParameters = new TestParameters(true, false, mockConfiguration);
            var intent         = Checkout.CreateTokenizeIntent(this, paymentParameters, testParameters, uiParameters);

            StartActivityForResult(intent, RequestCodeTokenize);
        }
Esempio n. 9
0
        public void AllSpansShouldBeSent_WhenTransactionMaxSpansIsEqualToMinusOne()
        {
            // Arrange
            var mockPayloadSender = new MockPayloadSender();
            var mockConfig        = new MockConfiguration(transactionMaxSpans: "-1");
            var spansCount        = 1000;

            // Act
            using (var agent = new ApmAgent(new TestAgentComponents(configuration: mockConfig, payloadSender: mockPayloadSender)))
            {
                agent.Tracer.CaptureTransaction("test transaction name", "test transaction type",
                                                transaction =>
                {
                    foreach (var iteration in Enumerable.Range(1, spansCount))
                    {
                        transaction.CaptureSpan($"test span name #{iteration}", "test span type", span => { });
                    }
                });
            }

            // Assert
            mockPayloadSender.WaitForTransactions();
            mockPayloadSender.Transactions.Count.Should().Be(1);
            mockPayloadSender.WaitForSpans();
            mockPayloadSender.Spans.Count.Should().Be(spansCount);
            mockPayloadSender.FirstTransaction.SpanCount.Dropped.Should().Be(0);
        }
Esempio n. 10
0
        public async Task GetUserAccessToken_TokenExpired_ReturnsNewToken()
        {
            // arrange
            var expiredToken = new BearerAccessToken
            {
                AccessToken = "abcd1234",
                ExpiresIn   = 3600,
                Expires     = new DateTime(2018, 7, 28, 9, 18, 0, DateTimeKind.Utc)
            };

            const string json = @"{
""access_token"": ""NgCXRKc...MzYjw"",
""token_type"": ""bearer"",
""expires_in"": 3600,
}";

            var mockHttp = new MockHttpClient();

            mockHttp.SetupSendAsync(json);
            var http = mockHttp.HttpClient;

            var bearerTokenStore = new Mock <IBearerTokenStore>();

            bearerTokenStore.Setup(s => s.Get(It.IsAny <string>())).ReturnsAsync(expiredToken);
            var config            = new MockConfiguration().Object;
            var refreshTokenStore = new MockRefreshTokenStore(UserHash, config).Object;
            var service           = new UserAccountsService(http, config, refreshTokenStore, bearerTokenStore.Object);

            // act
            var token = await service.GetUserAccessToken(UserHash);

            // assert
            Assert.AreNotEqual(expiredToken, token);
        }
        public void ServerCert_Should_Allow_Https_To_Apm_Server()
        {
            using var tempFile = new TempFile();
            var certPath   = Path.Combine(SolutionPaths.Root, "test", "Elastic.Apm.Tests.MockApmServer", "cert.pfx");
            var serverCert = new X509Certificate2(certPath, "password");

            File.WriteAllBytes(tempFile.Path, serverCert.Export(X509ContentType.Cert));

            var configuration = new MockConfiguration(
                serverUrl: $"https://localhost:{_port}",
                serverCert: tempFile.Path,
                disableMetrics: "*",
                cloudProvider: "none");

            using var agent = new ApmAgent(new AgentComponents(_logger, configuration));
            agent.Tracer.CaptureTransaction("TestTransaction", "TestType", t =>
            {
                t.SetLabel("self_signed_cert", true);
            });

            var signalled = _waitHandle.WaitOne(TimeSpan.FromMinutes(2));

            signalled.Should().BeTrue("timed out waiting to receive transaction");

            _server.ReceivedData.Transactions.Should().HaveCount(1);
            var transaction = _server.ReceivedData.Transactions.First();

            transaction.Context.Labels.MergedDictionary.Should().ContainKey("self_signed_cert");
        }
        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 MockConfiguration(logger, secretToken: _secretToken, apiKey: _apiKey, flushInterval: "1s");
            var payloadSender = new PayloadSenderV2(logger, mockConfig,
                                                    Api.Service.GetDefaultService(mockConfig, logger), new Api.System(), MockApmServerInfo.Version710, 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);
        }
Esempio n. 13
0
        private List <string> TestExecuteDataMigrationScripts(string[] scriptsDescriptions, string expectedResult, bool skipScriptsWithWrongOrder = false)
        {
            using (var container = new RhetosTestContainer())
            {
                var log = new List <string>();
                container.AddLogMonitor(log);

                var sqlExecuter = container.Resolve <ISqlExecuter>();
                sqlExecuter.ExecuteSql("DELETE FROM Rhetos.DataMigrationScript");

                var sqlBatches = container.Resolve <SqlTransactionBatches>();

                foreach (string scriptsDescription in scriptsDescriptions)
                {
                    var scriptsProvider = new SimpleScriptsProvider(scriptsDescription);
                    var configuration   = new MockConfiguration
                    {
                        { "DataMigration.SkipScriptsWithWrongOrder", skipScriptsWithWrongOrder }
                    };
                    var dataMigration = new DataMigration(sqlExecuter, container.Resolve <ILogProvider>(), scriptsProvider, configuration, sqlBatches);
                    dataMigration.ExecuteDataMigrationScripts();
                }

                var report = new List <string>();
                sqlExecuter.ExecuteReader("SELECT Path, Active FROM Rhetos.DataMigrationScript ORDER BY OrderExecuted",
                                          reader => report.Add(reader.GetString(0).Replace(".sql", "") + (reader.GetBoolean(1) ? "" : "-")));
                Assert.AreEqual(expectedResult, string.Join(", ", report));

                return(log);
            }
        }
        public void CreatorShouldAssembleTileAttributeShoulApplyFilePrefix()
        {
            var entry = new XmlAttributeEntry
            {
                Name  = "name",
                Value = "a.htm",
                Type  = TileType.File.ToString()
            };
            var config = new MockConfiguration("a.htm", DateTime.Now)
            {
                Factory = _locatorFactory
            };
            var factory = new TilesFactory(config);
            var tile    = new TemplateTileAttributeCreator().Create(entry, factory);

            Assert.That(tile, Is.Not.Null);
            config.FilePrefix = @"nonexisting\";
            try
            {
                new TemplateTileAttributeCreator().Create(entry, factory);
            } catch (TileException Te)
            {
                Console.WriteLine(Te.Message);
                Assert.That(Te.Message.Contains("a.htm could not be found"));
            }
        }
    public void TestMethod1()
    {
        IConfiguration mock         = new MockConfiguration();
        var            simpleObject = mock.GetValid <SimpleObject>();

        Assert.AreEqual(simpleObject.MyConfigStr, "123");
    }
        public void RequestAuthorizationUrl_Scopes_UrlContainsSpaceDelimitedScopes()
        {
            // arrange
            const string state = "abc123";

            string[] scopes = new[]
            {
                "user-modify-playback-state",
                "user-read-playback-state",
                "playlist-read-collaborative",
                "playlist-modify-public",
                "playlist-modify-private",
                "playlist-read-private",
                "user-read-email"
            };

            var config = new MockConfiguration().Object;
            var http   = new HttpClient();
            //var tokenStore = new MockRefreshTokenStore(UserHash, config).Object;
            var service = new UserAccountsService(http, config);

            // act
            string url = service.AuthorizeUrl(state, scopes);

            // assert
            Assert.IsTrue(url.Contains(string.Join("%20", scopes)), "url should contain %20 (space) delimited user scopes");
            Trace.WriteLine("RequestAuthorizationUrl_Scopes_UrlContainsSpaceDelimitedScopes url =");
            Trace.WriteLine(url);
        }
Esempio n. 17
0
        public void FileDoesntExist_ShouldThrowException()
        {
            var configuration = new MockConfiguration("nonexistent.txt");
            var provider      = new AccountSecurityConfigurationProvider(configuration);

            Assert.Throws <FileNotFoundException>(() => provider.GetBlacklistedPasswords());
        }
Esempio n. 18
0
        public void LimitedAmountOfSpansShouldBeSent_WhenSpansAreCapturedConcurrently()
        {
            // Arrange
            const int spansCount        = 10;
            const int maxSpansCount     = 2;
            var       mockPayloadSender = new MockPayloadSender();
            var       mockConfig        = new MockConfiguration(transactionMaxSpans: maxSpansCount.ToString());

            // Act
            using (var agent = new ApmAgent(new TestAgentComponents(configuration: mockConfig, payloadSender: mockPayloadSender)))
            {
                agent.Tracer.CaptureTransaction("test transaction name", "test transaction type",
                                                transaction =>
                {
                    MultiThreadsTestUtils.TestOnThreads(spansCount, threadIndex =>
                    {
                        transaction.CaptureSpan($"test span name #{threadIndex}", "test span type", span => { });
                        return(1);
                    });
                });
            }

            // Assert
            mockPayloadSender.WaitForTransactions();
            mockPayloadSender.Transactions.Count.Should().Be(1);
            mockPayloadSender.WaitForSpans();
            mockPayloadSender.Spans.Count.Should().Be(maxSpansCount);
            mockPayloadSender.FirstTransaction.SpanCount.Dropped.Should().Be(spansCount - maxSpansCount);
        }
Esempio n. 19
0
        public void TestRefresh()
        {
            string tempTile = Path.GetTempFileName();

            File.Copy("a.htm", tempTile, true);
            try
            {
                var config = new MockConfiguration(tempTile, new DateTime(2007, 1, 1))
                {
                    Factory = _factory
                };
                var ts = new TilesSet(config);

                Assert.That(RequiresRefresh(ts, "a"), Is.False);
                Assert.That(RequiresRefresh(ts, "b"), Is.False);

                File.SetLastWriteTime(tempTile, DateTime.Now.AddDays(-1));
                config.ConfigurationLastModified = config.ConfigurationLastModified.Value.AddDays(1);

                Assert.That(RequiresRefresh(ts, "a"), Is.True);
                Assert.That(RequiresRefresh(ts, "b"), Is.False);

                ts.Refresh();

                Assert.That(RequiresRefresh(ts, "a"), Is.False);
                Assert.That(RequiresRefresh(ts, "b"), Is.False);
            }
            finally
            {
                File.Delete(tempTile);
            }
        }
Esempio n. 20
0
        private static Dictionary <Type, IMap> MakeMaps(params Type[] types)
        {
            var mapper = MakeMapper();
            var config = new MockConfiguration();
            var maps   = types.ToDictionary(t => t, t => mapper.MapFor(t, config));

            return(maps);
        }
        /// <summary>
        /// Before each.
        /// </summary>
        public AccountServiceTest()
        {
            _ctx = new InMemoryAppDataContext();
            var userManager   = new MockUserManager(_ctx);
            var signInManager = new MockSignInManager(userManager);

            _config  = new MockConfiguration();
            _service = new AccountService(userManager, signInManager, _config, _ctx);
        }
Esempio n. 22
0
        public void Constructor_ThrowsOnPrivateKeyTooShort()
        {
            var configuration = new MockConfiguration()
            {
                PrivateKey = "1234567", NonceValidDuration = TimeSpan.FromMinutes(10), Realm = "realm", RequireSsl = false
            };

            Assert.Throws <ArgumentException>(() => new DigestFailureHandler(configuration));
        }
Esempio n. 23
0
        public void FileIsEmpty_ShouldReturnEmptyList()
        {
            var configuration = new MockConfiguration("empty.txt");
            var provider      = new AccountSecurityConfigurationProvider(configuration);

            var list = provider.GetBlacklistedPasswords();

            Assert.Empty(list);
        }
Esempio n. 24
0
        public void SetUp()
        {
            _mockConfiguration = GetMock <MockConfiguration, IConfiguration>();
            _mockConfiguration.Clear();

            _traceMessages = new List <string>();
            Trace          = (c, f) => _traceMessages.Add(f());

            _traceFilter = new TraceFilter(SetupMock <IConfiguration>(), this);
        }
Esempio n. 25
0
        public void GetAccessTokenReturnsAnExceptionIfAccessTokenNotReturned()
        {
            var mockHttpClientFactory  = TestSetup.CreateMockHttpClientFactory(HttpStatusCode.NotFound);
            var mockConfiguration      = new MockConfiguration();
            var mockSpotifyAuthService = new SpotifyAuthService(mockHttpClientFactory, mockConfiguration);

            var ex = Assert.ThrowsAsync <SpotifyAuthException>(() => mockSpotifyAuthService.GetAccessToken());

            Assert.Equal(ErrorConstants.SpotifyAuthError, ex.Result.Message);
        }
Esempio n. 26
0
        public void FileContainsPasswords_ShouldReturnListOfString()
        {
            var configuration = new MockConfiguration("full.txt");
            var provider      = new AccountSecurityConfigurationProvider(configuration);

            var list = provider.GetBlacklistedPasswords();

            Assert.NotEmpty(list);
            Assert.Contains("test", list);
            Assert.Contains("test1", list);
        }
    public static void Main()
    {
        //Arrange
        IConfiguration mock = new MockConfiguration();
        //Act
        var obj = mock.GetValid <SimpleObject>();

        //Assert;
        Console.WriteLine(obj.GetType().IsAssignableFrom(typeof(SimpleObject)));
        Console.ReadLine();
    }
Esempio n. 28
0
        public void Subscribers_Not_Subscribed_When_Agent_Disabled()
        {
            var payloadSender = new NoopPayloadSender();
            var configReader  = new MockConfiguration(enabled: "false");

            using var agent = new ApmAgent(new TestAgentComponents(payloadSender: payloadSender, configuration: configReader));

            var subscriber = new Mock <IDiagnosticsSubscriber>();

            agent.Subscribe(subscriber.Object);
            subscriber.Verify(s => s.Subscribe(It.IsAny <IApmAgent>()), Times.Never);
        }
Esempio n. 29
0
        public JwtTokenGeneratorTests()
        {
            var configuration = new MockConfiguration("none")
            {
                ["Jwt:PrivateKey"] = "MIIEogIBAAKCAQEApTU5T4kF54Eqid0EYfALxYJdz6LAcJxNyXrVa8BFTb9qZyPyBUBNWI6bk/5yjkXgMStb+IwEcIXpMPdoVAY0W7qGsRq7W5W+abOFES4qkgcilhmZONBL0Zeau66qcUPIgt6AJNZqNmmZZ1Swv60u/kuPwlFx2eRCVAJDpTJZZwicVnSELYTHPzbUs24LQaj3ABajZBKtAVRo1giU6s+1Lnl4/v9+yVT5RBzvPcsmjxJeU5JmEt2gDZqEsDmpoeYasEkRsTq8jZNB6a5lVEvwlljktksmUtImcjLvibiRAGjMW86NiiYLjESTEBrKIteKhEH0DoioAoFzUBjapGWKrQIDAQABAoIBAHOZtIqE1M7TQRLKxqBJOdNwj3gU6BdkJ8IN43zMQzJN+IRHULh/8B9BWnfKGhqXpnKBZo+aWhjqeuu6kxQIa2asNEeE7wj81QpdhYUqCru3pmnla6OnjQYR0UH2zGkJBysbygr8xcFhTuhRCIR3CGUENonAN6xB3m+uTeswOgKvj8/873cn7UxeQQTzozXjsYp3f7UfiA0uJySVHV3yUCJFK11Il+NxLvjpdw29ncnxuTUVYR/zZM8uHOOeo5qQ5GvI25iMn+emxOSXxm1m14JISWdc5ejSjBOM2lrxhJ5XCrDNzBJrx/BFKrw78+3yhl3/ns9M9+eY7l2gSg6TxHkCgYEA6GT5zK4SvArj4DKeOAGqmwKHGFhod9pgMMix+8mGmPGy2brXwoCsYKTTISxNH/1pvDGL4i5lh8EGaBxq8ws28mzYfdGnTLzIt9CweaKkIAFkYDTKUO8cTAIDvGDaHJbo6oZvKG87+G4VEtUVziKxivcdN5m0dbooFAGc9VpcD0sCgYEAtf0tDon0fe7qE0/CwAyKaj9Fgfnn4EAS6NJltzmD5J8tD+gIqw5iCvj8EzpobJimkpNhIN0QW4rIw9FicLv44oBZKxU41503e8bQgeCszOb++D5BYFaWzHWPh/goPvpJsXIXdGCj1ZOiVmNJlKLw+XDzwywoZTa3DqMWgkveeucCgYBD2H7pF4TWqyM95+kzFqF1IbbJD75oBzP/6ge0J3CJJD7/u8GTwjcQ++27iJB3n2cIDzr0bHEtwdeZ+3npvMNs4QQPL271Q0QiDeYHjMj3oxBn2eGa4UPUmN34WBo1MIWNOnQnTNooPBMg7V6xUIWeuWgpPFFn8VIUDSiCpL+towKBgA305pmw1sE5q1XjzgmwbIUNaSU4pyG5iDm2uPo+PPExi+EmaFPF/Jre0WYgGpYJduzSxKYijfiXQiJSUnxWzhWAxlXZgMx4UCL78k2jj1z/chpTm+vpeBMiCOnijCOYSkKDf2z7ZFUix1Zcsu3lORnIIcmb/1UTxyImO7muW9eNAoGAd/6epupITJbWItujddk5WtQf1FbCKttEpJzZQV+S9h3ed55QK5wK7kXyTR2LFlPtb+R5ul0oeZwpu0ANNmUcZohTZPCd27mBhFAeGzPjWtA2dcQ0yS+cKPZOZWP/WbQygaX8LsB4lvA0PTTyXeBFb4cyAQNctD1CxpIXOmb7GPo=",
                ["Jwt:PublicKey"]  = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApTU5T4kF54Eqid0EYfALxYJdz6LAcJxNyXrVa8BFTb9qZyPyBUBNWI6bk/5yjkXgMStb+IwEcIXpMPdoVAY0W7qGsRq7W5W+abOFES4qkgcilhmZONBL0Zeau66qcUPIgt6AJNZqNmmZZ1Swv60u/kuPwlFx2eRCVAJDpTJZZwicVnSELYTHPzbUs24LQaj3ABajZBKtAVRo1giU6s+1Lnl4/v9+yVT5RBzvPcsmjxJeU5JmEt2gDZqEsDmpoeYasEkRsTq8jZNB6a5lVEvwlljktksmUtImcjLvibiRAGjMW86NiiYLjESTEBrKIteKhEH0DoioAoFzUBjapGWKrQIDAQAB",
                ["Jwt:ExpireDays"] = "1",
                ["Jwt:Issuer"]     = "testIssuer"
            };

            _tokenGenerator = new JwtTokenGenerator(configuration);
        }
Esempio n. 30
0
 public MockService(IOptions <MockConfiguration> options,
                    RequestDelegate next,
                    IInputMappingParser inputMappingParser,
                    IResponseMatcherService responseMatcher,
                    IBodyWriterService bodyWriterService)
 {
     _mockConfiguration = options.Value;
     _next = next;
     _inputMappingParser = inputMappingParser;
     _responseMatcher    = responseMatcher;
     _bodyWriterService  = bodyWriterService;
 }
        public void TestStackTraceOfExceptionThrownByConnectorFacade()
        {
            ConnectorFacadeFactory factory = ConnectorFacadeFactory.GetInstance();
            Configuration config = new MockConfiguration();
            ConnectorFacade facade = factory.NewInstance(
                TestHelpers.CreateTestConfiguration(SafeType<Connector>.Get<SpyConnector>(), config));

            try
            {
                facade.Test();

                Assert.Fail("Exception was not thrown");
            }
            catch (EUTestException eutex)
            {
                ExceptionUtilTestHelpers.AssertStackTrace(eutex, SpyConnector.StackTrace);
            }
        }
        void SetupConfig(Action<MockConfiguration> customize = null)
        {
            bundle = new TestableBundle("~");
            configuration = new MockConfiguration(bundle);
            sourceDirectory = Mock.Of<IDirectory>();

            if (customize != null) customize(configuration);

            var configurationFactory = new Mock<ICassetteConfigurationFactory>();
            configurationFactory
                .Setup(f => f.CreateCassetteConfigurations())
                .Returns(() => new[] { configuration });

            task = new CreateBundlesImplementation(
                configurationFactory.Object,
                writer.Object,
                sourceDirectory
            );
        }
 private void TestCallPattern(TestOperationPattern pattern,
     SafeType<Connector> clazz)
 {
     Configuration config = new MockConfiguration(false);
     ConnectorFacadeFactory factory = ConnectorFacadeFactory.GetInstance();
     // **test only**
     APIConfiguration impl = TestHelpers.CreateTestConfiguration(clazz, config);
     ConnectorFacade facade;
     facade = factory.NewInstance(impl);
     // make the call on the connector facade..
     pattern.MakeCall(facade);
     // check the call structure..
     IList<MockConnector.Call> calls = MockConnector.GetCallPattern();
     // check the call pattern..
     Assert.AreEqual("Init", calls[0].MethodName);
     calls.RemoveAt(0);
     pattern.CheckCalls(calls);
     Assert.AreEqual("Dispose", calls[0].MethodName);
     calls.RemoveAt(0);
     Assert.IsTrue(calls.Count == 0);
 }
 public void UpdateMergeTests()
 {
     ConnectorAttribute expected, actual;
     Configuration config = new MockConfiguration(false);
     ConnectorFacadeFactory factory = ConnectorFacadeFactory.GetInstance();
     SafeType<Connector> clazz = SafeType<Connector>.Get<MockUpdateConnector>();
     // **test only**
     APIConfiguration impl = TestHelpers.CreateTestConfiguration(clazz, config);
     impl.SetTimeout(SafeType<APIOperation>.Get<GetApiOp>(), APIConstants.NO_TIMEOUT);
     impl.SetTimeout(SafeType<APIOperation>.Get<UpdateApiOp>(), APIConstants.NO_TIMEOUT);
     impl.SetTimeout(SafeType<APIOperation>.Get<SearchApiOp>(), APIConstants.NO_TIMEOUT);
     ConnectorFacade facade = factory.NewInstance(impl);
     // sniff test to make sure we can get an object..
     ConnectorObject obj = facade.GetObject(ObjectClass.ACCOUNT, NewUid(1), null);
     Assert.AreEqual(NewUid(1), obj.Uid);
     // ok lets add an attribute that doesn't exist..
     String ADDED = "somthing to add to the object";
     String ATTR_NAME = "added";
     ICollection<ConnectorAttribute> addAttrSet;
     addAttrSet = CollectionUtil.NewSet((IEnumerable<ConnectorAttribute>)obj.GetAttributes());
     addAttrSet.Add(ConnectorAttributeBuilder.Build(ATTR_NAME, ADDED));
     Name name = obj.Name;
     addAttrSet.Remove(name);
     Uid uid = facade.AddAttributeValues(ObjectClass.ACCOUNT, obj.Uid, ConnectorAttributeUtil.FilterUid(addAttrSet), null);
     // get back the object and see if there are the same..
     addAttrSet.Add(name);
     ConnectorObject addO = new ConnectorObject(ObjectClass.ACCOUNT, addAttrSet);
     obj = facade.GetObject(ObjectClass.ACCOUNT, NewUid(1), null);
     Assert.AreEqual(addO, obj);
     // attempt to add on to an existing attribute..
     addAttrSet.Remove(name);
     uid = facade.AddAttributeValues(ObjectClass.ACCOUNT, obj.Uid, ConnectorAttributeUtil.FilterUid(addAttrSet), null);
     // get the object back out and check on it..
     obj = facade.GetObject(ObjectClass.ACCOUNT, uid, null);
     expected = ConnectorAttributeBuilder.Build(ATTR_NAME, ADDED, ADDED);
     actual = obj.GetAttributeByName(ATTR_NAME);
     Assert.AreEqual(expected, actual);
     // attempt to delete a value from an attribute..
     ICollection<ConnectorAttribute> deleteAttrs = CollectionUtil.NewSet((IEnumerable<ConnectorAttribute>)addO.GetAttributes());
     deleteAttrs.Remove(name);
     uid = facade.RemoveAttributeValues(ObjectClass.ACCOUNT, addO.Uid, ConnectorAttributeUtil.FilterUid(deleteAttrs), null);
     obj = facade.GetObject(ObjectClass.ACCOUNT, uid, null);
     expected = ConnectorAttributeBuilder.Build(ATTR_NAME, ADDED);
     actual = obj.GetAttributeByName(ATTR_NAME);
     Assert.AreEqual(expected, actual);
     // attempt to delete an attribute that doesn't exist..
     ICollection<ConnectorAttribute> nonExist = new HashSet<ConnectorAttribute>();
     nonExist.Add(NewUid(1));
     nonExist.Add(ConnectorAttributeBuilder.Build("does not exist", "asdfe"));
     uid = facade.RemoveAttributeValues(ObjectClass.ACCOUNT, addO.Uid, ConnectorAttributeUtil.FilterUid(nonExist), null);
     obj = facade.GetObject(ObjectClass.ACCOUNT, NewUid(1), null);
     Assert.IsTrue(obj.GetAttributeByName("does not exist") == null);
 }
 public void UnsupportedOperationTest()
 {
     Configuration config = new MockConfiguration(false);
     SafeType<Connector> clazz = SafeType<Connector>.Get<MockConnector>();
     ConnectorFacadeFactory factory = ConnectorFacadeFactory.GetInstance();
     APIConfiguration impl = TestHelpers.CreateTestConfiguration(clazz,
             config);
     ConnectorFacade facade;
     facade = factory.NewInstance(impl);
     facade.Authenticate(ObjectClass.ACCOUNT, "fadf", new GuardedString(), null);
 }
 public void Constructor_ThrowsOnEmptyPrivateKey()
 {
     var configuration = new MockConfiguration() { PrivateKey = string.Empty, NonceValidDuration = TimeSpan.FromMinutes(10), Realm = "realm", RequireSsl = false };
     Assert.Throws<ArgumentException>(() => new DigestFailureHandler(configuration));
 }
 public void Constructor_ThrowsOnNullRealm()
 {
     var configuration = new MockConfiguration() { PrivateKey = "12345678", NonceValidDuration = TimeSpan.FromMinutes(10), Realm = null, RequireSsl = false };
     Assert.Throws<ArgumentNullException>(() => new DigestFailureHandler(configuration));
 }
 public void Constructor_ThrowsOnTimeSpanTooShort()
 {
     var configuration = new MockConfiguration() { PrivateKey = "12345678", NonceValidDuration = TimeSpan.FromSeconds(19), Realm = "realm", RequireSsl = false };
     Assert.Throws<ArgumentException>(() => new DigestFailureHandler(configuration));
 }
 public void Validation_FailsOnTestSuite()
 {
     var config = new MockConfiguration();
     var result = validator.Validate(config);
 }