public void ConfigureConfiguresInstanceStore()
        {
            using (var testdb = new SqlWorkflowInstanceStoreTest())
            {
                // Arrange
                testdb.Create();

                // Act
                testdb.ConfigureInstanceStore();

                // Assert
                testdb.AssertDatabaseIsConfigured();
            }
        }
        public void ConfigureInstanceStoreShouldConfigure()
        {
            using (var testdb = new SqlWorkflowInstanceStoreTest())
            {
                // Arrange

                // Create a plain database without running the scripts
                testdb.Create();

                // Act
                // Configure the database with the scripts
                SqlWorkflowInstanceStoreManager.ConfigureInstanceStore(
                    testdb.DatabaseName,
                    testdb.ConnectionString);

                // Assert
                testdb.AssertDatabaseIsConfigured();
            }
        }
        public void ConfigureInstanceStoreWithEvilDbShouldThrow()
        {
            using (var testdb = new SqlWorkflowInstanceStoreTest())
            {
                // Arrange

                // Create a plain database without running the scripts
                testdb.Create();

                // Act
                SqlWorkflowInstanceStoreManager.ConfigureInstanceStore(
                    EvilDatabase, testdb.ConnectionString);

                // Assert
                testdb.AssertDatabaseIsConfigured();
            }
        }
        public void CreateShouldCreateInstanceStore()
        {
            using (var testdb = new SqlWorkflowInstanceStoreTest())
            {
                // Arrange

                // Act
                SqlWorkflowInstanceStoreManager.CreateInstanceStore(
                    testdb.DatabaseName,
                    testdb.ConnectionString,
                    true);

                // Assert
                Assert.IsTrue(testdb.Exists(), "Database does not exist");
                testdb.AssertDatabaseIsConfigured();
            }
        }
        public void ConfigureInstanceStoreWithInvalidDbShouldThrow()
        {
            using (var testdb = new SqlWorkflowInstanceStoreTest())
            {
                // Arrange

                // Act
                SqlWorkflowInstanceStoreManager.ConfigureInstanceStore(
                    string.Empty, testdb.ConnectionString);

                // Assert
                testdb.AssertDatabaseIsConfigured();
            }
        }