public void TemporarySqlLocalDbInstance_Create_Creates_Temporary_Instance_With_Random_Name() { string instanceName; // Act using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { // Assert Assert.IsNotNull(target.Instance, "TemporarySqlLocalDbInstance.Instance is null."); instanceName = target.Instance.Name; Assert.IsTrue(Guid.TryParse(instanceName, out Guid unused), "The random instance name is not a valid GUID."); // Check the instance was created AssertExistence(instanceName, exists: true); // The instance is not running if there is no pipe open Assert.IsFalse(string.IsNullOrEmpty(target.Instance.NamedPipe), "The temporary SQL LocalDB instance has not been started."); Assert.IsFalse(target.DeleteFiles, "TemporarySqlLocalDbInstance.DeleteFiles is incorrect."); Assert.AreEqual(target.Instance.Name, target.Name, "TemporarySqlLocalDbInstance.Name is incorrect."); Assert.AreEqual(target.Instance.NamedPipe, target.NamedPipe, "TemporarySqlLocalDbInstance.NamedPipe is incorrect."); } // The instance should have been deleted AssertExistence(instanceName, exists: false); AssertFileExistence(instanceName, shouldFilesExist: true); // Verify that the same random name isn't used again using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { Assert.AreNotEqual(instanceName, target.Instance.Name, "The same random name was used to generate a temporary instance."); } }
public void TemporarySqlLocalDbInstance_GetInstanceInfo_Returns_ISqlLocalDbInstanceInfo() { // Arrange using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { // Act ISqlLocalDbInstanceInfo result = target.GetInstanceInfo(); // Assert Assert.IsNotNull(result, "GetInstanceInfo() returned null."); } }
public void TemporarySqlLocalDbInstance_CreateConnectionStringBuilder_Creates_SqlConnectionStringBuilder() { // Arrange using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { // Act SqlConnectionStringBuilder result = target.CreateConnectionStringBuilder(); // Assert Assert.IsNotNull(result, "CreateConnectionStringBuilder() returned null."); } }
public void TemporarySqlLocalDbInstance_CreateConnection_Creates_Connection() { // Arrange using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { // Act using (SqlConnection result = target.CreateConnection()) { // Assert Assert.IsNotNull(result, "CreateConnection() returned null."); } } }
public void TemporarySqlLocalDbInstance_Create_Creates_Temporary_Instance_With_Random_Name_And_Deletes_If_SqlLocalDbApi_AutomaticallyDeleteInstanceFiles_Is_True() { // Arrange Helpers.InvokeInNewAppDomain( () => { SqlLocalDbApi.AutomaticallyDeleteInstanceFiles = true; SqlLocalDbApi.StopOptions = StopInstanceOptions.NoWait; string instanceName; // Act using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { // Assert Assert.IsNotNull(target.Instance, "TemporarySqlLocalDbInstance.Instance is null."); instanceName = target.Instance.Name; Guid notUsed; Assert.IsTrue(Guid.TryParse(instanceName, out notUsed), "The random instance name is not a valid GUID."); // Check the instance was created AssertExistence(instanceName, exists: true); // The instance is not running if there is no pipe open Assert.IsFalse(string.IsNullOrEmpty(target.Instance.NamedPipe), "The temporary SQL LocalDB instance has not been started."); Assert.IsTrue(target.DeleteFiles, "TemporarySqlLocalDbInstance.DeleteFiles is incorrect."); Assert.AreEqual(target.Instance.Name, target.Name, "TemporarySqlLocalDbInstance.Name is incorrect."); Assert.AreEqual(target.Instance.NamedPipe, target.NamedPipe, "TemporarySqlLocalDbInstance.NamedPipe is incorrect."); } // The instance should have been deleted AssertExistence(instanceName, exists: false); AssertFileExistence(instanceName, shouldFilesExist: false); // Verify that the same random name isn't used again using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create()) { Assert.AreNotEqual(instanceName, target.Instance.Name, "The same random name was used to generate a temporary instance."); } }); }
public void TemporarySqlLocalDbInstance_Create_With_DeleteFiles_Parameter_Creates_Temporary_Instance_With_Random_Name_And_Deletes_Files_When_Disposed() { // Arrange Helpers.InvokeInNewAppDomain( () => { // Set the property to false to ensure that the parameter is used to control deletion not the property SqlLocalDbApi.AutomaticallyDeleteInstanceFiles = false; SqlLocalDbApi.StopOptions = StopInstanceOptions.NoWait; string instanceName; bool deleteFiles = true; // Act using (TemporarySqlLocalDbInstance target = TemporarySqlLocalDbInstance.Create(deleteFiles)) { // Assert Assert.IsNotNull(target.Instance, "TemporarySqlLocalDbInstance.Instance is null."); instanceName = target.Instance.Name; Guid notUsed; Assert.IsTrue(Guid.TryParse(instanceName, out notUsed), "The random instance name is not a valid GUID."); // Check the instance was created AssertExistence(instanceName, exists: true); // The instance is not running if there is no pipe open Assert.IsFalse(string.IsNullOrEmpty(target.Instance.NamedPipe), "The temporary SQL LocalDB instance has not been started."); Assert.IsTrue(target.DeleteFiles, "TemporarySqlLocalDbInstance.DeleteFiles is incorrect."); Assert.AreEqual(target.Instance.Name, target.Name, "TemporarySqlLocalDbInstance.Name is incorrect."); Assert.AreEqual(target.Instance.NamedPipe, target.NamedPipe, "TemporarySqlLocalDbInstance.NamedPipe is incorrect."); } // The instance should have been deleted AssertExistence(instanceName, exists: false); AssertFileExistence(instanceName, shouldFilesExist: false); }); }