private FakeInstalledProductsFinder CreateProductsFinderWithChefInstalled() { var finder = new FakeInstalledProductsFinder(); finder.InstalledProducts.Add(CreateProductInstallationMetaData("12.17.44")); return(finder); }
public void InstallOrUpgrade_ShouldUninstallExistingProductThenInstallNewOne() { var chefInstallationMetaData = CreateProductInstallationMetaData("1.2.3"); var finder = new FakeInstalledProductsFinder(chefInstallationMetaData); var installer = new FakeProductInstaller(finder); var product = new ChefProduct("chef", finder, installer, InstalledProductsFinder.IsChefClient); const string versionInstalled = "15.1.2"; product.InstallOrUpgrade(versionInstalled, new FakeMessagePresenter()); installer.ProductCodeUninstalled.Should() .Be(chefInstallationMetaData.Parent, "because since the product is already installed, we should uninstall it"); installer.VersionInstalled.Should().Be(versionInstalled); }
public FakeProductInstaller(FakeInstalledProductsFinder installedProductsFinder) { _installedProductsFinder = installedProductsFinder; }
private ChefProduct CreateChefProduct(FakeInstalledProductsFinder finder) { return(new ChefProduct("chef", finder, new FakeProductInstaller(finder), InstalledProductsFinder.IsChefClient)); }
private static ChefProduct CreateChefProduct(FakeInstalledProductsFinder finder, FakeProductInstaller fakeProductInstaller) { return(new ChefProduct("chef", finder, fakeProductInstaller, InstalledProductsFinder.IsChefClient)); }
private ChefProduct CreateChefProduct(FakeInstalledProductsFinder finder) { var fakeProductInstaller = new FakeProductInstaller(finder); return(CreateChefProduct(finder, fakeProductInstaller)); }