public void TemporaryInstance_Deletes_Instance_If_Start_Fails() { // Arrange var mock = new Mock <ISqlLocalDbApi>(); mock.Setup((p) => p.LatestVersion) .Returns("v99.9"); mock.Setup((p) => p.CreateInstance(It.IsAny <string>(), "v99.9")) .Verifiable(); mock.Setup((p) => p.StartInstance(It.IsAny <string>())) .Throws <PlatformNotSupportedException>(); mock.Setup((p) => p.DeleteInstance(It.IsAny <string>())) .Verifiable(); ISqlLocalDbApi api = mock.Object; using (TemporarySqlLocalDbInstance target = api.CreateTemporaryInstance()) { // Act and Assert Assert.Throws <PlatformNotSupportedException>(() => target.GetInstanceInfo()); } mock.Verify(); }
public void TemporaryInstance_Ignores_Exception_If_Stop_Fails(int errorCode) { // Arrange var mock = new Mock <ISqlLocalDbApi>(); mock.Setup((p) => p.LatestVersion) .Returns("v99.9"); mock.Setup((p) => p.CreateInstance(It.IsAny <string>(), "v99.9")) .Verifiable(); mock.Setup((p) => p.StartInstance(It.IsAny <string>())) .Verifiable(); mock.Setup((p) => p.StopInstance(It.IsAny <string>(), null)) .Throws(new SqlLocalDbException("Error", errorCode)) .Verifiable(); mock.Setup((p) => p.DeleteInstance(It.IsAny <string>())) .Verifiable(); ISqlLocalDbApi api = mock.Object; // Act using (TemporarySqlLocalDbInstance target = api.CreateTemporaryInstance()) { target.GetInstanceInfo(); } // Assert mock.Verify(); }
public void CreateTemporaryInstance_Throws_If_Api_Is_Null() { // Arrange ISqlLocalDbApi api = null; // Act and Assert Assert.Throws <ArgumentNullException>("api", () => api.CreateTemporaryInstance()); }
public static void TemporaryInstance_Ignores_Exception_If_Delete_Fails(int errorCode) { // Arrange if (!SqlLocalDbApi.IsWindows) { // HACK Theories dont seem to work correctly with subclasses now // so cannot make a derived class for a "Windows-only" theory. return; } // Arrange var mock = new Mock <ISqlLocalDbApi>(); mock.Setup((p) => p.LatestVersion) .Returns("v99.9"); mock.Setup((p) => p.CreateInstance(It.IsAny <string>(), "v99.9")) .Verifiable(); mock.Setup((p) => p.StartInstance(It.IsAny <string>())) .Verifiable(); mock.Setup((p) => p.StopInstance(It.IsAny <string>(), null)) .Verifiable(); mock.Setup((p) => p.DeleteInstance(It.IsAny <string>())) .Throws(new SqlLocalDbException("Error", errorCode)) .Verifiable(); ISqlLocalDbApi api = mock.Object; // Act using (TemporarySqlLocalDbInstance target = api.CreateTemporaryInstance()) { target.GetInstanceInfo(); } // Assert mock.Verify(); }