Beispiel #1
1
        private static void SetupNinJect(MoqMockingKernel kernel)
        {
            if (DEBUGING)
            {
                var MockEmailManager = kernel.GetMock<IEmailManager>();
                MockEmailManager.Setup(x => x.sendEmail()).Returns("Return from unit test mock");
            } else
            {
                kernel.Bind<IEmailManager>()
                    .To<EmailManager>()
                    .WithPropertyValue("message", "setup from NinJect");
            }

            kernel.Bind<IAddress>()
                .To<Address>()
                .WithPropertyValue("Postcode", "PR1 1UT");

            kernel.Bind<IApplicant>()
                .To<Applicant>()
                .WithPropertyValue("EmailAddress", "*****@*****.**")
                .WithConstructorArgument("address", kernel.Get<IAddress>());

            kernel.Bind<IApplication>()
                .To<Application>()
                .WithPropertyValue("emailManager", kernel.Get<IEmailManager>())
                .WithConstructorArgument("applicant", kernel.Get<IApplicant>());
        }
        public void BadPasswordMeansErrorMessage()
        {
            var mock = new MoqMockingKernel();

            mock.Bind<ILoginViewModel>().To(typeof(LoginViewModel));

            mock.Bind<Func<IObservable<Unit>>>()
                .ToConstant<Func<IObservable<Unit>>>(() => Observable.Throw<Unit>(new Exception("Bad Stuff")))
                .Named("confirmUserPass");

            var fixture = mock.Get<ILoginViewModel>();

            fixture.User = "******";
            fixture.Password = "******";

            fixture.Confirm.CanExecute(null).Should().BeTrue();

            UserError error = null;
            using(UserError.OverrideHandlersForTesting(x => { error = x; return Observable.Return(RecoveryOptionResult.CancelOperation); })) {
                fixture.Confirm.Execute(null);
            }

            error.Should().NotBeNull();
            this.Log().Info("Error Message: {0}", error.ErrorMessage);
            error.ErrorMessage.Should().NotBeNullOrEmpty();
        }
        public void SuccessfulLoginShouldActuallyLogIn()
        {
            var mock = new MoqMockingKernel();

            mock.Bind <ILoginViewModel>().To(typeof(LoginViewModel));

            mock.Bind <Func <IObservable <Unit> > >()
            .ToConstant <Func <IObservable <Unit> > >(() => Observable.Return(Unit.Default))
            .Named("confirmUserPass");

            var fixture = mock.Get <ILoginViewModel>();

            fixture.User     = "******";
            fixture.Password = "******";

            fixture.Confirm.CanExecute(null).Should().BeTrue();

            Tuple <string, string> result = null;

            MessageBus.Current.Listen <Tuple <string, string> >("login").Subscribe(x => result = x);
            fixture.Confirm.Execute(null);

            result.Should().NotBeNull();
            result.Item1.Should().Be(fixture.User);
            result.Item2.Should().Be(fixture.Password);
        }
        public void LoginScenarioRoutingTest()
        {
            var mock = new MoqMockingKernel();

            mock.Bind <ILoginViewModel>().To <LoginViewModel>();

            // Fake out the actual login code that makes sure the password is right
            mock.Bind <Func <IObservable <Unit> > >()
            .ToConstant <Func <IObservable <Unit> > >(() => Observable.Return(Unit.Default))
            .Named("confirmUserPass");

            var fixture = new AppViewModel(mock);

            // Our app starts on the Login page by default
            this.Log().Info("Current Route: {0}", fixture.Router.GetUrlForCurrentRoute());
            var loginModel = fixture.Router.GetCurrentViewModel() as ILoginViewModel;

            loginModel.Should().NotBeNull();

            // Put in a fake user/pass and hit the Ok button
            loginModel.User     = "******";
            loginModel.Password = "******";
            loginModel.Confirm.Execute(null);

            // Make sure we're now showing the repo page
            this.Log().Info("Current Route: {0}", fixture.Router.GetUrlForCurrentRoute());
            (fixture.Router.GetCurrentViewModel() is IRepoSelectionViewModel).Should().BeTrue();
        }
Beispiel #5
0
        static ISearchViewModel setupStandardFixture(MoqMockingKernel kernel, IRoutingState router = null)
        {
            router = router ?? new RoutingState();
            kernel.Bind <ISearchViewModel>().To <SearchViewModel>();
            kernel.Bind <IBlobCache>().To <TestBlobCache>().Named("UserAccount");
            kernel.Bind <IBlobCache>().To <TestBlobCache>().Named("LocalMachine");

            kernel.GetMock <IPlayApi>().Setup(x => x.Search("Foo"))
            .Returns(Observable.Return(new List <Song>()
            {
                Fakes.GetSong()
            }))
            .Verifiable();

            kernel.GetMock <ILoginMethods>().Setup(x => x.CurrentAuthenticatedClient).Returns(kernel.Get <IPlayApi>());
            kernel.GetMock <IScreen>().Setup(x => x.Router).Returns(router);

            var img = new BitmapImage();

            kernel.GetMock <IPlayApi>().Setup(x => x.FetchImageForAlbum(It.IsAny <Song>()))
            .Returns(Observable.Return(img))
            .Verifiable();

            RxApp.ConfigureServiceLocator((t, s) => kernel.Get(t, s), (t, s) => kernel.GetAll(t, s));

            var fixture = kernel.Get <ISearchViewModel>();

            return(fixture);
        }
