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); }
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(); }
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); }
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")); } }
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")); }
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); }
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(); } }
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); }
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); }
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); }
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); }
public void FileDoesntExist_ShouldThrowException() { var configuration = new MockConfiguration("nonexistent.txt"); var provider = new AccountSecurityConfigurationProvider(configuration); Assert.Throws <FileNotFoundException>(() => provider.GetBlacklistedPasswords()); }
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); }
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); } }
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); }
public void Constructor_ThrowsOnPrivateKeyTooShort() { var configuration = new MockConfiguration() { PrivateKey = "1234567", NonceValidDuration = TimeSpan.FromMinutes(10), Realm = "realm", RequireSsl = false }; Assert.Throws <ArgumentException>(() => new DigestFailureHandler(configuration)); }
public void FileIsEmpty_ShouldReturnEmptyList() { var configuration = new MockConfiguration("empty.txt"); var provider = new AccountSecurityConfigurationProvider(configuration); var list = provider.GetBlacklistedPasswords(); Assert.Empty(list); }
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); }
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); }
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(); }
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); }
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); }
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); }