/// <summary> /// Ensures that the specified SQL Server LocalDB version is installed on the current machine. /// </summary> /// <param name="majorVersion">The major version of SQL Server LocalDB required.</param> /// <remarks> /// Any unit test calling this method is marked as Inconclusive if the required version of /// SQL Server LocalDB is not installed on the local machine. /// </remarks> public static void EnsureLocalDBVersionInstalled(int majorVersion) { ISqlLocalDbProvider provider = new SqlLocalDbProvider(); if (!provider.GetVersions().Any((p) => p.Version.Major == majorVersion)) { Assert.Inconclusive($"SQL Server LocalDB v{majorVersion} is not installed on {Environment.MachineName}."); } }
public void SqlLocalDbProvider_GetVersions_Returns_Installed_Versions() { // Arrange Helpers.EnsureLocalDBInstalled(); SqlLocalDbProvider target = new SqlLocalDbProvider(); // Act IList <ISqlLocalDbVersionInfo> result = target.GetVersions(); // Assert Assert.IsNotNull(result, "GetVersions() returned null."); Assert.IsTrue(result.Count > 0, "No versions were returned by GetVersions()."); CollectionAssert.AllItemsAreNotNull(result.ToList(), "GetVersions() returned a null instance."); }
internal static void Main(string[] args) { PrintBanner(); ISqlLocalDbApi localDB = new SqlLocalDbApiWrapper(); if (!localDB.IsLocalDBInstalled()) { Console.WriteLine(SR.SqlLocalDbApi_NotInstalledFormat, Environment.MachineName); return; } if (args != null && args.Length == 1 && string.Equals(args[0], "/deleteuserinstances", StringComparison.OrdinalIgnoreCase)) { SqlLocalDbApi.DeleteUserInstances(deleteFiles: true); } ISqlLocalDbProvider provider = new SqlLocalDbProvider(); IList<ISqlLocalDbVersionInfo> versions = provider.GetVersions(); Console.WriteLine(Strings.Program_VersionsListHeader); Console.WriteLine(); foreach (ISqlLocalDbVersionInfo version in versions) { Console.WriteLine(version.Name); } Console.WriteLine(); IList<ISqlLocalDbInstanceInfo> instances = provider.GetInstances(); Console.WriteLine(Strings.Program_InstancesListHeader); Console.WriteLine(); foreach (ISqlLocalDbInstanceInfo instanceInfo in instances) { Console.WriteLine(instanceInfo.Name); } Console.WriteLine(); string instanceName = Guid.NewGuid().ToString(); ISqlLocalDbInstance instance = provider.CreateInstance(instanceName); instance.Start(); try { if (IsCurrentUserAdmin()) { instance.Share(Guid.NewGuid().ToString()); } try { using (SqlConnection connection = instance.CreateConnection()) { connection.Open(); try { using (SqlCommand command = new SqlCommand("create database [MyDatabase]", connection)) { command.ExecuteNonQuery(); } using (SqlCommand command = new SqlCommand("drop database [MyDatabase]", connection)) { command.ExecuteNonQuery(); } } finally { connection.Close(); } } } finally { if (IsCurrentUserAdmin()) { instance.Unshare(); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { instance.Stop(); localDB.DeleteInstance(instance.Name); } Console.WriteLine(); Console.Write(Strings.Program_ExitPrompt); Console.ReadKey(); }
internal static void Main(string[] args) { PrintBanner(); ISqlLocalDbApi localDB = new SqlLocalDbApiWrapper(); if (!localDB.IsLocalDBInstalled()) { Console.WriteLine(SR.SqlLocalDbApi_NotInstalledFormat, Environment.MachineName); return; } if (args?.Length == 1 && string.Equals(args[0], "/deleteuserinstances", StringComparison.OrdinalIgnoreCase)) { SqlLocalDbApi.DeleteUserInstances(deleteFiles: true); } ISqlLocalDbProvider provider = new SqlLocalDbProvider(); IList <ISqlLocalDbVersionInfo> versions = provider.GetVersions(); Console.WriteLine(Strings.Program_VersionsListHeader); Console.WriteLine(); foreach (ISqlLocalDbVersionInfo version in versions) { Console.WriteLine(version.Name); } Console.WriteLine(); IList <ISqlLocalDbInstanceInfo> instances = provider.GetInstances(); Console.WriteLine(Strings.Program_InstancesListHeader); Console.WriteLine(); foreach (ISqlLocalDbInstanceInfo instanceInfo in instances) { Console.WriteLine(instanceInfo.Name); } Console.WriteLine(); string instanceName = Guid.NewGuid().ToString(); ISqlLocalDbInstance instance = provider.CreateInstance(instanceName); instance.Start(); try { if (IsCurrentUserAdmin()) { instance.Share(Guid.NewGuid().ToString()); } try { using (SqlConnection connection = instance.CreateConnection()) { connection.Open(); try { using (SqlCommand command = new SqlCommand("create database [MyDatabase]", connection)) { command.ExecuteNonQuery(); } using (SqlCommand command = new SqlCommand("drop database [MyDatabase]", connection)) { command.ExecuteNonQuery(); } } finally { connection.Close(); } } } finally { if (IsCurrentUserAdmin()) { instance.Unshare(); } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { instance.Stop(); localDB.DeleteInstance(instance.Name); } Console.WriteLine(); Console.Write(Strings.Program_ExitPrompt); Console.ReadKey(); }
public void SqlLocalDbProvider_GetVersions_Returns_Installed_Versions() { // Arrange Helpers.EnsureLocalDBInstalled(); SqlLocalDbProvider target = new SqlLocalDbProvider(); // Act IList<ISqlLocalDbVersionInfo> result = target.GetVersions(); // Assert Assert.IsNotNull(result, "GetVersions() returned null."); Assert.IsTrue(result.Count > 0, "No versions were returned by GetVersions()."); CollectionAssert.AllItemsAreNotNull(result.ToList(), "GetVersions() returned a null instance."); }