public void Install_should_install_if_a_package_has_not_been_installed_yet() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var proj = fixture.Freeze<Project>(); var pwPkg = new ProjectWidePackage("Prig", "2.0.0", proj); var mocks = new MockRepository(MockBehavior.Strict); { var m = mocks.Create<IVsPackageInstallerServices>(); m.Setup(_ => _.IsPackageInstalledEx(proj, "Prig", "2.0.0")).Returns(false); m.Setup(_ => _.IsPackageInstalled(proj, "Prig")).Returns(false); fixture.Inject(m); } { var m = mocks.Create<IVsPackageUninstaller>(); fixture.Inject(m); } { var m = mocks.Create<IVsPackageInstaller>(); m.Setup(_ => _.InstallPackage(default(string), proj, "Prig", "2.0.0", false)); fixture.Inject(m); } var pwInstllr = fixture.NewProjectWideInstaller(); // Act pwInstllr.Install(pwPkg); // Assert mocks.VerifyAll(); }
public void SerializeTest() { var mockRepository = new MockRepository(MockBehavior.Strict); var mockTimeSpan = mockRepository.Create<IStringSerializer<TimeSpan>>(); var mockDaysOfWeek = mockRepository.Create<IStringSerializer<DaysOfWeek>>(); var mockIEnumerableDateTime = mockRepository.Create<IStringSerializer<IEnumerable<DateTime>>>(); var timeSpanRuleInfoSerializer = new TimeSpanRuleInfoSerializer(mockTimeSpan.Object, mockDaysOfWeek.Object, mockIEnumerableDateTime.Object); var expMin = new TimeSpan(150); var expMax = new TimeSpan(250); var expDaysOfWeek = new DaysOfWeek(DayOfWeek.Monday, DayOfWeek.Thursday); var expDateTimes = new[] {new DateTime(1), new DateTime(100), new DateTime(500)}; var exp = new TimeSpanRuleInfo(expMin, expMax, expDaysOfWeek, expDateTimes); mockTimeSpan.Setup(x => x.Serialize(expMin)).Returns("150").Verifiable(); mockTimeSpan.Setup(x => x.Serialize(expMax)).Returns("250").Verifiable(); mockDaysOfWeek.Setup(x => x.Serialize(expDaysOfWeek)).Returns("1,4").Verifiable(); mockIEnumerableDateTime.Setup(x => x.Serialize(expDateTimes)).Returns("datetimes").Verifiable(); Assert.AreEqual("150\x001E250\x001E1,4\x001Edatetimes", timeSpanRuleInfoSerializer.Serialize(exp)); mockRepository.VerifyAll(); }
public async Task InvokeErrorTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware)null); var ctx = mr.Create<IOwinContext>(); var logger = mr.Create<ILog>(); var exception = new Exception(); var request = mr.Create<IOwinRequest>(); ctx.SetupGet(x => x.Request).Returns(request.Object).Verifiable(); logger.Setup(x => x.Info(It.IsAny<string>())).Throws(exception); request.SetupGet(x => x.Method).Returns("fasefaes").Verifiable(); request.SetupGet(x => x.Uri).Returns(new Uri("http://ya.ru")).Verifiable(); request.SetupGet(x => x.RemoteIpAddress).Returns("asefasergsdrg").Verifiable(); request.SetupGet(x => x.RemotePort).Returns(11).Verifiable(); var mw = new LoggerMiddleware(next.Object, logger.Object); try { await mw.Invoke(ctx.Object); } catch (Exception e) { Assert.AreEqual(exception, e); return; } finally { mr.VerifyAll(); } Assert.Fail(); }
public async Task InvokeTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware) null); var ctx = mr.Create<IOwinContext>(); var logger = mr.Create<ILog>(); var exception = new Exception(); logger.Setup(x => x.Fatal(It.IsAny<object>(), exception)).Verifiable(); next.Setup(x => x.Invoke(ctx.Object)).Returns(async () => { await Task.Delay(1); throw exception; }).Verifiable(); var mw = new ExceptionHandlerMiddleware(next.Object, logger.Object); try { await mw.Invoke(ctx.Object); } catch (Exception e) { Assert.AreEqual(exception, e); } mr.VerifyAll(); }
public async Task Add_BadRequest_InvalidQuantity() { var repo = new Moq.MockRepository(Moq.MockBehavior.Strict); var cartId = 42; var items = new System.Collections.Generic.Dictionary <string, int>() { { "article1", 0 } }; var queryItems = new webapi.Controllers.CartItems { Items = items }; var cartItems = new cart.grain.CartItems { Items = items }; // initialize grain var cartGrain = repo.Create <ICart>(); cartGrain.Setup(x => x.Add(It.IsAny <cart.grain.CartItems>())).Returns(Task.FromResult((CartItemsStatusCode.InvalidQuantity, cartItems))); // initialize grain factory var grainFactory = repo.Create <IGrainFactory>(); grainFactory.Setup(x => x.GetGrain <ICart>(cartId)).Returns(cartGrain.Object); var controller = new webapi.Controllers.CartController(grainFactory.Object); var response = await controller.Add(cartId, queryItems) as BadRequestObjectResult; Assert.AreEqual(400, response.StatusCode); repo.VerifyAll(); }
public async Task InvokeTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware)null); var ctx = mr.Create<IOwinContext>(); var cidStore = mr.Create<ICorrelationIdStore>(); var response = mr.Create<IOwinResponse>(); var hDict = new HeaderDictionary(new Dictionary<string, string[]>()); var correlationId = new CorrelationId(); next.Setup(x => x.Invoke(ctx.Object)).Returns(Task.CompletedTask).Verifiable(); ctx.SetupGet(x => x.Response).Returns(response.Object).Verifiable(); response.SetupGet(x => x.Headers).Returns(hDict).Verifiable(); cidStore.Setup(x => x.Read()).Returns(correlationId).Verifiable(); Assert.AreEqual(0, hDict.Count); var midleware = new SetCorrelationIdHeaderMiddleware(next.Object, cidStore.Object); await midleware.Invoke(ctx.Object); Assert.AreEqual(1, hDict.Count); var actual = hDict["X-CORRELATIONID"]; Assert.AreEqual(correlationId.ToString(), actual); mr.VerifyAll(); }
public void NotSpecification_IsSatisfiedBy_SpecificationTrue_False() { var mockRepository = new MockRepository(MockBehavior.Strict); var singleSpecification = mockRepository.CreateSpecificationMock<string>(true); var specification = new NotSpecification<string>(singleSpecification); Assert.AreEqual(false, specification.IsSatisfiedBy("test")); mockRepository.VerifyAll(); }
public void Ensure_valid_prices_would_be_updated() { //Arrange. var currentDate = DateTime.Today; var price = new Price(10, currentDate.AddDays(-1)); var pricesToUpdate = new List<Price>{ price }; var repo = new MockRepository(MockBehavior.Loose); var transactionMock = repo.Create<ITransaction>(); transactionMock .Setup(x => x.Commit()) .Verifiable(); var queryMock = repo.Create<IQuery>(); queryMock .Setup(x => x.SetParameter("currentDate", currentDate)) .Returns(queryMock.Object); queryMock .Setup(x => x.List<Price>()) .Returns(pricesToUpdate); var sessionMock = repo.Create<ISession>(); sessionMock .Setup(x => x.BeginTransaction()) .Returns(transactionMock.Object) .Verifiable(); sessionMock .Setup(x => x.CreateQuery("from Price p where p.ValidFrom <= :currentDate and :currentDate <= p.ValidTo")) .Returns(queryMock.Object); var sessionFactoryMock = repo.Create<ISessionManager>(); sessionFactoryMock .Setup(x => x.OpenSession()) .Returns(sessionMock.Object); var clockMock = repo.Create<IClock>(); clockMock .SetupGet( x => x.Today) .Returns(currentDate); var rateProviderMock = repo.Create<IRateProvider>(); rateProviderMock .Setup(x => x.GetRateOn(currentDate)) .Returns(32.5m); var task = new UpdatePricesTask(sessionFactoryMock.Object, clockMock.Object, rateProviderMock.Object); //Act. task.Run(); //Assert. Assert.That(price.LocalAmount, Is.EqualTo(325)); repo.VerifyAll(); }
private void AssertIsSatisfiedBy(bool leftSpecificationIsSatisfiedBy, bool rightSpecificationIsSatisfiedBy, bool expected) { var mockRepository = new MockRepository(MockBehavior.Strict); var leftSpecification = mockRepository.CreateSpecificationMock<string>(leftSpecificationIsSatisfiedBy); var rightSpecification = leftSpecificationIsSatisfiedBy ? mockRepository.CreateSpecificationMock<string>() : mockRepository.CreateSpecificationMock<string>(rightSpecificationIsSatisfiedBy); var specification = new OrSpecification<string>(leftSpecification, rightSpecification); Assert.AreEqual(expected, specification.IsSatisfiedBy("test")); mockRepository.VerifyAll(); }
public async Task InvokeTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware)null); var ctx = mr.Create<IOwinContext>(); var wrappersManager = mr.Create<IWrappersManager>(); next.Setup(x => x.Invoke(ctx.Object)).Returns(Task.CompletedTask).Verifiable(); wrappersManager.Setup(x => x.InitializeAll()).Verifiable(); wrappersManager.Setup(x => x.DisposeAll()).Verifiable(); var mw = new InitializeWrappersMiddleware(next.Object, wrappersManager.Object); await mw.Invoke(ctx.Object); mr.VerifyAll(); }
public async Task InvokeNullTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware) null); var ctx = mr.Create<IOwinContext>(); var logger = mr.Create<ILog>(); next.Setup(x => x.Invoke(ctx.Object)).Returns(() => null).Verifiable(); var mw = new ExceptionHandlerMiddleware(next.Object, logger.Object); await mw.Invoke(ctx.Object); mr.VerifyAll(); }
public async Task InvokeTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware)null); var ctx = mr.Create<IOwinContext>(); var response = mr.Create<IOwinResponse>(); const string redirectToPage = "http://ya.ru"; ctx.SetupGet(x => x.Response).Returns(response.Object).Verifiable(); response.Setup(x => x.Redirect(redirectToPage)).Verifiable(); var midleware = new RedirectMiddleware(next.Object, redirectToPage); await midleware.Invoke(ctx.Object); mr.VerifyAll(); }
public void ShouldVerifyAll() { try { var repository = new MockRepository(MockBehavior.Default); var mock = repository.Create<IFoo>(); mock.Setup(foo => foo.Do()); repository.VerifyAll(); } catch (MockException mex) { Assert.AreEqual(MockException.ExceptionReason.VerificationFailed, mex.Reason); } }
public void SafeTypeUsingTest() { var mockRepository = new MockRepository(MockBehavior.Strict); Mock<ISqlTypeHelper> sqltypeHelperMock = mockRepository.Create<ISqlTypeHelper>(); Mock<ISqlNativeTypeStringCreator> sqlNativestringCreatorHelperMock = mockRepository.Create<ISqlNativeTypeStringCreator>(); var sqlDescriptionAttributes = new Dictionary<PropertyInfo, SqlDescriptionAttribute> { { typeof (Person).GetProperty("Id"), new SqlDescriptionAttribute("Id", SqlDbType.Int) }, { typeof (Person).GetProperty("Name"), new SqlDescriptionAttribute("Name", SqlDbType.NVarChar, 4000) } }; sqltypeHelperMock.Setup(x => x.Create(typeof (Person))).Returns(sqlDescriptionAttributes).Verifiable(); sqlNativestringCreatorHelperMock.Setup(x => x.Create("Id", SqlDbType.Int, null)) .Returns("\"Id\" int") .Verifiable(); sqlNativestringCreatorHelperMock.Setup(x => x.Create("Name", SqlDbType.NVarChar, 4000)) .Returns("\"Name\" nvarchar(4000)") .Verifiable(); using (IDbConnection con = new ConnectionFactory().Create()) { string name; dynamic res; const string selectFromSysTypesWhereNameName = "select * from sys.types where name = @Name"; using ( var safeTypeUsing = new SafeTypeUsing<Person>(con, sqltypeHelperMock.Object, sqlNativestringCreatorHelperMock.Object)) { name = safeTypeUsing.TypeName; res = con.Query(selectFromSysTypesWhereNameName, new {Name = name}).SingleOrDefault(); Assert.IsNotNull(res); } res = con.Query(selectFromSysTypesWhereNameName, new {Name = name}).SingleOrDefault(); Assert.IsNull(res); } mockRepository.VerifyAll(); }
public async Task InvokeTest() { var mr = new MockRepository(MockBehavior.Strict); var next = mr.Create<OwinMiddleware>(MockBehavior.Strict, (OwinMiddleware)null); var ctx = mr.Create<IOwinContext>(); var logger = mr.Create<ILog>(); var request = mr.Create<IOwinRequest>(); logger.Setup(x => x.Info(It.IsAny<string>())).Verifiable(); next.Setup(x => x.Invoke(ctx.Object)).Returns(Task.CompletedTask).Verifiable(); ctx.SetupGet(x => x.Request).Returns(request.Object).Verifiable(); request.SetupGet(x =>x.Method).Returns("fasefaes").Verifiable(); request.SetupGet(x =>x.Uri).Returns(new Uri("http://ya.ru")).Verifiable(); request.SetupGet(x =>x.RemoteIpAddress).Returns("asefasergsdrg").Verifiable(); request.SetupGet(x =>x.RemotePort).Returns(11).Verifiable(); var mw = new LoggerMiddleware(next.Object, logger.Object); await mw.Invoke(ctx.Object); mr.VerifyAll(); }
public async Task Remove_Ok() { var repo = new Moq.MockRepository(Moq.MockBehavior.Strict); var cartId = 42; var items = new System.Collections.Generic.Dictionary <string, int>() { { "article1", 3 } }; var queryItems = new webapi.Controllers.CartItems { Items = items }; var cartItems = new cart.grain.CartItems { Items = items }; var emptyCartItems = new cart.grain.CartItems(); // initialize grain var cartGrain = repo.Create <ICart>(); cartGrain.Setup(x => x.Remove(It.Is <cart.grain.CartItems>(o => o.Items["article1"] == 3))).Returns(Task.FromResult((CartItemsStatusCode.Ok, emptyCartItems))); // initialize grain factory var grainFactory = repo.Create <IGrainFactory>(); grainFactory.Setup(x => x.GetGrain <ICart>(cartId)).Returns(cartGrain.Object); var controller = new webapi.Controllers.CartController(grainFactory.Object); var response = await controller.Remove(cartId, queryItems) as OkObjectResult; Assert.AreEqual(200, response.StatusCode); var result = (webapi.Controllers.CartItems)response.Value; Assert.AreEqual(0, result.Items.Count); repo.VerifyAll(); }
public async Task Clear_Ok() { var repo = new Moq.MockRepository(Moq.MockBehavior.Strict); var cartId = 42; // initialize grain var cartGrain = repo.Create <ICart>(); cartGrain.Setup(x => x.Clear()).Returns(Task.CompletedTask); // initialize grain factory var grainFactory = repo.Create <IGrainFactory>(); grainFactory.Setup(x => x.GetGrain <ICart>(cartId)).Returns(cartGrain.Object); var controller = new webapi.Controllers.CartController(grainFactory.Object); var response = await controller.Clear(cartId) as OkResult; Assert.AreEqual(200, response.StatusCode); repo.VerifyAll(); }
public void Install_should_raise_the_event_to_register_profiler_before_and_after() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeUninstalledEnvironment(); var profLocs = new[] { new ProfilerLocation(RegistryView.Registry32, fixture.Create<string>()), new ProfilerLocation(RegistryView.Registry64, fixture.Create<string>()) }; { var m = fixture.Freeze<Mock<IEnvironmentRepository>>(); m.Setup(_ => _.GetProfilerLocations()).Returns(profLocs); m.Setup(_ => _.OpenRegistryBaseKey(RegistryHive.ClassesRoot, profLocs[0].RegistryView)).Returns(RegistryKeyMixin.DummyX86ClassesRootKey); m.Setup(_ => _.OpenRegistrySubKey(RegistryKeyMixin.DummyX86ClassesRootKey, ProfilerLocation.InprocServer32Path)).Returns(RegistryKeyMixin.DummyX86InProcServer32Key); m.Setup(_ => _.GetRegistryValue(RegistryKeyMixin.DummyX86InProcServer32Key, null)).Returns(fixture.Create<string>()); m.Setup(_ => _.OpenRegistryBaseKey(RegistryHive.ClassesRoot, profLocs[1].RegistryView)).Returns(RegistryKeyMixin.DummyX64ClassesRootKey); m.Setup(_ => _.OpenRegistrySubKey(RegistryKeyMixin.DummyX64ClassesRootKey, ProfilerLocation.InprocServer32Path)).Returns(RegistryKeyMixin.DummyX64InProcServer32Key); m.Setup(_ => _.GetRegistryValue(RegistryKeyMixin.DummyX64InProcServer32Key, null)).Returns(fixture.Create<string>()); } var stdouts = fixture.CreateMany<string>(2).ToArray(); { var m = fixture.Freeze<Mock<IRegsvr32Executor>>(); m.Setup(_ => _.StartInstalling(profLocs[0].PathOfInstalling)).Returns(stdouts[0]); m.Setup(_ => _.StartInstalling(profLocs[1].PathOfInstalling)).Returns(stdouts[1]); } var mocks = new MockRepository(MockBehavior.Strict); var order1 = new MockOrder(); var order2 = new MockOrder(); mwInstl.ProfilerRegistering += mocks.Create<Action<ProfilerLocation>>(). InOrder(order1, m => m.Setup(_ => _(profLocs[0]))). InOrder(order2, m => m.Setup(_ => _(profLocs[1]))).Object; mwInstl.ProfilerRegistered += mocks.Create<Action<string>>(). InOrder(order1, m => m.Setup(_ => _(stdouts[0]))). InOrder(order2, m => m.Setup(_ => _(stdouts[1]))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void Install_should_call_installation_steps_by_a_fixed_sequence() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var proj = fixture.Freeze<Project>(); var pwPkg = new ProjectWidePackage("Prig", "2.0.0", proj); var callback = default(Action); var metadataArr = fixture.CreateMany<IVsPackageMetadata>(3).ToArray(); { var m = fixture.Freeze<Mock<IVsPackageInstallerEvents>>(); callback = () => { m.Raise(_ => _.PackageInstalling += null, metadataArr[0]); m.Raise(_ => _.PackageInstalled += null, metadataArr[1]); m.Raise(_ => _.PackageReferenceAdded += null, metadataArr[2]); }; } { var m = fixture.Freeze<Mock<IVsPackageInstaller>>(); m.Setup(_ => _.InstallPackage(It.IsAny<string>(), It.IsAny<Project>(), It.IsAny<string>(), It.IsAny<string>(), It.IsAny<bool>())).Callback(callback); } var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); pwPkg.PackageInstalling += mocks.InOrder<VsPackageEventHandler>(order, m => m.Setup(_ => _(metadataArr[0]))).Object; pwPkg.PackageInstalled += mocks.InOrder<VsPackageEventHandler>(order, m => m.Setup(_ => _(metadataArr[1]))).Object; pwPkg.PackageReferenceAdded += mocks.InOrder<VsPackageEventHandler>(order, m => m.Setup(_ => _(metadataArr[2]))).Object; var pwInstllr = fixture.NewProjectWideInstaller(); // Act pwInstllr.Install(pwPkg); // Assert mocks.VerifyAll(); }
public void Uninstall_should_call_uninstallation_steps_by_a_fixed_sequence() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwUninstl = new MachineWideUninstallation("2.0.0"); fixture.FreezeInstalledEnvironment(); var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwUninstl.Preparing += mocks.InOrder<Action>(order, m => m.Setup(_ => _())).Object; mwUninstl.ProfilerStatusChecking += mocks.InOrder<Action<ProfilerLocation>>(order, m => m.Setup(_ => _(It.IsAny<ProfilerLocation>()))).Object; mwUninstl.DefaultSourceUninstalling += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.DefaultSourceUninstalled += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.ProfilerUnregistering += mocks.InOrder<Action<ProfilerLocation>>(order, m => m.Setup(_ => _(It.IsAny<ProfilerLocation>()))).Object; mwUninstl.ProfilerUnregistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.EnvironmentVariableUnregistering += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.EnvironmentVariableUnregistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.NuGetSourceUnregistering += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.NuGetSourceUnregistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwUninstl.Completed += mocks.InOrder<Action<MachineWideProcessResults>>(order, m => m.Setup(_ => _(It.IsAny<MachineWideProcessResults>()))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Uninstall(mwUninstl); // Assert mocks.VerifyAll(); }
public void Install_should_raise_the_event_to_create_Nupkg_before_and_after() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeUninstalledEnvironment(); var stdout = fixture.Create<string>(); { var m = fixture.Freeze<Mock<INuGetExecutor>>(); m.Setup(_ => _.StartPacking(It.IsAny<string>(), It.IsAny<string>())).Returns(stdout); } var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwInstl.NuGetPackageCreating += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _("Prig"))).Object; mwInstl.NuGetPackageCreated += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(stdout))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void ShouldAggregateFailures() { try { var repository = new MockRepository(MockBehavior.Loose); var foo = repository.Create<IFoo>(); var bar = repository.Create<IBar>(); foo.Setup(f => f.Do()); bar.Setup(b => b.Redo()); repository.VerifyAll(); } catch (MockException mex) { Expression<Action<IFoo>> fooExpect = f => f.Do(); Assert.IsTrue(mex.Message.Contains(fooExpect.ToString())); Expression<Action<IBar>> barExpect = b => b.Redo(); Assert.IsTrue(mex.Message.Contains(barExpect.ToString())); } }
public void Install_should_raise_the_event_to_register_environment_variables_before_and_after() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeUninstalledEnvironment(); var pkgDir = @"C:\ProgramData\chocolatey\lib\Prig"; var variableName = "URASANDESU_PRIG_PACKAGE_FOLDER"; var variableValue = pkgDir; { var m = fixture.Freeze<Mock<IEnvironmentRepository>>(); m.Setup(_ => _.GetPackageFolder()).Returns(pkgDir); m.Setup(_ => _.GetPackageFolderKey()).Returns(variableName); m.Setup(_ => _.StorePackageFolder(variableValue)); } var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwInstl.EnvironmentVariableRegistering += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(variableName, variableValue))).Object; mwInstl.EnvironmentVariableRegistered += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(variableName, variableValue))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void Install_should_raise_the_event_to_register_NuGet_source_before_and_after() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); var toolsPath = @"C:\ProgramData\chocolatey\lib\Prig\tools"; fixture.FreezeUninstalledEnvironment(toolsPath); var stdout = fixture.Create<string>(); { var m = fixture.Freeze<Mock<INuGetExecutor>>(); m.Setup(_ => _.StartSourcing(It.IsAny<string>(), It.IsAny<string>())).Returns(stdout); } var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwInstl.NuGetSourceRegistering += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _("Prig Source", toolsPath))).Object; mwInstl.NuGetSourceRegistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(stdout))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void RegisterToolsPath_should_set_tools_path_even_if_path_environment_variable_was_null() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var envRepos = new EnvironmentRepository(); var mocks = new MockRepository(MockBehavior.Strict); { var m = mocks.Create<Func<string, EnvironmentVariableTarget, string>>(); m.Setup(_ => _("ALLUSERSPROFILE", EnvironmentVariableTarget.Process)).Returns(@"C:\ProgramData"); m.Setup(_ => _("Path", EnvironmentVariableTarget.Process)).Returns(default(string)); m.Setup(_ => _("Path", EnvironmentVariableTarget.Machine)).Returns(default(string)); envRepos.EnvironmentGetEnvironmentVariable = m.Object; } { var m = mocks.Create<Action<string, string, EnvironmentVariableTarget>>(); m.Setup(_ => _("Path", @"C:\ProgramData\chocolatey\lib\Prig\tools", EnvironmentVariableTarget.Process)); envRepos.EnvironmentSetEnvironmentVariable = m.Object; } { var m = mocks.Create<Func<RegistryKey, string, bool, RegistryKey>>(); m.Setup(_ => _(Registry.LocalMachine, @"SYSTEM\CurrentControlSet\Control\Session Manager\Environment", true)).Returns(RegistryKeyMixin.DummyEnvironmentKey); envRepos.RegistryKeyOpenSubKeyStringBoolean = m.Object; } { var m = mocks.Create<Action<RegistryKey, string, object>>(); m.Setup(_ => _(RegistryKeyMixin.DummyEnvironmentKey, "Path", @"C:\ProgramData\chocolatey\lib\Prig\tools")); envRepos.RegistryKeySetValue = m.Object; } // Act envRepos.RegisterToolsPath(); // Assert mocks.VerifyAll(); }
public void Install_should_call_installation_steps_by_a_fixed_sequence() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeUninstalledEnvironment(); var profLocs = new[] { new ProfilerLocation(RegistryView.Registry32, fixture.Create<string>()) }; { var m = fixture.Freeze<Mock<IEnvironmentRepository>>(); m.Setup(_ => _.GetProfilerLocations()).Returns(profLocs); m.Setup(_ => _.OpenRegistryBaseKey(RegistryHive.ClassesRoot, profLocs[0].RegistryView)).Returns(RegistryKeyMixin.DummyX86ClassesRootKey); m.Setup(_ => _.OpenRegistrySubKey(RegistryKeyMixin.DummyX86ClassesRootKey, ProfilerLocation.InprocServer32Path)).Returns(RegistryKeyMixin.DummyX86InProcServer32Key); m.Setup(_ => _.GetRegistryValue(RegistryKeyMixin.DummyX86InProcServer32Key, null)).Returns(fixture.Create<string>()); } var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwInstl.Preparing += mocks.InOrder<Action>(order, m => m.Setup(_ => _())).Object; mwInstl.ProfilerStatusChecking += mocks.InOrder<Action<ProfilerLocation>>(order, m => m.Setup(_ => _(It.IsAny<ProfilerLocation>()))).Object; mwInstl.NuGetPackageCreating += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwInstl.NuGetPackageCreated += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwInstl.NuGetSourceRegistering += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(It.IsAny<string>(), It.IsAny<string>()))).Object; mwInstl.NuGetSourceRegistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwInstl.EnvironmentVariableRegistering += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(It.IsAny<string>(), It.IsAny<string>()))).Object; mwInstl.EnvironmentVariableRegistered += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(It.IsAny<string>(), It.IsAny<string>()))).Object; mwInstl.ProfilerRegistering += mocks.InOrder<Action<ProfilerLocation>>(order, m => m.Setup(_ => _(It.IsAny<ProfilerLocation>()))).Object; mwInstl.ProfilerRegistered += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwInstl.DefaultSourceInstalling += mocks.InOrder<Action<string, string>>(order, m => m.Setup(_ => _(It.IsAny<string>(), It.IsAny<string>()))).Object; mwInstl.DefaultSourceInstalled += mocks.InOrder<Action<string>>(order, m => m.Setup(_ => _(It.IsAny<string>()))).Object; mwInstl.Completed += mocks.InOrder<Action<MachineWideProcessResults>>(order, m => m.Setup(_ => _(It.IsAny<MachineWideProcessResults>()))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void UnregisterToolsPath_should_do_nothing_even_if_path_environment_variable_was_null() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var envRepos = new EnvironmentRepository(); var mocks = new MockRepository(MockBehavior.Strict); { var m = mocks.Create<Func<string, EnvironmentVariableTarget, string>>(); m.Setup(_ => _("ALLUSERSPROFILE", EnvironmentVariableTarget.Process)).Returns(@"C:\ProgramData"); m.Setup(_ => _("Path", EnvironmentVariableTarget.Process)).Returns(default(string)); m.Setup(_ => _("Path", EnvironmentVariableTarget.Machine)).Returns(default(string)); envRepos.EnvironmentGetEnvironmentVariable = m.Object; } { var m = mocks.Create<Action<string, string, EnvironmentVariableTarget>>(); envRepos.EnvironmentSetEnvironmentVariable = m.Object; } { var m = mocks.Create<Func<RegistryKey, string, bool, RegistryKey>>(); envRepos.RegistryKeyOpenSubKeyStringBoolean = m.Object; } { var m = mocks.Create<Action<RegistryKey, string, object>>(); envRepos.RegistryKeySetValue = m.Object; } // Act envRepos.UnregisterToolsPath(); // Assert mocks.VerifyAll(); }
public void Uninstall_should_raise_the_event_to_unregister_profiler_before_and_after() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwUninstl = new MachineWideUninstallation("2.0.0"); var profLocs = new[] { new ProfilerLocation(RegistryView.Registry32, fixture.Create<string>()), new ProfilerLocation(RegistryView.Registry64, fixture.Create<string>()) }; fixture.FreezeInstalledEnvironment(profLocs); var stdouts = fixture.CreateMany<string>(2).ToArray(); { var m = fixture.Freeze<Mock<IRegsvr32Executor>>(); m.Setup(_ => _.StartUninstalling(profLocs[0].PathOfInstalling)).Returns(stdouts[0]); m.Setup(_ => _.StartUninstalling(profLocs[1].PathOfInstalling)).Returns(stdouts[1]); } var mocks = new MockRepository(MockBehavior.Strict); var order1 = new MockOrder(); var order2 = new MockOrder(); mwUninstl.ProfilerUnregistering += mocks.Create<Action<ProfilerLocation>>(). InOrder(order1, m => m.Setup(_ => _(profLocs[0]))). InOrder(order2, m => m.Setup(_ => _(profLocs[1]))).Object; mwUninstl.ProfilerUnregistered += mocks.Create<Action<string>>(). InOrder(order1, m => m.Setup(_ => _(stdouts[0]))). InOrder(order2, m => m.Setup(_ => _(stdouts[1]))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Uninstall(mwUninstl); // Assert mocks.VerifyAll(); }
public void Install_should_raise_the_events_for_the_installation_steps_if_skipped() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeInstalledEnvironment(); var mocks = new MockRepository(MockBehavior.Strict); var order = new MockOrder(); mwInstl.Completed += mocks.InOrder<Action<MachineWideProcessResults>>(order, m => m.Setup(_ => _(MachineWideProcessResults.Skipped))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void Install_should_raise_the_event_to_install_the_newest_TestWindow_before_and_after_in_VS2015Update1() { // Arrange var fixture = new Fixture().Customize(new AutoMoqCustomization()); var mwInstl = new MachineWideInstallation("2.0.0"); fixture.FreezeUninstalledEnvironment(); var msvsdirPath = @"^C:\\Program Files \(x86\)\\Microsoft Visual Studio \d+\.\d+\\"; var testWindowVS2015x86 = msvsdirPath + @"Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow$"; var testWindowVS2015x64 = msvsdirPath + @"Common7\\IDE\\CommonExtensions\\Microsoft\\TestWindow\\x64$"; { var m = fixture.Freeze<Mock<IEnvironmentRepository>>(); m.Setup(_ => _.ExistsDirectory(It.IsRegex(testWindowVS2015x64))).Returns(true); } var stdouts = fixture.CreateMany<string>(2).ToArray(); { var m = fixture.Freeze<Mock<IPrigExecutor>>(); m.Setup(_ => _.StartInstalling("TestWindow", It.IsRegex(testWindowVS2015x86))).Returns(stdouts[0]); m.Setup(_ => _.StartInstalling("TestWindow1", It.IsRegex(testWindowVS2015x64))).Returns(stdouts[1]); } var mocks = new MockRepository(MockBehavior.Strict); var order1 = new MockOrder(); var order2 = new MockOrder(); mwInstl.DefaultSourceInstalling += mocks.Create<Action<string, string>>(). InOrder(order1, m => m.Setup(_ => _("TestWindow", It.IsRegex(testWindowVS2015x86)))). InOrder(order2, m => m.Setup(_ => _("TestWindow1", It.IsRegex(testWindowVS2015x64)))).Object; mwInstl.DefaultSourceInstalled += mocks.Create<Action<string>>(). InOrder(order1, m => m.Setup(_ => _(stdouts[0]))). InOrder(order2, m => m.Setup(_ => _(stdouts[1]))).Object; var mwInstllr = fixture.NewMachineWideInstaller(); // Act mwInstllr.Install(mwInstl); // Assert mocks.VerifyAll(); }
public void testProsesNotaPengeluaran() { var transactionDate = new DateTime(2015, 10, 26); var periodId = new PeriodeId(new DateTime(2015, 11, 1), new DateTime(2015, 11, 6)); var listAkun = new string[] { "Ayam" }; var listSummaryAkun = new List<SummaryAkunDto>() { new SummaryAkunDto(){ PeriodId = "20151104",Akun ="Ayam", Nominal=600000.0} }; var factory = new MockRepository(MockBehavior.Loose); var mockRepository = factory.Create<IRepository>(); var mockCashFlow = factory.Create<ICashFlow>(); var mockPengeluaran = factory.Create<INotaPengeluaran>(); var mockCurrentPeriod = factory.Create<IPeriod>(); mockRepository.Setup(t => t.FindPeriodForDate(transactionDate)).Returns(mockCurrentPeriod.Object); mockCurrentPeriod.SetupGet(t => t.PeriodId).Returns(periodId); mockRepository.Setup(t => t.FindCashFlowByPeriod(periodId)).Returns(mockCashFlow.Object); mockPengeluaran.SetupGet(t => t.Date).Returns(transactionDate); mockPengeluaran.Setup(t => t.ListAkun()).Returns(listAkun); mockRepository.Setup(t => t.ListSummaryAkunIn(mockCurrentPeriod.Object, listAkun)).Returns(listSummaryAkun); mockCashFlow.Setup(t => t.ChangePengeluaran(It.IsAny<string>(), It.IsAny<double>(),It.IsAny<int>())); mockRepository.Setup(t => t.Save(mockCashFlow.Object)); var service = new ProcessNotaPengeluaran(); service.Repository = mockRepository.Object; service.Process(mockPengeluaran.Object); factory.VerifyAll(); }