Beispiel #6
0
        public void SuccessfulLoginIntegrationTest()
        {
            var kernel = new MoqMockingKernel();

            kernel.Bind <IWelcomeViewModel>().To <WelcomeViewModel>();

            var cache = new TestBlobCache(null, (IEnumerable <KeyValuePair <string, byte[]> >)null);

            kernel.Bind <ISecureBlobCache>().ToConstant(cache);

            var mock         = kernel.GetMock <IScreen>();
            var routingState = new RoutingState();

            mock.Setup(x => x.Router).Returns(routingState);

            var initialPage = kernel.Get <IRoutableViewModel>();

            kernel.Get <IScreen>().Router.NavigateAndReset.Execute(initialPage);

            var fixture = kernel.Get <IWelcomeViewModel>();

            kernel.Get <IScreen>().Router.Navigate.Execute(fixture);

            fixture.BaseUrl = IntegrationTestUrl.Current;
            fixture.Token   = IntegrationTestUrl.Token;
            fixture.OkButton.Execute(null);

            kernel.Get <IScreen>().Router.ViewModelObservable().Skip(1)
            .Timeout(TimeSpan.FromSeconds(10.0), RxApp.TaskpoolScheduler)
            .First();

            fixture.ErrorMessage.Should().BeNull();
            kernel.Get <IScreen>().Router.GetCurrentViewModel().Should().Be(initialPage);
        }
        public void BadPasswordMeansErrorMessage()
        {
            var mock = new MoqMockingKernel();

            mock.Bind <ILoginViewModel>().To(typeof(LoginViewModel));

            mock.Bind <Func <IObservable <Unit> > >()
            .ToConstant <Func <IObservable <Unit> > >(() => Observable.Throw <Unit>(new Exception("Bad Stuff")))
            .Named("confirmUserPass");

            var fixture = mock.Get <ILoginViewModel>();

            fixture.User     = "******";
            fixture.Password = "******";

            fixture.Confirm.CanExecute(null).Should().BeTrue();

            UserError error = null;

            using (UserError.OverrideHandlersForTesting(x => { error = x; return(Observable.Return(RecoveryOptionResult.CancelOperation)); })) {
                fixture.Confirm.Execute(null);
            }

            error.Should().NotBeNull();
            this.Log().Info("Error Message: {0}", error.ErrorMessage);
            error.ErrorMessage.Should().NotBeNullOrEmpty();
        }
