Beispiel #1
0
        public void IsDatabaseFullyUpgraded_returns_false_if_lazy_upgrader_throws_exception(IConnectionStringProvider connectionStringProvider,
                                                                                            ILog logger)
        {
            // Arrange
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => { throw new Exception(); }),
                                               logger);

            // Act
            var result = sut.IsDatabaseFullyUpgraded();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #2
0
        public void IsConnectionStringAvailable_returns_false_if_lazy_connection_string_provider_returns_null(IPerformsDatabaseUpgrades upgrader,
                                                                                                              ILog logger)
        {
            // Arrange
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => null),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsConnectionStringAvailable();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #3
0
        public void IsConnectionStringAvailable_returns_false_if_connection_string_getter_throws_an_exception(IConnectionStringProvider connectionStringProvider,
                                                                                                              IPerformsDatabaseUpgrades upgrader,
                                                                                                              ILog logger)
        {
            // Arrange
            Mock.Get(connectionStringProvider).Setup(x => x.GetConnectionStringSettings()).Throws <Exception>();
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsConnectionStringAvailable();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #4
0
        public void IsDatabaseConnectionPossible_returns_false_if_connection_string_is_null(IConnectionStringProvider connectionStringProvider,
                                                                                            IPerformsDatabaseUpgrades upgrader,
                                                                                            ILog logger)
        {
            // Arrange
            Mock.Get(connectionStringProvider).Setup(x => x.GetConnectionStringSettings()).Returns(() => null);
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseConnectionPossible();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #5
0
        public void IsDatabaseFullyUpgraded_returns_true_if_upgrader_returns_empty_set_of_upgrades(IConnectionStringProvider connectionStringProvider,
                                                                                                   IPerformsDatabaseUpgrades upgrader,
                                                                                                   ILog logger)
        {
            // Arrange
            Mock.Get(upgrader).Setup(x => x.GetPendingUpgrades()).Returns(new IUpgradeName[0]);
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseFullyUpgraded();

            // Assert
            Assert.That(result, Is.True);
        }
Beispiel #6
0
        public void IsDatabaseFullyUpgraded_returns_false_if_upgrader_throws_exception(IConnectionStringProvider connectionStringProvider,
                                                                                       IPerformsDatabaseUpgrades upgrader,
                                                                                       ILog logger)
        {
            // Arrange
            Mock.Get(upgrader).Setup(x => x.GetPendingUpgrades()).Throws <Exception>();
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseFullyUpgraded();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #7
0
        public void IsDatabaseFullyUpgraded_returns_false_if_upgrader_returns_upgrades_to_be_done(IConnectionStringProvider connectionStringProvider,
                                                                                                  IPerformsDatabaseUpgrades upgrader,
                                                                                                  IUpgradeName upgrade,
                                                                                                  ILog logger)
        {
            // Arrange
            Mock.Get(upgrader).Setup(x => x.GetPendingUpgrades()).Returns(new [] { upgrade });
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseFullyUpgraded();

            // Assert
            Assert.That(result, Is.False);
        }
Beispiel #8
0
        public void IsDatabaseConnectionPossible_returns_true_if_connection_string_is_valid(IConnectionStringProvider connectionStringProvider,
                                                                                            IPerformsDatabaseUpgrades upgrader,
                                                                                            ILog logger)
        {
            // Arrange
            var dataSource       = validDbPath;
            var connectionString = GetSqliteConnectionString(dataSource);

            Mock.Get(connectionStringProvider)
            .Setup(x => x.GetConnectionStringSettings())
            .Returns(() => new ConnectionStringSettings(ConnStringName, connectionString, providerName));
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseConnectionPossible();

            // Assert
            Assert.That(result, Is.True);
        }
Beispiel #9
0
        public void IsDatabaseConnectionPossible_returns_false_if_connection_string_is_invalid(IConnectionStringProvider connectionStringProvider,
                                                                                               IPerformsDatabaseUpgrades upgrader,
                                                                                               ILog logger)
        {
            // Arrange
            // Note that this assumption would fail for Mono on Windows, but not important enough to over-engineer
            var dataSource = invalidDbPath;
            var invalidConnectionString = GetSqliteConnectionString(dataSource);

            Mock.Get(connectionStringProvider)
            .Setup(x => x.GetConnectionStringSettings())
            .Returns(() => new ConnectionStringSettings(ConnStringName, invalidConnectionString, providerName));
            var sut = new SqliteDatabaseTester(new Lazy <IConnectionStringProvider>(() => connectionStringProvider),
                                               new Lazy <IPerformsDatabaseUpgrades>(() => upgrader),
                                               logger);

            // Act
            var result = sut.IsDatabaseConnectionPossible();

            // Assert
            Assert.That(result, Is.False);
        }