public void Setup()
 {
     _updater    = new Mock <IAutoUpdater>();
     _settings   = new AutoUpdateSettings();
     _dispatcher = new ManualDispatcher();
     _viewModel  = new AutoUpdateViewModel(_updater.Object, _settings, _dispatcher);
 }
示例#2
0
        public void TestClone()
        {
            var settings = new AutoUpdateSettings
            {
                AutomaticallyInstallUpdates = true,
                CheckForUpdates             = true,
                LastChecked        = new DateTime(2017, 5, 1, 17, 30, 0),
                ProxyUsername      = "******",
                ProxyPassword      = "******",
                ProxyServer        = "myproxy",
                PluginRepositories = new [] { "tvpr://foobar:1241" }
            };
            var clone = settings.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(settings);
            clone.LastChecked.Should().Be(new DateTime(2017, 5, 1, 17, 30, 0));
            clone.ProxyUsername.Should().Be("user");
            clone.ProxyPassword.Should().Be("password");
            clone.ProxyServer.Should().Be("myproxy");
            clone.PluginRepositories.Should().Equal(new object[]
            {
                "tvpr://foobar:1241"
            });
        }
 public AutoUpdateDistributedLockManager(
     IDistributedLockManager distributedLockManager,
     AutoUpdateSettings autoUpdateSettings,
     ICofoundryDatabase db
     )
 {
     _distributedLockManager = distributedLockManager;
     _autoUpdateSettings     = autoUpdateSettings;
     _db = db;
 }
示例#4
0
 public AutoUpdateService(
     IEnumerable <IUpdatePackageFactory> updatePackageFactories,
     IUpdateCommandHandlerFactory commandHandlerFactory,
     ICofoundryDatabase db,
     IUpdatePackageOrderer updatePackageOrderer,
     AutoUpdateSettings autoUpdateSettings,
     IAutoUpdateDistributedLockManager autoUpdateDistributedLockManager
     )
 {
     _updatePackageFactories = updatePackageFactories;
     _commandHandlerFactory  = commandHandlerFactory;
     _db = db;
     _updatePackageOrderer             = updatePackageOrderer;
     _autoUpdateSettings               = autoUpdateSettings;
     _autoUpdateDistributedLockManager = autoUpdateDistributedLockManager;
 }
 public AutoUpdateService(
     IAutoUpdateStore autoUpdateStore,
     IEnumerable <IUpdatePackageFactory> updatePackageFactories,
     IEnumerable <IStartupValidator> startupValidators,
     IUpdateCommandHandlerFactory commandHandlerFactory,
     IUpdatePackageOrderer updatePackageOrderer,
     AutoUpdateSettings autoUpdateSettings,
     IAutoUpdateDistributedLockManager autoUpdateDistributedLockManager,
     ILogger <AutoUpdateService> logger
     )
 {
     _autoUpdateStore                  = autoUpdateStore;
     _updatePackageFactories           = updatePackageFactories;
     _startupValidators                = startupValidators;
     _commandHandlerFactory            = commandHandlerFactory;
     _updatePackageOrderer             = updatePackageOrderer;
     _autoUpdateSettings               = autoUpdateSettings;
     _autoUpdateDistributedLockManager = autoUpdateDistributedLockManager;
     _logger = logger;
 }
示例#6
0
        public void TestClone()
        {
            var settings = new AutoUpdateSettings
            {
                AutomaticallyInstallUpdates = true,
                CheckForUpdates             = true,
                LastChecked   = new DateTime(2017, 5, 1, 17, 30, 0),
                ProxyUsername = "******",
                ProxyPassword = "******",
                ProxyServer   = "myproxy"
            };
            var clone = settings.Clone();

            clone.Should().NotBeNull();
            clone.Should().NotBeSameAs(settings);
            clone.LastChecked.Should().Be(new DateTime(2017, 5, 1, 17, 30, 0));
            clone.ProxyUsername.Should().Be("user");
            clone.ProxyPassword.Should().Be("password");
            clone.ProxyServer.Should().Be("myproxy");
        }
示例#7
0
        public void TestStoreRestore([ValueSource(nameof(PluginRepositories))] IReadOnlyList <string> repositories)
        {
            _settings.ProxyServer   = "http://eumex.ip";
            _settings.ProxyUsername = "******";
            _settings.ProxyPassword = "******";
            _settings.AutomaticallyInstallUpdates = true;
            _settings.CheckForUpdates             = true;
            _settings.PluginRepositories          = repositories;

            using (var stream = new MemoryStream())
            {
                using (var writer = XmlWriter.Create(stream))
                {
                    writer.WriteStartElement("xml");
                    writer.WriteStartElement("autoupdate");
                    _settings.Save(writer);
                    writer.WriteEndElement();
                    writer.WriteEndElement();
                }

                stream.Position = 0;

                using (var reader = XmlReader.Create(stream))
                {
                    var settings = new AutoUpdateSettings();
                    reader.Read();
                    reader.Read();
                    reader.Read();
                    settings.Restore(reader);

                    settings.CheckForUpdates.Should().BeTrue();
                    settings.AutomaticallyInstallUpdates.Should().BeTrue();
                    settings.ProxyServer.Should().Be("http://eumex.ip");
                    settings.ProxyUsername.Should().Be("foo");
                    settings.ProxyPassword.Should().Be("bar");
                    settings.PluginRepositories.Should().Equal(repositories);
                }
            }
        }
示例#8
0
 public void Setup()
 {
     _settings = new AutoUpdateSettings();
 }