Beispiel #8
0
 public MainViewModelTests()
 {
     this.kernel = new MoqMockingKernel();
     kernel.Bind <ICommandFactory>().ToFactory();
     kernel.Bind <IViewFactory>().ToFactory();
     kernel.Bind <ICommand>().To <ActionCommand>();
 }
        public void LoginScenarioRoutingTest()
        {
            var mock = new MoqMockingKernel();
            mock.Bind<ILoginViewModel>().To<LoginViewModel>();

            // Fake out the actual login code that makes sure the password is right
            mock.Bind<Func<IObservable<Unit>>>()
                .ToConstant<Func<IObservable<Unit>>>(() => Observable.Return(Unit.Default))
                .Named("confirmUserPass");

            var fixture = new AppViewModel(mock);

            // Our app starts on the Login page by default
            this.Log().Info("Current Route: {0}", fixture.Router.GetUrlForCurrentRoute());
            var loginModel = fixture.Router.GetCurrentViewModel() as ILoginViewModel;
            loginModel.Should().NotBeNull();

            // Put in a fake user/pass and hit the Ok button
            loginModel.User = "******";
            loginModel.Password = "******";
            loginModel.Confirm.Execute(null);

            // Make sure we're now showing the repo page
            this.Log().Info("Current Route: {0}", fixture.Router.GetUrlForCurrentRoute());
            (fixture.Router.GetCurrentViewModel() is IRepoSelectionViewModel).Should().BeTrue();
        }
        public void InitializeServicesResolvesViewModelServiceInstance()
        {
            // Arrange

            var serviceResolved = false;

            var package = new WorkingFilesWindowPackage();
            var kernel  = new MoqMockingKernel();

            var events2 = Mock.Of <Events2>();

            var dte2 = Mock.Of <DTE2>(d => d.Events == events2);

            kernel.Bind <DTE2>().ToConstant(dte2);

            kernel.Bind <ICommand>().ToMethod(context => Mock.Of <OpenOptionsPage>());

            kernel.Bind <ViewModelService>().ToMethod(context =>
            {
                serviceResolved = true;
                return(new ViewModelService());
            });

            // Act

            package.InitializeServices(
                kernel,
                Mock.Of <IOptionsPageService>());

            // Assert

            Assert.IsTrue(serviceResolved);
        }
        public void InitializeServicesSubscribesToDte2Events()
        {
            // Arrange

            var package = new WorkingFilesWindowPackage();
            var kernel  = new MoqMockingKernel();

            var events2 = Mock.Of <Events2>();
            var dte2    = Mock.Of <DTE2>(d => d.Events == events2);

            kernel.Bind <DTE2>().ToConstant(dte2);
            kernel.Bind <ICommand>().ToMethod(context => Mock.Of <OpenOptionsPage>());

            var subscriberMock = new Mock <IDteEventsSubscriber>();

            kernel.Bind <IDteEventsSubscriber>().ToConstant(subscriberMock.Object);

            // Act

            package.InitializeServices(
                kernel,
                Mock.Of <IOptionsPageService>());

            // Assert

            subscriberMock.Verify(s => s.SubscribeTo(events2));
        }
        public void InitializeServicesSynchronizesDocuments()
        {
            // Arrange

            var package = new WorkingFilesWindowPackage();
            var kernel  = new MoqMockingKernel();

            var documents = Mock.Of <Documents>();

            var dte2 = Mock.Of <DTE2>(d =>
                                      d.Events == Mock.Of <Events2>() &&
                                      d.Documents == documents);

            kernel.Bind <DTE2>().ToConstant(dte2);
            kernel.Bind <ICommand>().ToMethod(context => Mock.Of <OpenOptionsPage>());

            var subscriberMock = new Mock <IDteEventsSubscriber>();

            kernel.Bind <IDteEventsSubscriber>().ToConstant(subscriberMock.Object);

            var managerMock = new Mock <IDocumentMetadataManager>();

            kernel.Bind <IDocumentMetadataManager>().ToConstant(managerMock.Object);

            // Act

            package.InitializeServices(
                kernel,
                Mock.Of <IOptionsPageService>());

            // Assert

            managerMock.Verify(m => m.Synchronize(documents, true));
        }
        public void RepoSelectionIntegrationSmokeTest()
        {
            var mock = new MoqMockingKernel();

            var client = new RestClient("https://api.github.com")
            {
                Authenticator = new HttpBasicAuthenticator("fakepaulbetts", "omg this password is sekrit"),
            };

            mock.Bind <IRestClient>().ToConstant(client);
            mock.Bind <IGitHubApi>().To <GitHubApi>();
            mock.Bind <IRepoSelectionViewModel>().To <RepoSelectionViewModel>();

            (new TestScheduler()).With(sched => {
                var fixture = mock.Get <IRepoSelectionViewModel>();

                sched.Start();

                foreach (var v in fixture.Organizations)
                {
                    v.Model.Should().NotBeNull();
                    this.Log().Info(v.Model.login);

                    v.Repositories.Count.Should().BeGreaterThan(0);
                }

                fixture.Organizations.Count.Should().BeGreaterThan(0);
            });
        }
        public void SuccessfulLoginIntegrationTest()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IWelcomeViewModel>().To<WelcomeViewModel>();

            var cache = new TestBlobCache(null, (IEnumerable<KeyValuePair<string, byte[]>>)null);
            kernel.Bind<ISecureBlobCache>().ToConstant(cache);

            var mock = kernel.GetMock<IScreen>();
            var routingState = new RoutingState();
            mock.Setup(x => x.Router).Returns(routingState);

            var initialPage = kernel.Get<IRoutableViewModel>();
            kernel.Get<IScreen>().Router.NavigateAndReset.Execute(initialPage);

            var fixture = kernel.Get<IWelcomeViewModel>();
            kernel.Get<IScreen>().Router.Navigate.Execute(fixture);

            fixture.BaseUrl = IntegrationTestUrl.Current;
            fixture.Token = IntegrationTestUrl.Token;
            fixture.OkButton.Execute(null);

            kernel.Get<IScreen>().Router.ViewModelObservable().Skip(1)
                .Timeout(TimeSpan.FromSeconds(10.0), RxApp.TaskpoolScheduler)
                .First();

            fixture.ErrorMessage.Should().BeNull();
            kernel.Get<IScreen>().Router.GetCurrentViewModel().Should().Be(initialPage);
        }
        public void RepoSelectionIntegrationSmokeTest()
        {
            var mock = new MoqMockingKernel();

            var client = new RestClient("https://api.github.com") {
                Authenticator = new HttpBasicAuthenticator("fakepaulbetts", "omg this password is sekrit"),
            };

            mock.Bind<IRestClient>().ToConstant(client);
            mock.Bind<IGitHubApi>().To<GitHubApi>();
            mock.Bind<IRepoSelectionViewModel>().To<RepoSelectionViewModel>();

            (new TestScheduler()).With(sched => {
                var fixture = mock.Get<IRepoSelectionViewModel>();

                sched.Start();

                foreach(var v in fixture.Organizations) {
                    v.Model.Should().NotBeNull();
                    this.Log().Info(v.Model.login);

                    v.Repositories.Count.Should().BeGreaterThan(0);
                }

                fixture.Organizations.Count.Should().BeGreaterThan(0);
            });
        }
 public QuantityConditionServiceController_Test()
 {
     _kernel = new MoqMockingKernel();
     _kernel.Bind(typeof(IBusinessResultValue <>)).To(typeof(BusinessResultValue <>));
     _kernel.Bind <IQuantityConditionBS>().To <QuantityConditionBS>();
     _kernel.Bind <IQuantityConditionDS>().To <QuantityConditionDataService>();
     _kernel.Bind <IUnitOfWork>().To <NeutrinoUnitOfWork>();
 }
Beispiel #17
0
        public static void Bind(MoqMockingKernel _kernel)
        {
            _kernel.Bind(typeof(ISimpleBusinessService <>)).To(typeof(SimpleBusinessService <>));
            //Bind(typeof(IEntityRepository<>)).To(typeof(RepositoryBase<>));

            _kernel.Bind <IBusinessResult>().To <BusinessResult>();
            _kernel.Bind <IAppSettingManager>().To <AppSettingManager>().InThreadScope();
        }
Beispiel #18
0
        internal static MoqMockingKernel Create()
        {
            MoqMockingKernel kernel = new MoqMockingKernel();

            kernel.Bind <ApplicationDbContext>().ToSelf();
            kernel.Bind <IUnitOfWork>().To <UnitOfWork>();
            kernel.Bind <IRoomStateFactory>().To <RoomStateFactory>();
            kernel.Bind <IRoomService>().To <RoomService>();
            kernel.Bind <IRoomStateService>().To <RoomStateService>();
            return(kernel);
        }
Beispiel #19
0
        public MainViewModelTests()
        {
            _kernel = new MoqMockingKernel();

            _kernel.Bind(x => x.FromAssembliesMatching("Northwind.*")
                         .SelectAllClasses()
                         .BindDefaultInterfaces());

            _kernel.Bind(x => x.FromAssembliesMatching("Northwind.*")
                         .SelectAllInterfaces()
                         .EndingWith("Factory")
                         .BindToFactory());
        }
Beispiel #20
0
 public static void Bind(MoqMockingKernel _kernel)
 {
     _kernel.Bind <DbContext>().To <NeutrinoContext>().InRequestScope();
     _kernel.Bind <NeutrinoUnitOfWork>().ToSelf().InRequestScope();
     _kernel.Bind(typeof(IEntityRepository <>)).To(typeof(NeutrinoRepositoryBase <>));
     //_kernel.Bind(typeof(IEntityEraser<>)).To(typeof(SimpleEntityEraser<>));
     //_kernel.Bind(typeof(IEntityCreator<>)).To(typeof(SimpleEntityCreator<>));
     //_kernel.Bind(typeof(IEntityModifer<>)).To(typeof(SimpleEntityModifer<>));
     //_kernel.Bind(typeof(IEntityCounter<>)).To(typeof(GeneralEntityCounter<>));
     _kernel.Bind(typeof(IEntityLoader <>)).To(typeof(GeneralEntityLoader <>));
     _kernel.Bind(typeof(IEntityListLoader <>)).To(typeof(GeneralEntityListLoader <>));
     //_kernel.Bind(typeof(IEntityListByPagingLoader<>)).To(typeof(GeneralEntityListByPagingLoader<>));
 }
        private static void BindExponentialBackoffStrategy(MoqMockingKernel kernel)
        {
            var configuration = kernel.Get <IConfigurationProvider>();
            var retryCount    = Convert.ToInt32(configuration.GetConfiguration(ConfigName.RetryCount));
            var minBackoff    = new TimeSpan(0, 0, Convert.ToInt32(configuration.GetConfiguration(ConfigName.SqlConnectMinBackOffInSeconds)));
            var maxBackoff    = new TimeSpan(0, 0, Convert.ToInt32(configuration.GetConfiguration(ConfigName.SqlConnectMaxBackOffInSeconds)));
            var deltaBackoff  = new TimeSpan(0, 0, Convert.ToInt32(configuration.GetConfiguration(ConfigName.SqlConnectDeltaBackOffInSeconds)));


            var expBackoff = new ExponentialBackoff("ExponentialBackoff", 10, minBackoff, maxBackoff, deltaBackoff);

            kernel.Bind <ExponentialBackoff>().ToConstant <ExponentialBackoff>(expBackoff).Named("ExponentialBackoff");
            kernel.Bind <RetryStrategy>().ToConstant <ExponentialBackoff>(expBackoff).Named("ExponentialBackoff");
        }
Beispiel #22
0
        IPlayViewModel setupStandardMock(MoqMockingKernel kernel, IRoutingState router, Action extraSetup = null)
        {
            kernel.Bind <IPlayViewModel>().To <PlayViewModel>();

            var playApi = kernel.GetMock <IPlayApi>();

            playApi.Setup(x => x.ListenUrl()).Returns(Observable.Never <string>());
            playApi.Setup(x => x.ConnectToSongChangeNotifications()).Returns(Observable.Never <Unit>());
            playApi.Setup(x => x.NowPlaying()).Returns(Observable.Return(Fakes.GetSong()));
            playApi.Setup(x => x.Queue()).Returns(Observable.Return(Fakes.GetAlbum()));
            playApi.Setup(x => x.FetchImageForAlbum(It.IsAny <Song>())).Returns(Observable.Return <BitmapImage>(null));

            kernel.GetMock <IScreen>().Setup(x => x.Router).Returns(router);

            kernel.GetMock <ILoginMethods>()
            .Setup(x => x.EraseCredentialsAndNavigateToLogin())
            .Callback(() => router.Navigate.Execute(kernel.Get <IWelcomeViewModel>()));

            kernel.GetMock <ILoginMethods>()
            .Setup(x => x.CurrentAuthenticatedClient)
            .Returns(kernel.Get <IPlayApi>());

            if (extraSetup != null)
            {
                extraSetup();
            }

            RxApp.ConfigureServiceLocator((t, s) => kernel.Get(t, s), (t, s) => kernel.GetAll(t, s));
            return(kernel.Get <IPlayViewModel>());
        }
Beispiel #23
0
 public void SetUp()
 {
     Kernel = new MoqMockingKernel();
     Kernel.Settings.SetMockBehavior(MockBehavior.Strict);
     Kernel.Load <TestModules.MockedQueries>();
     Kernel.Bind <TController>().ToSelf().InSingletonScope();
 }
 protected ListenerTestBase()
 {
     Kernel = new MoqMockingKernel();
     ((NinjectSettings)Kernel.Settings).DefaultScopeCallback = StandardScopeCallbacks.Singleton;
     Kernel.Bind(typeof(TListener), typeof(INotificationHandler <TNotification>)).To <TListener>().InSingletonScope();
     Kernel.Load <TestModules.Mediatr>();
 }
        public static void Initialize(MoqMockingKernel kernel)
        {
            SetupConfiguration(kernel);
            BindExponentialBackoffStrategy(kernel);
            BindRetryManager(kernel);

            kernel.Bind <EntrepreneurHomePageData>().ToSelf();
        }
