public void OnRedirect_AuthFlow_ExtractsCode() { OpenIDConnectService oidc = new OpenIDConnectService(); IOidcProvider oidcProvider = A.Fake <IOidcProvider>(); A.CallTo(() => oidcProvider.AuthorizationFlow).Returns(AuthorizationFlow.AUTHORIZATION_CODE); oidc.OidcProvider = oidcProvider; IRedirectServerListener serverListener = A.Fake <IRedirectServerListener>(); oidc.ServerListener = serverListener; oidc.OpenLoginPage(); RedirectReceivedEventArgs redirectReceivedEventArgs = A.Fake <RedirectReceivedEventArgs>(); serverListener.RedirectReceived += Raise.With(redirectReceivedEventArgs); oidc.Update(); A.CallTo(() => oidcProvider.GetAuthorizationCode(A <Dictionary <string, string> > .Ignored)).MustHaveHappenedOnceExactly(); }
public void IsLoggedIn_SuccessfulLogout_ReturnsFalse() { OpenIDConnectService oidc = new OpenIDConnectService(); IOidcProvider oidcProvider = A.Fake <IOidcProvider>(); A.CallTo(() => oidcProvider.GetAccessToken(A <Dictionary <string, string> > .Ignored)).Returns("myAccessToken"); A.CallTo(() => oidcProvider.AuthorizationFlow).Returns(AuthorizationFlow.IMPLICIT); oidc.OidcProvider = oidcProvider; IRedirectServerListener serverListener = A.Fake <IRedirectServerListener>(); oidc.ServerListener = serverListener; oidc.OpenLoginPage(); RedirectReceivedEventArgs redirectReceivedEventArgs = A.Fake <RedirectReceivedEventArgs>(); serverListener.RedirectReceived += Raise.With(redirectReceivedEventArgs); oidc.Logout(); Assert.IsFalse(oidc.IsLoggedIn); }
public void OnRedirect_ImplicitFlow_AccessTokenRetrieved() { OpenIDConnectService oidc = new OpenIDConnectService(); IOidcProvider oidcProvider = A.Fake <IOidcProvider>(); A.CallTo(() => oidcProvider.GetAccessToken(A <Dictionary <string, string> > .Ignored)).Returns("myAccessToken"); A.CallTo(() => oidcProvider.AuthorizationFlow).Returns(AuthorizationFlow.IMPLICIT); oidc.OidcProvider = oidcProvider; IRedirectServerListener serverListener = A.Fake <IRedirectServerListener>(); oidc.ServerListener = serverListener; oidc.OpenLoginPage(); RedirectReceivedEventArgs redirectReceivedEventArgs = A.Fake <RedirectReceivedEventArgs>(); serverListener.RedirectReceived += Raise.With(redirectReceivedEventArgs); oidc.Update(); Assert.AreEqual("myAccessToken", oidc.AccessToken); }
public void UpdateDiagnostics_OutliningManagerDisposed_NoExceptionThrown() { // Arrange var sut = CreateSut(); SetupDiagnosticPrerequisites(); A.CallTo(_outliningManager).Throws(o => new ObjectDisposedException("OutliningManager")); // Act _diagnosticsProvider.DiagnosticsChanged += Raise.With(new DiagnosticsChangedEventArgs( new List <DiagnosticInfo> { new DiagnosticInfo { Path = FilePath, IsActive = true } }.AsReadOnly())); // Assert A.CallTo(_outliningManager).MustHaveHappened(); }
public void TestHandleIncomingMessageInvokesEventHandlerMessageIsText() { WebSocketJetConnection webSocketJetConnection = new WebSocketJetConnection("ws://172.19.191.179:8081"); IWebSocket webSocket = A.Fake <IWebSocket>(); webSocketJetConnection.SetWebSocket(webSocket); webSocketJetConnection.Connect(A.Dummy <Action <bool> >(), 1000.0); List <StringEventArgs> receivedEvents = new List <StringEventArgs>(); webSocketJetConnection.HandleIncomingMessage += delegate(object sender, StringEventArgs args) { receivedEvents.Add(args); }; int numOfMessageEvents = 5; for (int i = 0; i < numOfMessageEvents; i++) { webSocket.OnMessage += Raise.With(webSocket, CreateMessageEventArgsUsingReflection(true)); } Assert.AreEqual(numOfMessageEvents, receivedEvents.Count); }
public void ManageSpecificEventUnsubscribe(IFoo fake, EventHandler <int> handler) { "Given a strict fake" .x(() => fake = A.Fake <IFoo>(o => o.Strict())); "And an event handler" .x(() => handler = A.Fake <EventHandler <int> >()); "And the fake is configured to manage the Bar event" .x(() => Manage.Event(nameof(IFoo.Bar)).Of(fake)); "When the handler is subscribed to the Bar event" .x(() => fake.Bar += handler); "And the handler is unsubscribed from the Bar event" .x(() => fake.Bar -= handler); "And the Bar event is raised using Raise" .x(() => fake.Bar += Raise.With(1)); "Then the handler is not called" .x(() => A.CallTo(handler).MustNotHaveHappened()); }
public void MultipleCallsToManageEvent(IFoo fake, EventHandler <int> handler) { "Given a strict fake" .x(() => fake = A.Fake <IFoo>(o => o.Strict())); "And an event handler" .x(() => handler = A.Fake <EventHandler <int> >()); "When the fake is configured to manage the Bar event" .x(() => Manage.Event(nameof(IFoo.Bar)).Of(fake)); "And the handler is subscribed to the Bar event" .x(() => fake.Bar += handler); "And the fake is configured again to manage the Bar event" .x(() => Manage.Event(nameof(IFoo.Bar)).Of(fake)); "And the Bar event is raised using Raise" .x(() => fake.Bar += Raise.With(1)); "Then the handler is called" .x(() => A.CallTo(() => handler(fake, 1)).MustHaveHappened()); }
public void QualityHints_AfterDiagnosticsChanged_HasItems() { // Arrange var sut = CreateSut(); // TODO: That much arranging work should be reduced by better seams for mocking... SetupDiagnosticPrerequisites(); _diagnosticsProvider.DiagnosticsChanged += Raise.With(new DiagnosticsChangedEventArgs( new List <DiagnosticInfo> { new DiagnosticInfo { Path = FilePath, IsActive = true } }.AsReadOnly())); // Act var result = sut.DiagnosticInfoLines; // Assert Assert.AreEqual(1, result.Count()); }
public async Task ReturnValidTagsSet_WhenFewEventsOccured() { var client = this.factory.Create(); Clock.Time = new DateTime(2020, 2, 2); this.factory.FakeRfidReader.TagSeen += Raise.With(new TagSeenEventArgs { Identifier = "X1" }); Clock.Time = new DateTime(2020, 2, 3); this.factory.FakeRfidReader.TagSeen += Raise.With(new TagSeenEventArgs { Identifier = "X2" }); Clock.Time = new DateTime(2020, 2, 4); this.factory.FakeRfidReader.TagSeen += Raise.With(new TagSeenEventArgs { Identifier = "X1" }); var seenTags = await client.GetSeenTagsAsync(); Assert.AreEqual(2, seenTags.Count); var tagX1 = seenTags.Tags.Single(t => t.Id == "X1"); var tagX2 = seenTags.Tags.Single(t => t.Id == "X2"); Assert.AreEqual(2, tagX1.SeenTimes); Assert.AreEqual(new DateTime(2020, 2, 2), tagX1.FirstSeen); Assert.AreEqual(new DateTime(2020, 2, 4), tagX1.LastSeen); Assert.AreEqual(1, tagX2.SeenTimes); Assert.AreEqual(new DateTime(2020, 2, 3), tagX2.FirstSeen); Assert.AreEqual(new DateTime(2020, 2, 3), tagX2.LastSeen); }
public void TestNormalExecution() { var factory = A.Fake <IConnectionFactory>(); var connection = A.Fake <IConnection>(); var session = A.Fake <ISession>(); var destination = A.Fake <IDestination>(); var consumer = A.Fake <IMessageConsumer>(); var msg = A.Dummy <IMessage>(); A.CallTo(() => factory.CreateConnection()).Returns(connection); A.CallTo(() => connection.CreateSession()).Returns(session); A.CallTo(() => session.CreateConsumer(A <IDestination> .Ignored)).Returns(consumer); var observable = Apache.NMS.Reactive.Observable.Create <IMessage>(factory, "TestDestination"); var onNext = new List <string>(); var onCompleted = false; var onError = new List <Exception>(); var disposable = observable.Subscribe( (item) => { onNext.Add(item.ToString()); }, (error) => { onError.Add(error); }, () => { onCompleted = true; } ); consumer.Listener += Raise.With <MessageListener>(msg); consumer.Listener += Raise.With <MessageListener>(msg); consumer.Listener += Raise.With <MessageListener>(msg); System.Threading.Thread.Sleep(1000); Assert.AreEqual(3, onNext.Count); Assert.AreEqual(false, onCompleted); Assert.IsEmpty(onError); Assert.IsInstanceOfType <IDisposable>(disposable); }
public void Then_Daily_values_should_be_empty() { var fakeDownloader = A.Fake <IReportDownloader>(); var fakeSettings = A.Fake <ISettings>(); A.CallTo(() => fakeSettings.Address).Returns("http://localhost"); var command = new DownloadReportCommand(fakeDownloader, fakeSettings); var itemCount = 0; command.ReportDownloaded += (sender, args) => { itemCount = args.Daily.Count; }; command.Execute(null); // Raise the event from the fake. var eventArgs = new DownloadCompletedEventArgs(CreateReport(), new Exception()); fakeDownloader.DownloadCompleted += Raise.With(eventArgs).Now; Assert.AreEqual(0, itemCount); }
private void DoTestInitialisationIgnored() { using (Fake.CreateScope()) { // EXECUTE m_DataController.InitialisationComplete += Raise.With( new InitialisationCompleteEventArgs(InitialisationResult.Error, Guid.NewGuid(), DataRequestResult.Failed)); // ASSERT: // Assert public state of ViewModel Assert.AreEqual(Activity.Transitioning, m_ViewModel.CurrentActivity); Assert.IsFalse(m_ViewModel.IsTemplating); Assert.IsNull(m_ViewModel.Exception); Assert.AreEqual(INITIALISING_PROMPT_TEXT, m_ViewModel.PromptText); // Assert that ViewModel made no calls to other fake objects AssertNoCallsToDataController(); AssertNoCallsToSettingsValidator(); AssertNoCallsToSettingsViewModel(); AssertNoCallsToTemplatingViewModel(); AssertNoCallsToWindowService(); AssertNoCallsToDispatcherHelper(); } }
public void OnRedirect_Success_EventRaised() { OpenIDConnectService oidc = new OpenIDConnectService(); IOidcProvider oidcProvider = A.Fake <IOidcProvider>(); oidc.OidcProvider = oidcProvider; IRedirectServerListener serverListener = A.Fake <IRedirectServerListener>(); oidc.ServerListener = serverListener; RedirectReceivedEventArgs redirectReceivedEventArgs = A.Fake <RedirectReceivedEventArgs>(); int eventCalls = 0; oidc.LoginCompleted += delegate { eventCalls++; }; oidc.OpenLoginPage(); serverListener.RedirectReceived += Raise.With(redirectReceivedEventArgs); oidc.Update(); Assert.AreEqual(1, eventCalls); }
private void DoTestInitialisationFailed(Guid identifier, DataRequestResult result) { using (Fake.CreateScope()) { // EXECUTE: m_DataController.InitialisationComplete += Raise.With( new InitialisationCompleteEventArgs(InitialisationResult.Error, identifier, result)); // ASSERT: // Assert public state of ViewModel Assert.AreEqual(Activity.Fault, m_ViewModel.CurrentActivity); Assert.IsFalse(m_ViewModel.IsTemplating); Assert.IsNotNull(m_ViewModel.Exception); Assert.AreEqual(m_ViewModel.Exception.Message, m_ViewModel.PromptText); // Assert that ViewModel made no calls to other fake objects AssertNoCallsToDataController(); AssertNoCallsToSettingsValidator(); AssertNoCallsToSettingsViewModel(); AssertNoCallsToTemplatingViewModel(); AssertNoCallsToWindowService(); AssertNoCallsToDispatcherHelper(); } }
public void AttachProxy_should_configure_manager_to_intercept_calls() { var fake = this.CreateFakeManager <IFoo>(); ////var proxy = this.CreateProxyResult<IFoo>(); var eventRaiser = A.Fake <ICallInterceptedEventRaiser>(); var call = A.Fake <IWritableFakeObjectCall>(); call.Configure().CallsTo(x => x.Method).Returns(typeof(IFoo).GetMethod("Bar", new Type[] { })); // Act fake.AttachProxy(typeof(object), A.Dummy <IFoo>(), eventRaiser); // Assert var rule = A.Fake <IFakeObjectCallRule>(); A.CallTo(() => rule.IsApplicableTo(call)).Returns(true); fake.AddRuleFirst(rule); eventRaiser.CallWasIntercepted += Raise.With(new CallInterceptedEventArgs(call)).Now; A.CallTo(() => rule.Apply(A <IInterceptedFakeObjectCall> ._)).MustHaveHappened(); }
protected override void Because() { _axisSettingsPresenter.AxisPropertyChanged += Raise.With(new AxisEventArgs(_chart.XAxis)); }
public void should_thrown_an_exception_explaining_that_the_axis_cannot_be_removed() { The.Action(() => { _axisSettingsPresenter.AxisRemoved += Raise.With(new AxisEventArgs(_axisY2)); }).ShouldThrowAn <OSPSuiteException>(); }
protected override void Because() { _axisSettingsPresenter.AxisRemoved += Raise.With(new AxisEventArgs(_axisY2)); }
protected override void Because() { _dataBrowserPresenter.UsedChanged += Raise.With(new UsedColumnsEventArgs(new[] { _standardColumn, }, false)); }
protected override void Because() { _dataBrowserPresenter.SelectionChanged += Raise.With(new ColumnsEventArgs(new[] { _standardColumn, _baseGrid, })); }
protected override void Because() { _parameterIdentificationDataSelectionPresenter.SimulationAdded += Raise.With(new SimulationEventArgs(_simulation)); }
public void Go_should_return_handler_with_Now_as_method() { Assert.That(Raise.With(EventArgs.Empty).Go.Method.Name, Is.EqualTo("Now")); }
protected override void Because() { _curveSettingsPresenter.CurvePropertyChanged += Raise.With(new CurveEventArgs(_curve)); }
protected override void Because() { _curveSettingsPresenter.RemoveCurve += Raise.With(new CurveEventArgs(_curve)); }
protected override void Because() { _curveSettingsPresenter.AddCurves += Raise.With(new ColumnsEventArgs(new[] { _standardColumn, })); }
protected override void Because() { _parameterIdentificationRun.RunStatusChanged += Raise.With(new ParameterIdentificationRunStatusEventArgs(_runState)); }
protected override void Because() { _parametersPresenter.GroupNodeSelected += Raise.With(new NodeSelectedEventArgs(_node)); }
protected override void Because() { _columnMappingPresenter.OnMappingCompleted += Raise.With(new EventArgs()); }
protected override void Because() { _allQuantityPresenter.SelectionChanged += Raise.With(new QuantitySelectionChangedEventArgs(_selectionDTO, true)); }
protected override void Because() { _columnMappingPresenter.OnMissingMapping += Raise.With(new MissingMappingEventArgs()); }