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); }
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); }
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); } }
public void SqlFullTextIndexQuerierShouldNotBeAvailableForSqlDw() { SmoQuerier querier = GetSmoQuerier(typeof(FullTextIndex)); Assert.False(querier.ValidFor.HasFlag(ValidForFlag.SqlDw)); }
public void SqlTriggerQuerierShouldNotBeAvailableForSqlDw() { SmoQuerier querier = GetSmoQuerier(typeof(Trigger)); Assert.False(querier.ValidFor.HasFlag(ValidForFlag.SqlDw)); }