Beispiel #26
0
        public void SucceededLoginSetsTheCurrentAuthenticatedClient()
        {
            var kernel = new MoqMockingKernel();

            kernel.Bind <IWelcomeViewModel>().To <WelcomeViewModel>();

            string expectedUser = "******";
            string expectedUrl  = "http://bar";

            kernel.Bind <Func <string, string, IObservable <Unit> > >()
            .ToConstant <Func <string, string, IObservable <Unit> > >((url, user) => Observable.Return <Unit>(Unit.Default))
            .Named("connectToServer");

            var mock         = kernel.GetMock <IScreen>();
            var routingState = new RoutingState();

            mock.Setup(x => x.Router).Returns(routingState);

            kernel.Bind <IScreen>().ToConstant(mock.Object);

            var initialPage = kernel.Get <IRoutableViewModel>();

            kernel.Get <IScreen>().Router.NavigateAndReset.Execute(initialPage);

            var cache = new TestBlobCache(null, (IEnumerable <KeyValuePair <string, byte[]> >)null);

            kernel.Bind <ISecureBlobCache>().ToConstant(cache);

            var fixture = kernel.Get <IWelcomeViewModel>();

            kernel.Get <IScreen>().Router.Navigate.Execute(fixture);

            bool errorThrown = false;

            using (UserError.OverrideHandlersForTesting(ex => { errorThrown = true; return(Observable.Return(RecoveryOptionResult.CancelOperation)); })) {
                fixture.Token   = expectedUser;
                fixture.BaseUrl = expectedUrl;
                fixture.OkButton.Execute(null);
            }

            errorThrown.Should().BeFalse();

            kernel.Get <IScreen>().Router.GetCurrentViewModel().Should().Be(initialPage);
            kernel.GetMock <ILoginMethods>().Verify(x => x.SaveCredentials(expectedUrl, expectedUser), Times.Once());
        }
        static ISongTileViewModel setupStandardFixture(Song song, MoqMockingKernel kernel)
        {
            kernel.Bind <IBlobCache>().To <TestBlobCache>().Named("UserAccount");
            kernel.Bind <IBlobCache>().To <TestBlobCache>().Named("LocalMachine");

            kernel.GetMock <IPlayApi>().Setup(x => x.QueueSong(It.IsAny <Song>()))
            .Returns(Observable.Return(Unit.Default))
            .Verifiable();

            kernel.GetMock <IPlayApi>().Setup(x => x.AllSongsOnAlbum(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(Observable.Return(Fakes.GetAlbum()))
            .Verifiable();

            kernel.GetMock <IPlayApi>().Setup(x => x.FetchImageForAlbum(It.IsAny <Song>()))
            .Returns(Observable.Return(new BitmapImage()));

            return(new SongTileViewModel(song, kernel.Get <IPlayApi>()));
        }
        static ISongTileViewModel setupStandardFixture(Song song, MoqMockingKernel kernel)
        {
            kernel.Bind<IBlobCache>().To<TestBlobCache>().Named("UserAccount");
            kernel.Bind<IBlobCache>().To<TestBlobCache>().Named("LocalMachine");

            kernel.GetMock<IPlayApi>().Setup(x => x.QueueSong(It.IsAny<Song>()))
                .Returns(Observable.Return(Unit.Default))
                .Verifiable();

            kernel.GetMock<IPlayApi>().Setup(x => x.AllSongsOnAlbum(It.IsAny<string>(), It.IsAny<string>()))
                .Returns(Observable.Return(Fakes.GetAlbum()))
                .Verifiable();

            kernel.GetMock<IPlayApi>().Setup(x => x.FetchImageForAlbum(It.IsAny<Song>()))
                .Returns(Observable.Return(new BitmapImage()));

            return new SongTileViewModel(song, kernel.Get<IPlayApi>());
        }
        public void NavigatingToPlayWithoutAPasswordShouldNavigateToLogin()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IPlayViewModel>().To<PlayViewModel>();

            var cache = new TestBlobCache(null, (IEnumerable<KeyValuePair<string, byte[]>>)null);
            kernel.Bind<ISecureBlobCache>().ToConstant(cache);

            kernel.GetMock<ILoginMethods>()
                .Setup(x => x.EraseCredentialsAndNavigateToLogin()).Verifiable();

            var router = new RoutingState();
            kernel.GetMock<IScreen>().Setup(x => x.Router).Returns(router);

            var fixture = kernel.Get<IPlayViewModel>();
            router.Navigate.Execute(fixture);
            kernel.GetMock<ILoginMethods>().Verify(x => x.EraseCredentialsAndNavigateToLogin(), Times.Once());
        }
Beispiel #30
0
        public void ServiceEntryPointUsesNamespaceAsServiceNameByDefault()
        {
            var service = _kernel.Get <TestPollingService>();

            _kernel.Bind <IStandardService>().ToConstant(service);
            var ep = _kernel.Get <ServiceEntryPoint>();

            Assert.AreEqual("Handsome.Pete.ServiceTemplateTests", ep.AppSettings.InstallServiceName);
        }
        private static void BindRetryManager(MoqMockingKernel kernel)
        {
            string retryStrategyName = "ExponentialBackoff";
            var    retryStrategy     = kernel.Get <RetryStrategy>(retryStrategyName);

            var retryStrategies = new List <RetryStrategy>()
            {
                kernel.Get <ExponentialBackoff>()
            };

            kernel.Bind <IEnumerable <RetryStrategy> >().ToConstant <List <RetryStrategy> >(retryStrategies).Named("RetryManagerStrategies");
            var retryStrategyNameMap = new Dictionary <string, string>();

            retryStrategyNameMap.Add(retryStrategyName, retryStrategyName);

            var retryManager = new CustomRetryManager(retryStrategies, retryStrategyName, retryStrategyNameMap);

            kernel.Bind <CustomRetryManager>().ToConstant(retryManager);
            RetryManager.SetDefault(retryManager);
        }
Beispiel #32
0
        public static void Bind(MoqMockingKernel _kernel)
        {
            //BranchReceipt
            _kernel.Bind <Interfaces.IBranchReceiptBS>().To <BranchReceiptBS>();
            _kernel.Bind <Interfaces.IBranchReceiptDS>().To <BranchReceiptDataService>();

            //BranchSales
            _kernel.Bind <Interfaces.IBranchSalesBS>().To <BranchSalesBS>();
            _kernel.Bind <Interfaces.IBranchSalesDS>().To <BranchSalesDataService>();

            //Invoice
            _kernel.Bind <Interfaces.IInvoiceBS>().To <InvoiceBS>();
            _kernel.Bind <Interfaces.IInvoiceDS>().To <InvoiceDataService>();

            //MemberReceipt
            _kernel.Bind <Interfaces.IMemberReceiptBS>().To <MemberReceiptBS>();
            _kernel.Bind <Interfaces.IMemberReceiptDS>().To <MemberReceiptDataService>();

            //MemberPayroll
            _kernel.Bind <Interfaces.IMemberPayrollBS>().To <MemberPayrollBS>();
            _kernel.Bind <Interfaces.IMemberPayrollDS>().To <MemberPayrollDataService>();
        }
Beispiel #33
0
        public void NavigatingToPlayWithoutAPasswordShouldNavigateToLogin()
        {
            var kernel = new MoqMockingKernel();

            kernel.Bind <IPlayViewModel>().To <PlayViewModel>();

            var cache = new TestBlobCache(null, (IEnumerable <KeyValuePair <string, byte[]> >)null);

            kernel.Bind <ISecureBlobCache>().ToConstant(cache);

            kernel.GetMock <ILoginMethods>()
            .Setup(x => x.EraseCredentialsAndNavigateToLogin()).Verifiable();

            var router = new RoutingState();

            kernel.GetMock <IScreen>().Setup(x => x.Router).Returns(router);

            var fixture = kernel.Get <IPlayViewModel>();

            router.Navigate.Execute(fixture);
            kernel.GetMock <ILoginMethods>().Verify(x => x.EraseCredentialsAndNavigateToLogin(), Times.Once());
        }
Beispiel #34
0
        public void FailedLoginIsAUserError()
        {
            var kernel = new MoqMockingKernel();

            kernel.Bind <IWelcomeViewModel>().To <WelcomeViewModel>();

            kernel.Bind <Func <string, string, IObservable <Unit> > >()
            .ToConstant <Func <string, string, IObservable <Unit> > >((url, user) => Observable.Throw <Unit>(new Exception()))
            .Named("connectToServer");

            var fixture = kernel.Get <IWelcomeViewModel>();

            bool errorThrown = false;

            using (UserError.OverrideHandlersForTesting(ex => { errorThrown = true; return(Observable.Return(RecoveryOptionResult.CancelOperation)); })) {
                fixture.Token   = "Foo";
                fixture.BaseUrl = "http://bar";
                fixture.OkButton.Execute(null);
            }

            errorThrown.Should().BeTrue();
        }
        static ISearchViewModel setupStandardFixture(MoqMockingKernel kernel, IRoutingState router = null)
        {
            router = router ?? new RoutingState();
            kernel.Bind<ISearchViewModel>().To<SearchViewModel>();
            kernel.Bind<IBlobCache>().To<TestBlobCache>().Named("UserAccount");
            kernel.Bind<IBlobCache>().To<TestBlobCache>().Named("LocalMachine");

            kernel.GetMock<IPlayApi>().Setup(x => x.Search("Foo"))
                .Returns(Observable.Return(new List<Song>() { Fakes.GetSong() }))
                .Verifiable();

            kernel.GetMock<ILoginMethods>().Setup(x => x.CurrentAuthenticatedClient).Returns(kernel.Get<IPlayApi>());
            kernel.GetMock<IScreen>().Setup(x => x.Router).Returns(router);

            var img = new BitmapImage();
            kernel.GetMock<IPlayApi>().Setup(x => x.FetchImageForAlbum(It.IsAny<Song>()))
                .Returns(Observable.Return(img))
                .Verifiable();

            RxApp.ConfigureServiceLocator((t,s) => kernel.Get(t,s), (t,s) => kernel.GetAll(t,s));

            var fixture = kernel.Get<ISearchViewModel>();
            return fixture;
        }
        public void SuccessfulLoginShouldActuallyLogIn()
        {
            var mock = new MoqMockingKernel();
            mock.Bind<ILoginViewModel>().To(typeof(LoginViewModel));

            mock.Bind<Func<IObservable<Unit>>>()
                .ToConstant<Func<IObservable<Unit>>>(() => Observable.Return(Unit.Default))
                .Named("confirmUserPass");

            var fixture = mock.Get<ILoginViewModel>();

            fixture.User = "******";
            fixture.Password = "******";

            fixture.Confirm.CanExecute(null).Should().BeTrue();

            Tuple<string, string> result = null;
            MessageBus.Current.Listen<Tuple<string, string>>("login").Subscribe(x => result = x);
            fixture.Confirm.Execute(null);

            result.Should().NotBeNull();
            result.Item1.Should().Be(fixture.User);
            result.Item2.Should().Be(fixture.Password);
        }
Beispiel #37
0
        public ServiceWrapperTests()
        {
            _kernel = new MoqMockingKernel();

            _kernel.Bind <IUnitOfWork>().To <NeutrinoUnitOfWork>();
            _kernel.Bind(typeof(IEntityRepository <>)).To(typeof(RepositoryBase <>));
            _kernel.Bind(typeof(IEntityLoader <>)).To(typeof(GeneralEntityLoader <>));
            _kernel.Bind(typeof(IEntityListLoader <>)).To(typeof(GeneralEntityListLoader <>));
            _kernel.Bind(typeof(IEntityCreator <>)).To(typeof(SimpleEntityCreator <>));

            //BranchReceipt
            _kernel.Bind <IBranchReceiptBS>().To <BranchReceiptBS>();
            _kernel.Bind <IBranchReceiptDS>().To <BranchReceiptDataService>();
        }
        public void LoginFailureIntegrationTest()
        {
            var mock = new MoqMockingKernel();

            mock.Bind <ILoginViewModel>().To(typeof(LoginViewModel));

            var fixture = mock.Get <ILoginViewModel>() as LoginViewModel;

            fixture.User     = "******";
            fixture.Password = "******";

            fixture.TestUserNameAndPassword().Select(_ => false)
            .Catch(Observable.Return(true))
            .Timeout(TimeSpan.FromSeconds(10), RxApp.TaskpoolScheduler)
            .First()
            .Should().BeTrue();
        }
        public void MakeAlbumSearchIntegrationTest()
        {
            var kernel = new MoqMockingKernel();
            var client = new RestClient(IntegrationTestUrl.Current);

            client.AddDefaultHeader("Authorization", IntegrationTestUrl.Token);
            kernel.Bind <IBlobCache>().To <TestBlobCache>();

            var api = new PlayApi(client, kernel.Get <IBlobCache>());

            var result = api.AllSongsOnAlbum("LCD Soundsystem", "Sound Of Silver")
                         .Timeout(TimeSpan.FromSeconds(9.0), RxApp.TaskpoolScheduler)
                         .First();

            this.Log().Info(String.Join(",", result.Select(x => x.name)));
            result.Count.Should().BeGreaterThan(2);
        }
        public void FetchNowPlayingIntegrationTest()
        {
            var kernel = new MoqMockingKernel();
            var client = new RestClient(IntegrationTestUrl.Current);

            client.AddDefaultHeader("Authorization", IntegrationTestUrl.Token);
            kernel.Bind<IBlobCache>().To<TestBlobCache>();

            var api = new PlayApi(client, kernel.Get<IBlobCache>());

            var result = api.NowPlaying()
                .Timeout(TimeSpan.FromSeconds(9.0), RxApp.TaskpoolScheduler)
                .First();

            this.Log().Info(result.ToString());
            result.id.Should().NotBeNullOrEmpty();
        }
        public void MakeAlbumSearchIntegrationTest()
        {
            var kernel = new MoqMockingKernel();
            var client = new RestClient(IntegrationTestUrl.Current);

            client.AddDefaultHeader("Authorization", IntegrationTestUrl.Token);
            kernel.Bind<IBlobCache>().To<TestBlobCache>();

            var api = new PlayApi(client, kernel.Get<IBlobCache>());

            var result = api.AllSongsOnAlbum("LCD Soundsystem", "Sound Of Silver")
                .Timeout(TimeSpan.FromSeconds(9.0), RxApp.TaskpoolScheduler)
                .First();

            this.Log().Info(String.Join(",", result.Select(x => x.name)));
            result.Count.Should().BeGreaterThan(2);
        }
        public void BlankFieldsMeansNoLogin()
        {
            var mock = new MoqMockingKernel();
            mock.Bind<ILoginViewModel>().To(typeof(LoginViewModel));

            var fixture = mock.Get<ILoginViewModel>();

            fixture.Confirm.CanExecute(null).Should().BeFalse();

            fixture.User = "******";
            fixture.Confirm.CanExecute(null).Should().BeFalse();

            fixture.User = "";
            fixture.Password = "******";
            fixture.Confirm.CanExecute(null).Should().BeFalse();

            fixture.User = "******";
            fixture.Confirm.CanExecute(null).Should().BeTrue();
        }
        public void CantHitOkWhenBaseUrlIsntAUrl()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IWelcomeViewModel>().To<WelcomeViewModel>();

            var fixture = kernel.Get<IWelcomeViewModel>();

            fixture.BaseUrl = "Foobar";
            fixture.Token = "foo";
            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.BaseUrl = "ftp://google.com";
            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.BaseUrl = "    ";
            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.BaseUrl = "http://$#%(@#$)@#!!)@(";
            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.BaseUrl = "http://foobar";
            fixture.OkButton.CanExecute(null).Should().BeTrue();
        }
        public void LoginFailureIntegrationTest()
        {
            var mock = new MoqMockingKernel();

            mock.Bind<ILoginViewModel>().To(typeof(LoginViewModel));

            var fixture = mock.Get<ILoginViewModel>() as LoginViewModel;
            fixture.User = "******";
            fixture.Password = "******";

            fixture.TestUserNameAndPassword().Select(_ => false)
                .Catch(Observable.Return(true))
                .Timeout(TimeSpan.FromSeconds(10), RxApp.TaskpoolScheduler)
                .First()
                .Should().BeTrue();
        }
        public void InitializeTest()
        {
            _session = Database.SessionFactory.OpenSession();
             _sessionFactory = new Mock<ISessionFactory>();
             _sessionFactory.Setup( x => x.GetCurrentSession() ).Returns( _session );

             _iocKernel = new MoqMockingKernel();
             _iocKernel.Bind<ISessionFactory>().ToConstant( _sessionFactory.Object );

             Database.Build( _session );

             Users.Load( _sessionFactory.Object );

             AcceptanceCriteriaStatuses.Load( _sessionFactory.Object );
             ProjectStatuses.Load( _sessionFactory.Object );
             SprintStatuses.Load( _sessionFactory.Object );
             WorkItemStatuses.Load( _sessionFactory.Object );
             WorkItemTypes.Load( _sessionFactory.Object );

             Projects.Load( _sessionFactory.Object );
             WorkItems.Load( _sessionFactory.Object );
        }
 public MyTests()
 {
     _kernel = new MoqMockingKernel();
     _kernel.Bind<IFoo>().To<MyFoo>();
 }
        public void CantHitOkWhenFieldsAreBlank()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IWelcomeViewModel>().To<WelcomeViewModel>();

            var fixture = kernel.Get<IWelcomeViewModel>();

            String.IsNullOrWhiteSpace(fixture.BaseUrl).Should().BeTrue();
            String.IsNullOrWhiteSpace(fixture.Token).Should().BeTrue();

            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.BaseUrl = "http://www.example.com";
            fixture.OkButton.CanExecute(null).Should().BeFalse();

            fixture.Token = "foo";
            fixture.OkButton.CanExecute(null).Should().BeTrue();
        }
        public void SucceededLoginSetsTheCurrentAuthenticatedClient()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IWelcomeViewModel>().To<WelcomeViewModel>();

            string expectedUser = "******";
            string expectedUrl = "http://bar";

            kernel.Bind<Func<string, string, IObservable<Unit>>>()
                .ToConstant<Func<string, string, IObservable<Unit>>>((url, user) => Observable.Return<Unit>(Unit.Default))
                .Named("connectToServer");

            var mock = kernel.GetMock<IScreen>();
            var routingState = new RoutingState();
            mock.Setup(x => x.Router).Returns(routingState);

            kernel.Bind<IScreen>().ToConstant(mock.Object);

            var initialPage = kernel.Get<IRoutableViewModel>();
            kernel.Get<IScreen>().Router.NavigateAndReset.Execute(initialPage);

            var cache = new TestBlobCache(null, (IEnumerable<KeyValuePair<string, byte[]>>)null);
            kernel.Bind<ISecureBlobCache>().ToConstant(cache);

            var fixture = kernel.Get<IWelcomeViewModel>();
            kernel.Get<IScreen>().Router.Navigate.Execute(fixture);

            bool errorThrown = false;
            using (UserError.OverrideHandlersForTesting(ex => { errorThrown = true; return Observable.Return(RecoveryOptionResult.CancelOperation); })) {
                fixture.Token = expectedUser;
                fixture.BaseUrl = expectedUrl;
                fixture.OkButton.Execute(null);
            }

            errorThrown.Should().BeFalse();

            kernel.Get<IScreen>().Router.GetCurrentViewModel().Should().Be(initialPage);
            kernel.GetMock<ILoginMethods>().Verify(x => x.SaveCredentials(expectedUrl, expectedUser), Times.Once());
        }
        public void FailedLoginIsAUserError()
        {
            var kernel = new MoqMockingKernel();
            kernel.Bind<IWelcomeViewModel>().To<WelcomeViewModel>();

            kernel.Bind<Func<string, string, IObservable<Unit>>>()
                .ToConstant<Func<string, string, IObservable<Unit>>>((url, user) => Observable.Throw<Unit>(new Exception()))
                .Named("connectToServer");

            var fixture = kernel.Get<IWelcomeViewModel>();

            bool errorThrown = false;
            using (UserError.OverrideHandlersForTesting(ex => { errorThrown = true; return Observable.Return(RecoveryOptionResult.CancelOperation); })) {
                fixture.Token = "Foo";
                fixture.BaseUrl = "http://bar";
                fixture.OkButton.Execute(null);
            }

            errorThrown.Should().BeTrue();
        }
        IPlayViewModel setupStandardMock(MoqMockingKernel kernel, IRoutingState router, Action extraSetup = null)
        {
            kernel.Bind<IPlayViewModel>().To<PlayViewModel>();

            var playApi = kernel.GetMock<IPlayApi>();
            playApi.Setup(x => x.ListenUrl()).Returns(Observable.Never<string>());
            playApi.Setup(x => x.ConnectToSongChangeNotifications()).Returns(Observable.Never<Unit>());
            playApi.Setup(x => x.NowPlaying()).Returns(Observable.Return(Fakes.GetSong()));
            playApi.Setup(x => x.Queue()).Returns(Observable.Return(Fakes.GetAlbum()));
            playApi.Setup(x => x.FetchImageForAlbum(It.IsAny<Song>())).Returns(Observable.Return<BitmapImage>(null));

            kernel.GetMock<IScreen>().Setup(x => x.Router).Returns(router);

            kernel.GetMock<ILoginMethods>()
                .Setup(x => x.EraseCredentialsAndNavigateToLogin())
                .Callback(() => router.Navigate.Execute(kernel.Get<IWelcomeViewModel>()));

            kernel.GetMock<ILoginMethods>()
                .Setup(x => x.CurrentAuthenticatedClient)
                .Returns(kernel.Get<IPlayApi>());

            if (extraSetup != null) extraSetup();

            RxApp.ConfigureServiceLocator((t,s) => kernel.Get(t,s), (t,s) => kernel.GetAll(t,s));
            return kernel.Get<IPlayViewModel>();
        }
 private void CreateMockIOCKernel()
 {
     _iocKernel = new MoqMockingKernel();
      _iocKernel.Bind<ISessionFactory>().ToConstant( _sessionFactory.Object );
 }