Example #1
0
        public void ConfigExt_GetAnalysisSettings_ServerOnly()
        {
            // Check that local settings are only retrieved by GetAnalysisSettings
            // if includeServerSettings is true

            // 0. Setup
            AnalysisConfig config = new AnalysisConfig
            {
                ServerSettings = new AnalysisProperties()
            };

            config.ServerSettings.Add(new Property()
            {
                Id = "server.1", Value = "server.value.1"
            });
            config.ServerSettings.Add(new Property()
            {
                Id = "server.2", Value = "server.value.2"
            });

            // 1. Local only
            IAnalysisPropertyProvider localProperties = config.GetAnalysisSettings(false);

            localProperties.AssertExpectedPropertyCount(0);

            localProperties.AssertPropertyDoesNotExist("server.1");
            localProperties.AssertPropertyDoesNotExist("server.2");

            // 2. Local and server
            IAnalysisPropertyProvider allProperties = config.GetAnalysisSettings(true);

            allProperties.AssertExpectedPropertyCount(2);
            allProperties.AssertExpectedPropertyValue("server.1", "server.value.1");
            allProperties.AssertExpectedPropertyValue("server.2", "server.value.2");
        }
Example #2
0
        public void ConfigExt_GetAnalysisSettings_LocalOnly()
        {
            // Check that local settings are always retrieved by GetAnalysisSettings

            // 0. Setup
            AnalysisConfig config = new AnalysisConfig
            {
                LocalSettings = new AnalysisProperties()
            };

            config.LocalSettings.Add(new Property()
            {
                Id = "local.1", Value = "local.value.1"
            });
            config.LocalSettings.Add(new Property()
            {
                Id = "local.2", Value = "local.value.2"
            });

            // 1. Local only
            IAnalysisPropertyProvider localProperties = config.GetAnalysisSettings(false);

            localProperties.AssertExpectedPropertyCount(2);
            localProperties.AssertExpectedPropertyValue("local.1", "local.value.1");
            localProperties.AssertExpectedPropertyValue("local.2", "local.value.2");

            // 2. Local and server
            IAnalysisPropertyProvider allProperties = config.GetAnalysisSettings(true);

            allProperties.AssertExpectedPropertyCount(2);
            allProperties.AssertExpectedPropertyValue("local.1", "local.value.1");
            allProperties.AssertExpectedPropertyValue("local.2", "local.value.2");
        }
Example #3
0
        public void ConfigExt_GetAnalysisSettings_NoSettings()
        {
            // 0. Setup
            AnalysisConfig config = new AnalysisConfig();

            // 1. No server settings
            IAnalysisPropertyProvider provider = config.GetAnalysisSettings(false);

            Assert.IsNotNull(provider, "Returned provider should not be null");
            provider.AssertExpectedPropertyCount(0);

            // 2. With server settings
            provider = config.GetAnalysisSettings(true);
            Assert.IsNotNull(provider, "Returned provider should not be null");
            provider.AssertExpectedPropertyCount(0);
        }
Example #4
0
        public void SonarProjectBaseDir_IsAllowed()
        {
            TestLogger logger             = new TestLogger();
            IList <ArgumentInstance> args = new List <ArgumentInstance>();

            // sonar.projectBaseDir used to be un-settable
            AddDynamicArguments(args, "sonar.projectBaseDir=value1");

            IAnalysisPropertyProvider provider = CheckProcessingSucceeds(args, logger);

            provider.AssertExpectedPropertyValue("sonar.projectBaseDir", "value1");
            provider.AssertExpectedPropertyCount(1);
        }
Example #5
0
        public void ConfigExt_GetAnalysisSettings_FileSettings()
        {
            // Check that file settings are always retrieved by GetAnalysisSettings
            // and that the file name config property is set and retrieved correctly

            // 0. Setup
            string testDir = TestUtils.CreateTestSpecificFolder(this.TestContext);

            AnalysisConfig config = new AnalysisConfig();

            // File settings
            AnalysisProperties fileSettings = new AnalysisProperties
            {
                new Property()
                {
                    Id = "file.1", Value = "file.value.1"
                },
                new Property()
                {
                    Id = "file.2", Value = "file.value.2"
                }
            };
            string settingsFilePath = Path.Combine(testDir, "settings.txt");

            fileSettings.Save(settingsFilePath);

            // 1. Get path when not set -> null
            Assert.IsNull(config.GetSettingsFilePath(), "Expecting the settings file path to be null");

            // 2. Set and get
            config.SetSettingsFilePath(settingsFilePath);
            Assert.AreEqual(settingsFilePath, config.GetSettingsFilePath(), "Unexpected settings file path value returned");

            // 3. Check file properties are retrieved
            IAnalysisPropertyProvider provider = config.GetAnalysisSettings(false);

            provider.AssertExpectedPropertyCount(2);
            provider.AssertExpectedPropertyValue("file.1", "file.value.1");
            provider.AssertExpectedPropertyValue("file.2", "file.value.2");
        }
        public void PostArgProc_PermittedArguments()
        {
            // 0. Setup
            TestLogger logger = new TestLogger();

            string[] args = new string[]
            {
                "/d:sonar.login=user name",
                "/d:sonar.password=pwd",
                "/d:sonar.jdbc.username=db user name",
                "/d:sonar.jdbc.password=db pwd"
            };

            // 1. All valid args
            IAnalysisPropertyProvider provider = CheckProcessingSucceeds(logger, args);

            provider.AssertExpectedPropertyCount(4);
            provider.AssertExpectedPropertyValue("sonar.login", "user name");
            provider.AssertExpectedPropertyValue("sonar.password", "pwd");
            provider.AssertExpectedPropertyValue("sonar.jdbc.username", "db user name");
            provider.AssertExpectedPropertyValue("sonar.jdbc.password", "db pwd");
        }
Example #7
0
        public void CmdLineArgProperties_DynamicProperties()
        {
            // Arrange
            TestLogger logger             = new TestLogger();
            IList <ArgumentInstance> args = new List <ArgumentInstance>();

            ArgumentDescriptor dummyDescriptor  = new ArgumentDescriptor("dummy", new string[] { "dummy prefix" }, false, "dummy desc", true);
            ArgumentDescriptor dummyDescriptor2 = new ArgumentDescriptor("dummy2", new string[] { "dummy prefix 2" }, false, "dummy desc 2", true);

            args.Add(new ArgumentInstance(dummyDescriptor, "should be ignored"));
            args.Add(new ArgumentInstance(dummyDescriptor2, "should be ignored"));

            AddDynamicArguments(args, "key1=value1", "key2=value two with spaces");

            // Act
            IAnalysisPropertyProvider provider = CheckProcessingSucceeds(args, logger);

            // Assert
            provider.AssertExpectedPropertyValue("key1", "value1");
            provider.AssertExpectedPropertyValue("key2", "value two with spaces");

            provider.AssertExpectedPropertyCount(2);
        }
Example #8
0
        public void ConfigExt_GetAnalysisSettings_Precedence()
        {
            // Expected precedence: local -> file -> server

            // 0. Setup
            string testDir = TestUtils.CreateTestSpecificFolder(this.TestContext);

            AnalysisConfig config = new AnalysisConfig();

            // File settings
            AnalysisProperties fileSettings = new AnalysisProperties
            {
                new Property()
                {
                    Id = "file.1", Value = "file.value.1"
                },
                new Property()
                {
                    Id = "shared.property", Value = "shared value from file - should never be returned"
                },
                new Property()
                {
                    Id = "shared.property2", Value = "shared value 2 from file"
                }
            };
            string settingsFilePath = Path.Combine(testDir, "settings.txt");

            fileSettings.Save(settingsFilePath);
            config.SetSettingsFilePath(settingsFilePath);

            // Local settings
            config.LocalSettings = new AnalysisProperties
            {
                new Property()
                {
                    Id = "local.1", Value = "local.value.1"
                },
                new Property()
                {
                    Id = "local.2", Value = "local.value.2"
                },
                new Property()
                {
                    Id = "shared.property", Value = "shared value from local"
                }
            };

            // Server settings
            config.ServerSettings = new AnalysisProperties
            {
                new Property()
                {
                    Id = "server.1", Value = "server.value.1"
                },
                new Property()
                {
                    Id = "server.2", Value = "server.value.2"
                },
                new Property()
                {
                    Id = "shared.property", Value = "shared value from server - should never be returned"
                },
                new Property()
                {
                    Id = "shared.property2", Value = "shared value 2 from server - should never be returned"
                }
            };


            // 1. Precedence - local should win over file
            IAnalysisPropertyProvider provider = config.GetAnalysisSettings(false);

            provider.AssertExpectedPropertyCount(5);
            provider.AssertExpectedPropertyValue("local.1", "local.value.1");
            provider.AssertExpectedPropertyValue("local.2", "local.value.2");
            provider.AssertExpectedPropertyValue("file.1", "file.value.1");
            provider.AssertExpectedPropertyValue("shared.property", "shared value from local");
            provider.AssertExpectedPropertyValue("shared.property2", "shared value 2 from file");

            provider.AssertPropertyDoesNotExist("server.1");
            provider.AssertPropertyDoesNotExist("server.2");

            // 2. Server and non-server
            provider = config.GetAnalysisSettings(true);
            provider.AssertExpectedPropertyCount(7);
            provider.AssertExpectedPropertyValue("local.1", "local.value.1");
            provider.AssertExpectedPropertyValue("local.2", "local.value.2");
            provider.AssertExpectedPropertyValue("file.1", "file.value.1");
            provider.AssertExpectedPropertyValue("shared.property", "shared value from local");
            provider.AssertExpectedPropertyValue("shared.property2", "shared value 2 from file");
            provider.AssertExpectedPropertyValue("server.1", "server.value.1");
            provider.AssertExpectedPropertyValue("server.2", "server.value.2");
        }