本文整理汇总了C#中TestUtilities.TestLogger类的典型用法代码示例。如果您正苦于以下问题:C# TestLogger类的具体用法?C# TestLogger怎么用?C# TestLogger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
TestLogger类属于TestUtilities命名空间,在下文中一共展示了TestLogger类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: RoslynConfig_BranchMissingRuleset
public void RoslynConfig_BranchMissingRuleset()
{
// This test is a regression scenario for SONARMSBRU-187:
// We do not expect the project profile to be returned if we ask for a branch-specific profile
// Arrange
string rootDir = CreateTestFolders();
TestLogger logger = new TestLogger();
TeamBuildSettings settings = CreateSettings(rootDir);
WellKnownProfile testProfile = CreateValidCSharpProfile();
MockSonarQubeServer mockServer = CreateServer("valid.project", null, "valid.profile", testProfile);
MockAnalyzerInstaller mockInstaller = new MockAnalyzerInstaller();
mockInstaller.AssemblyPathsToReturn = new HashSet<string>(new string[] { "c:\\assembly1.dll", "d:\\foo\\assembly2.dll" });
RoslynAnalyzerProvider testSubject = new RoslynAnalyzerProvider(mockInstaller, logger);
// Act
AnalyzerSettings actualSettings = testSubject.SetupAnalyzers(mockServer, settings, "valid.project", "missingBranch");
// Assert
AssertAnalyzerSetupNotPerformed(actualSettings, rootDir);
logger.AssertErrorsLogged(0);
logger.AssertWarningsLogged(0);
}
开发者ID:Godin,项目名称:sonar-msbuild-runner,代码行数:27,代码来源:RoslynAnalyzerProviderTests.cs
示例2: ReportProcessor_CannotConvertFiles
public void ReportProcessor_CannotConvertFiles()
{
// Arrange
MockReportUrlProvider urlProvider = new MockReportUrlProvider() { UrlsToReturn = new string[] { ValidUrl1 } };
MockReportDownloader downloader = new MockReportDownloader();
MockReportConverter converter = new MockReportConverter() { CanConvert = false };
AnalysisConfig context = this.CreateValidContext();
TeamBuildSettings settings = this.CreateValidSettings();
TestLogger logger = new TestLogger();
TfsLegacyCoverageReportProcessor processor = new TfsLegacyCoverageReportProcessor(urlProvider, downloader, converter);
// Act
bool initResult = processor.Initialise(context, settings, logger);
// Assert
Assert.IsFalse(initResult, "Expecting false: processor should not have been initialised successfully");
urlProvider.AssertGetUrlsNotCalled();
downloader.AssertDownloadNotCalled();
converter.AssertConvertNotCalled();
logger.AssertWarningsLogged(0);
logger.AssertErrorsLogged(0);
}
开发者ID:nilleb,项目名称:sonar-msbuild-runner,代码行数:25,代码来源:TfsLegacyCoverageReportProcessorTests.cs
示例3: BuildWrapper_OldCppPluginInstalled_FilesDownloaded
public void BuildWrapper_OldCppPluginInstalled_FilesDownloaded()
{
// If an older version of the C++ plugin is installed then the embedded resource
// won't exist. In that case we expect a warning message telling the user to upgrade.
// Arrange
string rootDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
TestLogger logger = new TestLogger();
MockSonarQubeServer mockServer = new MockSonarQubeServer();
mockServer.Data.InstalledPlugins.Add("cpp"); // plugin exists but no zip file
BuildWrapperInstaller testSubject = new BuildWrapperInstaller(logger);
// Act
AnalysisProperties properties = testSubject.InstallBuildWrapper(mockServer, rootDir, "c:\\output\\");
// Assert
logger.AssertSingleWarningExists(SonarQube.TeamBuild.PreProcessor.Resources.BW_CppPluginUpgradeRequired);
logger.AssertErrorsLogged(0);
AssertNoFilesExist(rootDir);
Assert.IsNotNull(properties, "Returned properties should not be null");
Assert.AreEqual(0, properties.Count, "Not expecting any properties to be set");
}
开发者ID:HSAR,项目名称:sonar-msbuild-runner,代码行数:26,代码来源:BuildWrapperInstallerTests.cs
示例4: Parser_UnrecognizedArguments
public void Parser_UnrecognizedArguments()
{
CommandLineParser parser;
IEnumerable<ArgumentInstance> instances;
TestLogger logger;
string[] args = new string[] { "/a:XXX", "/unrecognized" };
ArgumentDescriptor d1 = new ArgumentDescriptor("id1", new string[] { "/a:" }, true, "desc1", false);
// 1. Don't allow unrecognized
parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, false);
logger = CheckProcessingFails(parser, args);
logger.AssertSingleErrorExists("/unrecognized");
logger.AssertErrorsLogged(1);
// 2. Allow unrecognized
parser = new CommandLineParser(new ArgumentDescriptor[] { d1 }, true);
logger = new TestLogger();
instances = CheckProcessingSucceeds(parser, logger, args);
AssertExpectedValue("id1", "XXX", instances);
AssertExpectedInstancesCount(1, instances);
logger.AssertMessagesLogged(0); // expecting unrecognized arguments to be ignored silently
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:27,代码来源:CommandLineParserTests.cs
示例5: Conv_OutputIsCaptured
[WorkItem(72)] // Regression test for bug #72: CodeCoverage conversion - conversion errors should be detected and reported
public void Conv_OutputIsCaptured()
{
// Arrange
TestLogger logger = new TestLogger();
string testDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
string outputFilePath = Path.Combine(testDir, "output.txt");
string inputFilePath = Path.Combine(testDir, "input.txt");
File.WriteAllText(inputFilePath, "dummy input file");
string converterFilePath = Path.Combine(testDir, "converter.bat");
File.WriteAllText(converterFilePath,
@"
echo Normal output...
echo Error output...>&2
echo Create a new file using the output parameter
echo foo > """ + outputFilePath + @"""");
// Act
bool success = CoverageReportConverter.ConvertBinaryToXml(converterFilePath, inputFilePath, outputFilePath, logger);
// Assert
Assert.IsTrue(success, "Expecting the process to succeed");
Assert.IsTrue(File.Exists(outputFilePath), "Expecting the output file to exist");
this.TestContext.AddResultFile(outputFilePath);
logger.AssertMessageLogged("Normal output...");
logger.AssertErrorLogged("Error output...");
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:32,代码来源:CoverageReportConverterTests.cs
示例6: AnalysisConfGen_AnalysisConfigDoesNotContainSensitiveData
public void AnalysisConfGen_AnalysisConfigDoesNotContainSensitiveData()
{
// Arrange
string analysisDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
TestLogger logger = new TestLogger();
ListPropertiesProvider cmdLineArgs = new ListPropertiesProvider();
// Public args - should be written to the config file
cmdLineArgs.AddProperty("sonar.host.url", "http://host");
cmdLineArgs.AddProperty("public.key", "public value");
// Sensitive values - should not be written to the config file
cmdLineArgs.AddProperty(SonarProperties.DbPassword, "secret db password");
cmdLineArgs.AddProperty(SonarProperties.DbUserName, "secret db user");
// Create a settings file with public and sensitive data
AnalysisProperties fileSettings = new AnalysisProperties();
fileSettings.Add(new Property() { Id = "file.public.key", Value = "file public value" });
fileSettings.Add(new Property() {Id = SonarProperties.DbUserName, Value = "secret db user"});
fileSettings.Add(new Property() { Id = SonarProperties.DbPassword, Value = "secret db password"});
string fileSettingsPath = Path.Combine(analysisDir, "fileSettings.txt");
fileSettings.Save(fileSettingsPath);
FilePropertyProvider fileProvider = FilePropertyProvider.Load(fileSettingsPath);
ProcessedArgs args = new ProcessedArgs("key", "name", "1.0", false, cmdLineArgs, fileProvider);
IDictionary<string, string> serverProperties = new Dictionary<string, string>();
// Public server settings
serverProperties.Add("server.key.1", "server value 1");
// Sensitive server settings
serverProperties.Add(SonarProperties.SonarUserName, "secret user");
serverProperties.Add(SonarProperties.SonarPassword, "secret pwd");
TeamBuildSettings settings = TeamBuildSettings.CreateNonTeamBuildSettingsForTesting(analysisDir);
Directory.CreateDirectory(settings.SonarConfigDirectory); // config directory needs to exist
// Act
AnalysisConfig config = AnalysisConfigGenerator.GenerateFile(args, settings, serverProperties, logger);
// Assert
AssertConfigFileExists(config);
logger.AssertErrorsLogged(0);
logger.AssertWarningsLogged(0);
// Check the config
// "Public" arguments should be in the file
Assert.AreEqual("key", config.SonarProjectKey, "Unexpected project key");
Assert.AreEqual("name", config.SonarProjectName, "Unexpected project name");
Assert.AreEqual("1.0", config.SonarProjectVersion, "Unexpected project version");
AssertExpectedLocalSetting(SonarProperties.HostUrl, "http://host", config);
AssertExpectedServerSetting("server.key.1", "server value 1", config);
AssertFileDoesNotContainText(config.FileName, "file.public.key"); // file settings values should not be in the config
// SONARMSBRU-136: TODO - uncomment the following code:
AssertFileDoesNotContainText(config.FileName, "secret"); // sensitive data should not be in config
}
开发者ID:BlackSwanBay,项目名称:sonar-msbuild-runner,代码行数:60,代码来源:AnalysisConfigGeneratorTests.cs
示例7: SonarRunner_CmdLineArgsOrdering
public void SonarRunner_CmdLineArgsOrdering()
{
// Check that user arguments are passed through to the wrapper and that they appear first
// Arrange
TestLogger logger = new TestLogger();
string exePath = CreateDummarySonarRunnerBatchFile();
string propertiesFilePath = CreateDummySonarRunnerPropertiesFile();
string[] userArgs = new string[] { "-Dsonar.login=me", "-Dsonar.password=my.pwd" };
// Act
bool success = SonarRunnerWrapper.ExecuteJavaRunner(
new AnalysisConfig() { SonarRunnerWorkingDirectory = this.TestContext.DeploymentDirectory },
userArgs,
logger,
exePath,
propertiesFilePath);
// Assert
VerifyProcessRunOutcome(logger, this.TestContext.DeploymentDirectory, success, true);
string actualCmdLineArgs = CheckStandardArgsPassed(logger, propertiesFilePath);
int loginIndex = CheckArgExists("-Dsonar.login=me", actualCmdLineArgs);
int pwdIndex = CheckArgExists("-Dsonar.password=my.pwd", actualCmdLineArgs);
int standardArgsIndex = CheckArgExists(SonarRunnerWrapper.StandardAdditionalRunnerArguments, actualCmdLineArgs);
int propertiesFileIndex = CheckArgExists(SonarRunnerWrapper.ProjectSettingsFileArgName, actualCmdLineArgs);
Assert.IsTrue(loginIndex < standardArgsIndex && loginIndex < propertiesFileIndex, "User arguments should appear first");
Assert.IsTrue(pwdIndex < standardArgsIndex && pwdIndex < propertiesFileIndex, "User arguments should appear first");
}
开发者ID:HSAR,项目名称:sonar-msbuild-runner,代码行数:34,代码来源:SonarRunnerWrapperTests.cs
示例8: ProcRunner_FailsOnTimeout
public void ProcRunner_FailsOnTimeout()
{
// Arrange
string exeName = TestUtils.WriteBatchFileForTest(TestContext,
@"TIMEOUT 2
@echo Hello world
");
TestLogger logger = new TestLogger();
ProcessRunnerArguments args = new ProcessRunnerArguments(exeName, logger)
{
TimeoutInMilliseconds = 100
};
ProcessRunner runner = new ProcessRunner();
// Act
bool success = runner.Execute(args);
// Assert
Assert.IsFalse(success, "Expecting the process to have failed");
Assert.AreEqual(ProcessRunner.ErrorCode, runner.ExitCode, "Unexpected exit code");
logger.AssertMessageNotLogged("Hello world");
// Give the spawned process a chance to terminate.
// This isn't essential (and having a Sleep in the test isn't ideal), but it stops
// the test framework outputting this warning which appears in the TeamBuild summary:
// "System.AppDomainUnloadedException: Attempted to access an unloaded AppDomain. This can happen
// if the test(s) started a thread but did not stop it. Make sure that all the threads started by
// the test(s) are stopped before completion."
System.Threading.Thread.Sleep(1100);
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:31,代码来源:ProcessRunnerTests.cs
示例9: FileGen_DuplicateProjectIds
public void FileGen_DuplicateProjectIds()
{
// ProjectInfo files with duplicate ids should be ignored
// Arrange - three files, all with the same Guid, one of which is excluded
string testDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
Guid duplicateGuid = Guid.NewGuid();
CreateProjectInfoInSubDir(testDir, "duplicate1", duplicateGuid, ProjectType.Product, false, "c:\\abc\\duplicateProject1.proj"); // not excluded
CreateProjectInfoInSubDir(testDir, "duplicate2", duplicateGuid, ProjectType.Test, false, "S:\\duplicateProject2.proj"); // not excluded
CreateProjectInfoInSubDir(testDir, "excluded", duplicateGuid, ProjectType.Product, true, null); // excluded
TestLogger logger = new TestLogger();
AnalysisConfig config = CreateValidConfig(testDir);
// Act
ProjectInfoAnalysisResult result = null;
using (new AssertIgnoreScope()) // expecting the properties writer to assert
{
result = PropertiesFileGenerator.GenerateFile(config, logger);
}
// Assert
AssertExpectedStatus("duplicate1", ProjectInfoValidity.DuplicateGuid, result);
AssertExpectedStatus("duplicate2", ProjectInfoValidity.DuplicateGuid, result);
AssertExpectedStatus("excluded", ProjectInfoValidity.ExcludeFlagSet, result); // Expecting excluded rather than duplicate
AssertExpectedProjectCount(3, result);
// No valid project info files -> file not generated
AssertFailedToCreatePropertiesFiles(result, logger);
logger.AssertWarningsLogged(2); // should be a warning for each project with a duplicate id
logger.AssertSingleWarningExists(duplicateGuid.ToString(), "c:\\abc\\duplicateProject1.proj");
logger.AssertSingleWarningExists(duplicateGuid.ToString(), "S:\\duplicateProject2.proj");
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:35,代码来源:PropertiesFileGeneratorTests.cs
示例10: ReportProcessor_NoUrlsFound
public void ReportProcessor_NoUrlsFound()
{
// Arrange
MockReportUrlProvider urlProvider = new MockReportUrlProvider() { UrlsToReturn = new string[] { } };
MockReportDownloader downloader = new MockReportDownloader();
MockReportConverter converter = new MockReportConverter() { CanConvert = true };
AnalysisConfig context = this.CreateValidContext();
TeamBuildSettings settings = this.CreateValidSettings();
TestLogger logger = new TestLogger();
TfsLegacyCoverageReportProcessor processor = new TfsLegacyCoverageReportProcessor(urlProvider, downloader, converter);
// Act
bool initResult = processor.Initialise(context, settings, logger);
Assert.IsTrue(initResult, "Expecting true: processor should have been initialised successfully");
bool result = processor.ProcessCoverageReports();
// Assert
urlProvider.AssertGetUrlsCalled();
downloader.AssertDownloadNotCalled(); // no urls returned, so should go any further
converter.AssertConvertNotCalled();
Assert.IsTrue(result, "Expecting true: no coverage reports is a valid scenario");
logger.AssertWarningsLogged(0);
logger.AssertErrorsLogged(0);
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:26,代码来源:TfsLegacyCoverageReportProcessorTests.cs
示例11: ArgProc_UrlIsRequired
public void ArgProc_UrlIsRequired()
{
// 0. Setup
TestLogger logger;
// Create a valid settings file that contains a URL
string testDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
string propertiesFilePath = Path.Combine(testDir, "mysettings.txt");
AnalysisProperties properties = new AnalysisProperties();
properties.Add(new Property() { Id = SonarProperties.HostUrl, Value = "http://filehost" });
properties.Save(propertiesFilePath);
// 1. Url is not specified on the command line or in a properties file -> fail
logger = CheckProcessingFails("/key:k1", "/name:n1", "/version:1.0");
logger.AssertErrorLogged(SonarQube.Bootstrapper.Resources.ERROR_Args_UrlRequired);
logger.AssertErrorsLogged(1);
// 2. Url is specified in the file -> ok
logger = new TestLogger();
IBootstrapperSettings settings = CheckProcessingSucceeds(logger, "/key:k1", "/name:n1", "/version:1.0", "/s:" + propertiesFilePath);
AssertUrl(settings, "http://filehost");
// 3. Url is specified on the command line too -> ok, and overrides the file setting
logger = new TestLogger();
settings = CheckProcessingSucceeds(logger, "/key:k1", "/name:n1", "/version:1.0", "/s:" + propertiesFilePath, "/d:sonar.host.url=http://cmdlinehost");
AssertUrl(settings, "http://cmdlinehost");
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:29,代码来源:ArgumentProcessorTests.cs
示例12: BootSettings_DownloadDirFromEnvVars
public void BootSettings_DownloadDirFromEnvVars()
{
// 0. Setup
TestLogger logger = new TestLogger();
// 1. Legacy TFS variable will be used if available
using (EnvironmentVariableScope scope = new EnvironmentVariableScope())
{
scope.SetVariable(BootstrapperSettings.BuildDirectory_Legacy, "legacy tf build");
scope.SetVariable(BootstrapperSettings.BuildDirectory_TFS2015, null);
IBootstrapperSettings settings = new BootstrapperSettings(AnalysisPhase.PreProcessing, null, "http://sq", LoggerVerbosity.Debug, logger);
AssertExpectedDownloadDir(Path.Combine("legacy tf build", DownloadFolderRelativePath), settings);
}
// 2. TFS2015 variable will be used if available
using (EnvironmentVariableScope scope = new EnvironmentVariableScope())
{
scope.SetVariable(BootstrapperSettings.BuildDirectory_Legacy, null);
scope.SetVariable(BootstrapperSettings.BuildDirectory_TFS2015, "tfs build");
IBootstrapperSettings settings = new BootstrapperSettings(AnalysisPhase.PreProcessing, null, "http://sq", LoggerVerbosity.Debug, logger);
AssertExpectedDownloadDir(Path.Combine("tfs build", DownloadFolderRelativePath), settings);
}
// 3. CWD has least precedence over env variables
using (EnvironmentVariableScope scope = new EnvironmentVariableScope())
{
scope.SetVariable(BootstrapperSettings.BuildDirectory_Legacy, null);
scope.SetVariable(BootstrapperSettings.BuildDirectory_TFS2015, null);
IBootstrapperSettings settings = new BootstrapperSettings(AnalysisPhase.PreProcessing, null, "http://sq", LoggerVerbosity.Debug, logger);
AssertExpectedDownloadDir(Path.Combine(Directory.GetCurrentDirectory(), DownloadFolderRelativePath), settings);
}
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:35,代码来源:BootstrapperSettingsTests.cs
示例13: ArgProc_UnrecognizedArgumentsAreIgnored
public void ArgProc_UnrecognizedArgumentsAreIgnored()
{
TestLogger logger = new TestLogger();
// 1. Minimal command line settings with extra values
IBootstrapperSettings settings = CheckProcessingSucceeds(logger, "/d:sonar.host.url=foo", "foo", "blah", "/xxxx");
AssertUrlAndChildCmdLineArgs(settings, "foo", "/d:sonar.host.url=foo", "foo", "blah", "/xxxx");
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:8,代码来源:ArgumentProcessorTests.cs
示例14: Factory_InvalidCallSequence_Fails
public void Factory_InvalidCallSequence_Fails()
{
// Arrange
TestLogger logger = new TestLogger();
IPreprocessorObjectFactory testSubject = new PreprocessorObjectFactory();
// 2. Act and assert
AssertException.Expects<InvalidOperationException>(() => testSubject.CreateAnalyzerProvider(logger));
}
开发者ID:Godin,项目名称:sonar-msbuild-runner,代码行数:9,代码来源:PreprocessorObjectFactoryTests.cs
示例15: BootSettings_InvalidArguments
public void BootSettings_InvalidArguments()
{
string validUrl = "http://myserver";
ILogger validLogger = new TestLogger();
IList<string> validArgs = null;
AssertException.Expects<ArgumentNullException>(() => new BootstrapperSettings(AnalysisPhase.PostProcessing, validArgs, null, LoggerVerbosity.Debug, validLogger));
AssertException.Expects<ArgumentNullException>(() => new BootstrapperSettings(AnalysisPhase.PreProcessing, validArgs, validUrl, LoggerVerbosity.Debug, null));
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:9,代码来源:BootstrapperSettingsTests.cs
示例16: ArgProc_StripVerbsAndPrefixes
public void ArgProc_StripVerbsAndPrefixes()
{
TestLogger logger = new TestLogger();
IBootstrapperSettings settings = CheckProcessingSucceeds(logger, "/d:sonar.host.url=foo", "/begin:true", "/install:true");
AssertUrlAndChildCmdLineArgs(settings, "foo", "/d:sonar.host.url=foo", "/begin:true", "/install:true");
settings = CheckProcessingSucceeds(logger, "/d:sonar.host.url=foo", "begin", "/installXXX:true");
AssertUrlAndChildCmdLineArgs(settings, "foo", "/d:sonar.host.url=foo", "/installXXX:true");
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:10,代码来源:ArgumentProcessorTests.cs
示例17: EmbeddedInstall_CachingScenarios
public void EmbeddedInstall_CachingScenarios()
{
// Arrange
string localCacheDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
TestLogger logger = new TestLogger();
Plugin requestA = new Plugin("p111", "1.0-SNAPSHOT", "p1.zip");
Plugin requestB = new Plugin("p222", "9.1.3.0", "p2.zip");
MockSonarQubeServer mockServer = new MockSonarQubeServer();
AddPlugin(mockServer, requestA, "aaa", "bbb");
AddPlugin(mockServer, requestB, "ccc");
IList<string> expectedPlugin111Paths = CalculateExpectedCachedFilePaths(localCacheDir, requestA, "p1.zip", "aaa", "bbb");
IList<string> expectedPlugin222Paths = CalculateExpectedCachedFilePaths(localCacheDir, requestB, "p2.zip", "ccc");
List<string> allExpectedPaths = new List<string>(expectedPlugin111Paths);
allExpectedPaths.AddRange(expectedPlugin222Paths);
EmbeddedAnalyzerInstaller testSubject = new EmbeddedAnalyzerInstaller(mockServer, localCacheDir, logger);
AssertExpectedFilesInCache(0, localCacheDir); // cache should be empty to start with
// 1. Empty cache -> cache miss -> server called
IEnumerable<string> actualFiles = testSubject.InstallAssemblies(new Plugin[] { requestA });
mockServer.AssertMethodCalled(DownloadEmbeddedFileMethodName, 1); // should have tried to download
AssertExpectedFilesReturned(expectedPlugin111Paths, actualFiles);
AssertExpectedFilesExist(expectedPlugin111Paths);
AssertExpectedFilesInCache(3, localCacheDir); // only files for the first request should exist
// 2. New request + request request -> partial cache miss -> server called only for the new request
actualFiles = testSubject.InstallAssemblies(new Plugin[] { requestA, requestB });
mockServer.AssertMethodCalled(DownloadEmbeddedFileMethodName, 2); // new request
AssertExpectedFilesReturned(allExpectedPaths, actualFiles);
AssertExpectedFilesExist(allExpectedPaths);
AssertExpectedFilesInCache(5, localCacheDir); // files for both plugins should exist
// 3. Repeat the request -> cache hit -> server not called
actualFiles = testSubject.InstallAssemblies(new Plugin[] { requestA, requestB });
mockServer.AssertMethodCalled(DownloadEmbeddedFileMethodName, 2); // call count should not have changed
AssertExpectedFilesReturned(allExpectedPaths, actualFiles);
// 4. Clear the cache and request both -> cache miss -> multiple requests
Directory.Delete(localCacheDir, true);
Assert.IsFalse(Directory.Exists(localCacheDir), "Test error: failed to delete the local cache directory");
actualFiles = testSubject.InstallAssemblies(new Plugin[] { requestA, requestB });
mockServer.AssertMethodCalled(DownloadEmbeddedFileMethodName, 4); // two new requests
AssertExpectedFilesReturned(allExpectedPaths, actualFiles);
AssertExpectedFilesExist(allExpectedPaths);
AssertExpectedFilesInCache(5, localCacheDir); // files for both plugins should exist
}
开发者ID:HSAR,项目名称:sonar-msbuild-runner,代码行数:55,代码来源:EmbeddedAnalyzerInstallerTests.cs
示例18: CheckVerbosity
private static void CheckVerbosity(string errorMessage, LoggerVerbosity expectedVerbosity, string verbosity = null, string logLevel = null, int expectedNumberOfWarnings = 0)
{
var provider = CreatePropertiesProvider(verbosity, logLevel);
TestLogger logger = new TestLogger();
var actualVerbosity = VerbosityCalculator.ComputeVerbosity(provider, logger);
Assert.AreEqual(expectedVerbosity, actualVerbosity, errorMessage);
logger.AssertErrorsLogged(0);
logger.AssertWarningsLogged(expectedNumberOfWarnings);
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:12,代码来源:VerbosityCalculatorTests.cs
示例19: AnalysisConfGen_Simple
public void AnalysisConfGen_Simple()
{
// Arrange
string analysisDir = TestUtils.CreateTestSpecificFolder(this.TestContext);
TestLogger logger = new TestLogger();
ListPropertiesProvider propertyProvider = new ListPropertiesProvider();
propertyProvider.AddProperty(SonarProperties.HostUrl, "http://foo");
ProcessedArgs args = new ProcessedArgs("valid.key", "valid.name", "1.0", false, EmptyPropertyProvider.Instance, propertyProvider);
TeamBuildSettings tbSettings = TeamBuildSettings.CreateNonTeamBuildSettingsForTesting(analysisDir);
Dictionary<string, string> serverSettings = new Dictionary<string, string>();
serverSettings.Add("server.key.1", "server.value.1");
AnalyzerSettings analyzerSettings = new AnalyzerSettings();
analyzerSettings.RuleSetFilePath = "c:\\xxx.ruleset";
analyzerSettings.AdditionalFilePaths = new List<string>();
analyzerSettings.AdditionalFilePaths.Add("f:\\additionalPath1.txt");
analyzerSettings.AnalyzerAssemblyPaths = new List<string>();
analyzerSettings.AnalyzerAssemblyPaths.Add("f:\\temp\\analyzer1.dll");
Directory.CreateDirectory(tbSettings.SonarConfigDirectory); // config directory needs to exist
// Act
AnalysisConfig actualConfig = AnalysisConfigGenerator.GenerateFile(args, tbSettings, serverSettings, analyzerSettings, logger);
// Assert
AssertConfigFileExists(actualConfig);
logger.AssertErrorsLogged(0);
logger.AssertWarningsLogged(0);
Assert.AreEqual("valid.key", actualConfig.SonarProjectKey);
Assert.AreEqual("valid.name", actualConfig.SonarProjectName);
Assert.AreEqual("1.0", actualConfig.SonarProjectVersion);
Assert.AreEqual("http://foo", actualConfig.SonarQubeHostUrl);
Assert.AreEqual(tbSettings.SonarBinDirectory, actualConfig.SonarBinDir);
Assert.AreEqual(tbSettings.SonarConfigDirectory, actualConfig.SonarConfigDir);
Assert.AreEqual(tbSettings.SonarOutputDirectory, actualConfig.SonarOutputDir);
Assert.AreEqual(tbSettings.SonarRunnerWorkingDirectory, actualConfig.SonarRunnerWorkingDirectory);
Assert.AreEqual(tbSettings.BuildUri, actualConfig.GetBuildUri());
Assert.AreEqual(tbSettings.TfsUri, actualConfig.GetTfsUri());
Assert.IsNotNull(actualConfig.ServerSettings);
Property serverProperty = actualConfig.ServerSettings.SingleOrDefault(s => string.Equals(s.Id, "server.key.1", System.StringComparison.Ordinal));
Assert.IsNotNull(serverProperty);
Assert.AreEqual("server.value.1", serverProperty.Value);
Assert.AreSame(analyzerSettings, actualConfig.AnalyzerSettings);
}
开发者ID:Rinorragi,项目名称:sonar-msbuild-runner,代码行数:53,代码来源:AnalysisConfigGeneratorTests.cs
示例20: PostArgProc_NoArgs
public void PostArgProc_NoArgs()
{
// 0. Setup
TestLogger logger = new TestLogger();
IAnalysisPropertyProvider provider;
// 1. Null input
AssertException.Expects<ArgumentNullException>(() => ArgumentProcessor.TryProcessArgs(null, logger, out provider));
// 2. Empty array input
provider = CheckProcessingSucceeds(logger, new string[] { });
provider.AssertExpectedPropertyCount(0);
}
开发者ID:BrightLight,项目名称:sonar-msbuild-runner,代码行数:13,代码来源:ArgumentProcessorTests.cs
注:本文中的TestUtilities.TestLogger类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论