Example #1
0
        public void TestThatProjectSettingsCanBeDecrypted()
        {
            // Arrange
            var mockProject = Mock.Get(MockObjects.Project());
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            var mockProjectSettings = Mock.Get(MockObjects.Settings(mockProject.Object.InternalUrn));

            // Act
            testSettings.SaveProject(mockProject.Object, mockProjectSettings.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();
            var retrievedSettings = verifySettings.GetProjectSettings(retrievedProject);

            Assert.AreEqual(1, retrievedSettings.Values.Count);

            var firstSetting = retrievedSettings.Values.First();
            var pointer = Marshal.SecureStringToGlobalAllocUnicode(firstSetting.Value);
            var decryptedString = Marshal.PtrToStringUni(pointer);
            Assert.AreEqual("Test0", decryptedString);
        }
Example #2
0
        public void TestThatANewProjectIsSaved()
        {
            // Arrange
            var mockProject = new Mock<IProjectModel>();
            mockProject.SetupGet(p => p.Id).Returns("TestID");
            mockProject.SetupGet(p => p.Name).Returns("Test Name");
            mockProject.SetupGet(p => p.TaskTrackerId).Returns("TaskTrackerID");

            // Act
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedProject = verifySettings.GetProjects().FirstOrDefault();

            Assert.IsFalse(string.IsNullOrWhiteSpace(retrievedProject.InternalUrn));
            Assert.AreEqual(1, verifySettings.GetProjects().Count());
            Assert.AreEqual(mockProject.Object.Id, retrievedProject.Id);
            Assert.AreEqual(mockProject.Object.Name, retrievedProject.Name);
            Assert.AreEqual(mockProject.Object.TaskTrackerId, retrievedProject.TaskTrackerId);
        }
Example #3
0
        public void TestThatAQueryAndQuerySettingsAreUpdated()
        {
            // Arrange
            var mockProject = MockObjects.Project();
            var mockQuery = Mock.Get(MockObjects.Query(mockProject));
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            var mockQuerySettings = Mock.Get(MockObjects.Settings(mockQuery.Object.InternalUrn));

            testSettings.SaveProject(mockProject);
            testSettings.SaveQuery(mockQuery.Object, mockQuerySettings.Object);

            // Act
            mockQuery.SetupGet(p => p.Name).Returns("Changed name");
            var changedValues = mockQuerySettings.Object.Values.Take(1).ToDictionary(d => d.Key, d => d.Value);
            mockQuerySettings.SetupGet(s => s.Values).Returns(changedValues);
            testSettings.SaveQuery(mockQuery.Object, mockQuerySettings.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedQuery = verifySettings.GetQuerys().FirstOrDefault();
            var retrievedSettings = verifySettings.GetQuerySettings(retrievedQuery);

            Assert.AreEqual("Changed name", retrievedQuery.Name);
            Assert.AreEqual(1, retrievedSettings.Values.Count);
        }
Example #4
0
        public void TestThatAnExsistingQueryIsUpdated()
        {
            // Arrange
            var mockProject = MockObjects.Project();
            var mockQuery = Mock.Get(MockObjects.Query(mockProject));
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject);
            testSettings.SaveQuery(mockQuery.Object);

            // Act
            mockQuery.SetupGet(p => p.Name).Returns("Changed name");
            testSettings.SaveQuery(mockQuery.Object);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedQuery = verifySettings.GetQuerys().FirstOrDefault();

            Assert.AreEqual("Changed name", retrievedQuery.Name);
        }
Example #5
0
        public void TestThatAnExsistingQueryIsDeleted()
        {
            // Arrange
            var mockProject = MockObjects.Project();
            var mockQuery = MockObjects.Query(mockProject);
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveQuery(mockQuery);

            // Act
            testSettings.DeleteQuery(mockQuery);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);

            Assert.AreEqual(0, verifySettings.GetQuerys().Count());
        }
Example #6
0
        public void TestThatANewSettingsFileIsCreatedOnFirstStart()
        {
            // Act
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);

            // Assert
            using (var settingsFileStreamReader = new StreamReader(this.tempTestFilePath))
            {
                var storedSettings = settingsFileStreamReader.ReadToEnd();
                Assert.IsFalse(string.IsNullOrWhiteSpace(storedSettings), "Non-zero file content expected");
            }
        }
Example #7
0
        public void TestThatANewQueryIsSaved()
        {
            // Arrange
            var mockProject = MockObjects.Project();
            var mockQuery = MockObjects.Query(mockProject);

            // Act
            var testSettings = new SettingsService(this.mockSettingsStorage.Object);
            testSettings.SaveProject(mockProject);
            testSettings.SaveQuery(mockQuery);

            // Assert
            this.mockSettingsStorage.Setup(s => s.SettingsFileExsists()).Returns(true);
            var verifySettings = new SettingsService(this.mockSettingsStorage.Object);
            var retrievedQuery = verifySettings.GetQuerys().FirstOrDefault();

            Assert.AreEqual(1, verifySettings.GetQuerys().Count());
            Assert.AreEqual(mockQuery.Id, retrievedQuery.Id);
            Assert.AreEqual(mockQuery.InternalUrn, retrievedQuery.InternalUrn);
            Assert.AreEqual(mockQuery.Name, retrievedQuery.Name);
            Assert.AreEqual(mockProject.Id, retrievedQuery.Project.Id);
        }