public void Add(InstalledPackage package) { using (new SecurityDisabler()) { // TODO how does this behave if the package has not been installed? var database = Factory.GetDatabase(DATABASE_NAME); var rootItem = database.GetItem(HISTORY_FOLDER_PATH); TemplateItem template = database.GetTemplate(PACKAGE_HISTORY_TEMPLATE_PATH); var item = rootItem.Add(package.PackageId, template); try { item.Editing.BeginEdit(); item.Fields[PACKAGE_ID_FIELD_NAME].Value = package.PackageId; item.Fields[DATE_INSTALLED_FIELD_NAME].Value = package.DateInstalled.ToString(); item.Fields[DESCRIPTION_FIELD_NAME].Value = package.Description; } finally { item.Editing.EndEdit(); } } }
public void RecordInstall(string packagePath, DateTime dateInstalled) { if (!_configurationProvider.Settings.RecordInstallationHistory) return; var packageId = GetPackageIdFromName(packagePath); var description = GetDescription(packagePath); var record = new InstalledPackage { DateInstalled = dateInstalled, PackageId = packageId, Description = description }; _packageHistoryRepository.Add(record); }
public void RecordInstall(string packageId, string description, DateTime dateInstalled) { if (!_configurationProvider.Settings.RecordInstallationHistory) return; const string formatString = "Missing {0} parameter, required as installation is being recorded"; if (string.IsNullOrEmpty(packageId)) throw new ArgumentException(string.Format(formatString, "PackageId")); if (string.IsNullOrEmpty(description)) throw new ArgumentException(string.Format(formatString, "Description")); var record = new InstalledPackage { DateInstalled = dateInstalled, PackageId = packageId, Description = description }; _packageHistoryRepository.Add(record); }
public void Recorder_returns_highest_version_from_get_latest_when_multiple_entries_exist() { // Arrange _mockPackageHistoryRepository.Setup(x => x.GetAll()).Returns( new List<InstalledPackage> { new InstalledPackage {PackageId = "01"}, new InstalledPackage {PackageId = "02"}, new InstalledPackage {PackageId = "03"}, }); var recorder = new InstallationRecorder(_mockPackageHistoryRepository.Object, _configurationProvider.Object); var expected = new InstalledPackage {PackageId = "03"}; // Act var result = recorder.GetLatestPackage(); // Assert Assert.Same(result.PackageId, expected.PackageId); }