示例#1
0
        public void WhenSetValidVmInstanceSettings_GetVmInstanceSettingsReturnSameValues()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            repository.SetProjectSettings(new ProjectSettings()
            {
                ProjectId = "pro-1"
            });
            repository.SetVmInstanceSettings("pro-1", new VmInstanceSettings()
            {
                InstanceName        = "vm-1",
                Username            = "******",
                ConnectionBar       = RdpConnectionBarState.Pinned,
                DesktopSize         = RdpDesktopSize.ScreenSize,
                AuthenticationLevel = RdpAuthenticationLevel.RequireServerAuthentication,
                ColorDepth          = RdpColorDepth.DeepColor,
                AudioMode           = RdpAudioMode.DoNotPlay,
                RedirectClipboard   = RdpRedirectClipboard.Enabled
            });

            var settings = repository.GetVmInstanceSettings("pro-1", "vm-1");

            Assert.AreEqual("user-1", settings.Username);
            Assert.AreEqual(RdpConnectionBarState.Pinned, settings.ConnectionBar);
            Assert.AreEqual(RdpDesktopSize.ScreenSize, settings.DesktopSize);
            Assert.AreEqual(RdpAuthenticationLevel.RequireServerAuthentication, settings.AuthenticationLevel);
            Assert.AreEqual(RdpColorDepth.DeepColor, settings.ColorDepth);
            Assert.AreEqual(RdpAudioMode.DoNotPlay, settings.AudioMode);
            Assert.AreEqual(RdpRedirectClipboard.Enabled, settings.RedirectClipboard);
        }
 public ProjectNode(InventorySettingsRepository settingsRepository, string projectId)
     : base(
         projectId,
         IconIndex,
         settingsRepository.GetProjectSettings(projectId),
         settings => settingsRepository.SetProjectSettings((ProjectSettings)settings),
         null)
 {
     this.settingsRepository = settingsRepository;
 }
示例#3
0
        public void WhenProjectSettingsSavedTwice_GetProjectSettingsReturnsLatestData()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            var originalSettings = new ProjectSettings()
            {
                ProjectId = "pro-1",
                Username  = "******"
            };

            repository.SetProjectSettings(originalSettings);

            originalSettings.Username = "******";
            repository.SetProjectSettings(originalSettings);

            var settings = repository.GetProjectSettings(originalSettings.ProjectId);

            Assert.AreEqual(originalSettings.ProjectId, settings.ProjectId);
            Assert.AreEqual(originalSettings.Username, settings.Username);
        }
示例#4
0
        public void WhenZoneIdDoesNotExist_GetZoneSettingsReturnsDefaults()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            repository.SetProjectSettings(new ProjectSettings()
            {
                ProjectId = "pro-1"
            });

            var settings = repository.GetZoneSettings("pro-1", "some-zone");

            Assert.AreEqual("some-zone", settings.ZoneId);
        }
示例#5
0
        public void WhenVmInstanceIdDoesNotExist_GetVmInstanceSettingsReturnsDefaults()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            repository.SetProjectSettings(new ProjectSettings()
            {
                ProjectId = "pro-1"
            });

            var settings = repository.GetVmInstanceSettings("pro-1", "some-vm");

            Assert.AreEqual("some-vm", settings.InstanceName);
            Assert.IsNull(settings.Username);
        }
示例#6
0
        public void WhenProjectSettingsSaved_ProjectReturnedInListProjects()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            var originalSettings = new ProjectSettings()
            {
                ProjectId = "pro-1",
                Username  = "******"
            };

            repository.SetProjectSettings(originalSettings);

            var projects = repository.ListProjectSettings();

            Assert.AreEqual(1, projects.Count());
        }
示例#7
0
        public void WhenSetValidZoneSettings_GetZoneSettingsReturnSameValues()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            repository.SetProjectSettings(new ProjectSettings()
            {
                ProjectId = "pro-1"
            });
            repository.SetZoneSettings("pro-1", new ZoneSettings()
            {
                ZoneId   = "zone-1",
                Username = "******"
            });

            Assert.AreEqual("user-1", repository.GetZoneSettings("pro-1", "zone-1").Username);
        }
示例#8
0
        public void WhenProjectSettingsDeleted_GetProjectSettingsThrowsKeyNotFoundException()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            var originalSettings = new ProjectSettings()
            {
                ProjectId = "pro-1",
                Username  = "******"
            };

            repository.SetProjectSettings(originalSettings);
            repository.DeleteProjectSettings(originalSettings.ProjectId);

            Assert.Throws <KeyNotFoundException>(() =>
            {
                repository.GetProjectSettings(originalSettings.ProjectId);
            });
        }
示例#9
0
        public void WhenProjectSettingsDeleted_VmInstanceSettingsAreDeletedToo()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new InventorySettingsRepository(baseKey);

            repository.SetProjectSettings(new ProjectSettings()
            {
                ProjectId = "pro-1"
            });
            repository.SetVmInstanceSettings("pro-1", new VmInstanceSettings()
            {
                InstanceName = "vm-1",
                Username     = "******"
            });
            repository.DeleteProjectSettings("pro-1");

            Assert.Throws <KeyNotFoundException>(() =>
            {
                repository.GetVmInstanceSettings("pro-1", "vm-1");
            });
        }