示例#1
0
        public void ShouldFindDatabaseQuerierFromRealPath()
        {
            // Given the extension type loader is set to find SmoCollectionQuerier objects
            IMultiServiceProvider serviceProvider = ExtensionServiceProvider.CreateDefaultServiceProvider();
            // When I request a database compatible querier
            SmoQuerier querier = serviceProvider.GetService <SmoQuerier>(q => q.SupportedObjectTypes.Contains(typeof(Database)));

            // Then I expect to get back the SqlDatabaseQuerier
            Assert.NotNull(querier);
            Assert.Equal(typeof(SqlDatabaseQuerier), querier.GetType());

            // And I expect the service provider to have been set by the extension code
            Assert.NotNull(querier.ServiceProvider);
        }
示例#2
0
        private SmoQuerier GetSmoQuerier(Type querierType)
        {
            // Given the extension type loader is set to find SmoCollectionQuerier objects
            IMultiServiceProvider serviceProvider = ExtensionServiceProvider.CreateDefaultServiceProvider();
            // When I request a compatible querier
            SmoQuerier querier = serviceProvider.GetService <SmoQuerier>(q => q.SupportedObjectTypes.Contains(querierType));

            // Then I expect to get back the Querier
            Assert.NotNull(querier);

            // And I expect the service provider to have been set by the extension code
            Assert.NotNull(querier.ServiceProvider);

            return(querier);
        }
示例#3
0
        private static void VerifyQuerierLookup(Type smoType, Type querierType, bool expectExists)
        {
            ExtensionServiceProvider serviceProvider = ExtensionServiceProvider.Create(new Type[] {
                typeof(SqlTableQuerier),
                typeof(SqlLinkedServerQuerier)
            });
            SmoQuerier querier = serviceProvider.GetService <SmoQuerier>(q => q.SupportedObjectTypes.Contains(smoType));

            if (expectExists)
            {
                Assert.NotNull(querier);
                Assert.Equal(querierType, querier.GetType());
                Assert.NotNull(querier.ServiceProvider);
            }
            else
            {
                Assert.Null(querier);
            }
        }
示例#4
0
        public void SqlFullTextIndexQuerierShouldNotBeAvailableForSqlDw()
        {
            SmoQuerier querier = GetSmoQuerier(typeof(FullTextIndex));

            Assert.False(querier.ValidFor.HasFlag(ValidForFlag.SqlDw));
        }
示例#5
0
        public void SqlTriggerQuerierShouldNotBeAvailableForSqlDw()
        {
            SmoQuerier querier = GetSmoQuerier(typeof(Trigger));

            Assert.False(querier.ValidFor.HasFlag(ValidForFlag.SqlDw));
        }