public void WhenProjectSettingsSaved_ProjectReturnedInListProjects()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new ConnectionSettingsRepository(baseKey);

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

            repository.SetProjectSettings(originalSettings);

            var projects = repository.ListProjectSettings();

            Assert.AreEqual(1, projects.Count());
        }
        public void WhenProjectSettingsSaved_GetProjectSettingsReturnsData()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new ConnectionSettingsRepository(baseKey);

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

            repository.SetProjectSettings(originalSettings);

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

            Assert.AreEqual(originalSettings.ProjectId, settings.ProjectId);
            Assert.AreEqual(originalSettings.Username, settings.Username);
        }
        public void WhenProjectSettingsDeleted_GetProjectSettingsThrowsKeyNotFoundException()
        {
            var baseKey    = hkcu.CreateSubKey(TestKeyPath);
            var repository = new ConnectionSettingsRepository(baseKey);

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

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

            Assert.Throws <KeyNotFoundException>(() =>
            {
                repository.GetProjectSettings(originalSettings.ProjectId);
            });
        }
 public void SetProjectSettings(ProjectConnectionSettings settings)
 {
     Set <ProjectConnectionSettings>(new[] { settings.ProjectId }, settings);
 }