コード例 #1
0
        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();
                }
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }