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();
        }
Exemple #5
0
        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);
        }
Exemple #10
0
        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();
            }
        }
Exemple #15
0
        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));
 }
Exemple #22
0
 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));
 }
Exemple #27
0
 protected override void Because()
 {
     _parametersPresenter.GroupNodeSelected += Raise.With(new NodeSelectedEventArgs(_node));
 }
Exemple #28
0
 protected override void Because()
 {
     _columnMappingPresenter.OnMappingCompleted += Raise.With(new EventArgs());
 }
 protected override void Because()
 {
     _allQuantityPresenter.SelectionChanged += Raise.With(new QuantitySelectionChangedEventArgs(_selectionDTO, true));
 }
Exemple #30
0
 protected override void Because()
 {
     _columnMappingPresenter.OnMissingMapping += Raise.With(new MissingMappingEventArgs());
 }