public static void ExceptionThrown() { var sourceToolMock = new Mock <ISourceTool <GitItem> >(); sourceToolMock.Setup(x => x.GetItems(It.IsAny <SourceInformation>())) .Returns(new List <GitItem> { new GitItem( "/", "objectId", GitObjectType.Commit, "commitID", 1) }); //sourceToolMock.Setup(x => x.GetItems(It.IsAny<SourceInformation>())) // .Throws(new InvalidOperationException("Testing2")); sourceToolMock.Setup(x => x.GetItemContent(It.IsAny <SourceInformation>())) .Throws(new InvalidOperationException("Testing1")); var wasCalled = false; var parser = new ParserGeneric <GitItem>(sourceToolMock.Object); parser.ExceptionThrown += (sender, args) => { wasCalled = true; }; var sourceInformation = new SourceInformation( SourceType.TfsGit, "/", true, "AdoTools.DependencyParser", "develop"); parser.ProcessSource(sourceInformation, Array.Empty <string>()); Assert.That(wasCalled, Is.True); }
public void ProcessSource_TfVc_ReturnsExpectedResult([Values(-1, 1)] int dop) { var performanceConfiguration = new PerformanceConfiguration { ParallelOptions = { MaxDegreeOfParallelism = dop } }; SetUpVcReal(out var serverUri, out var personalAccessToken, out var projectName); var parser = new ParserGeneric <TfvcItem>( SourceType.TfsVc, serverUri, personalAccessToken, projectName, logger: _logger, performanceConfiguration: performanceConfiguration); var searchInformation = new SourceInformation(SourceType.TfsVc, "$/Apollo/HP/Source/Tools/BranchChecker", true); var result = parser.ProcessSource(searchInformation, new[] { "/_" }); Assert.That(result, Is.Not.Null); Assert.Multiple( () => { Assert.That(result.Count(), Is.GreaterThanOrEqualTo(1), "result.Count"); Assert.That(result.First().ProjectMetadatas, Is.Not.Null, "projectMetadatas"); Assert.That(result.First().ProjectMetadatas.Count, Is.GreaterThanOrEqualTo(2), "projectMetadatas count"); Assert.That(result.Count(sln => sln.ProjectMetadatas.Any(x => x.SourceInformation != null)), Is.EqualTo(1), "projectMetadatas with source information"); }); }
public void ProcessSource_Filesystem_ReturnsExpectedResult([Values(-1, 1)] int dop) { var performanceConfiguration = new PerformanceConfiguration { ParallelOptions = { MaxDegreeOfParallelism = dop } }; var parser = new ParserGeneric <FileInfo>( SourceType.Filesystem, logger: _logger, performanceConfiguration: performanceConfiguration); var searchInformation = new SourceInformation(SourceType.Filesystem, @"c:\gh\AzureDevOpsLibrary", true); var result = parser.ProcessSource(searchInformation, (IEnumerable <string>)null); Assert.That(result, Is.Not.Null); Assert.Multiple( () => { Assert.That(result.Count(), Is.GreaterThanOrEqualTo(1)); Assert.That(result.First().Projects, Is.Not.Null); Assert.That(result.First().Projects.Count, Is.GreaterThanOrEqualTo(2)); }); }
public static void ProcessConfigFiles_ReturnsExpectedResult( [Values("app.config", "web.config", "dataConfiguration.config", "appSettings.tok.json")] string resourceName) { var projectMetadata = new ProjectMetadata(); var extension = Path.GetExtension(resourceName); var content = Helpers.ReadEmbeddedResourceFile(resourceName); ParserGeneric <FileInfo> .ProcessConfigFile(projectMetadata, resourceName, extension, content); switch (resourceName.ToLower()) { case "app.config": Assert.That(projectMetadata.AppSettings, Is.Not.Null); Assert.That(projectMetadata.AppSettings.Count, Is.EqualTo(4)); break; case "web.config": Assert.That(projectMetadata.AppSettings, Is.Not.Null); Assert.That(projectMetadata.AppSettings.Count, Is.EqualTo(1)); break; case "dataconfiguration.config": Assert.Multiple(() => { Assert.That(projectMetadata.DatabaseInstances, Is.Not.Null); Assert.That(projectMetadata.DatabaseInstances.Count, Is.EqualTo(10)); Assert.That(projectMetadata.DatabaseTypes, Is.Not.Null); Assert.That(projectMetadata.DatabaseTypes.Count, Is.EqualTo(1)); Assert.That(projectMetadata.ConnectionStrings, Is.Not.Null); Assert.That(projectMetadata.ConnectionStrings.Count, Is.EqualTo(11)); }); break; case "appsettings.tok.json": Assert.Multiple(() => { Assert.That(projectMetadata.DatabaseInstances, Is.Null); Assert.That(projectMetadata.DatabaseTypes, Is.Null); Assert.That(projectMetadata.ConnectionStrings, Is.Not.Null); Assert.That(projectMetadata.ConnectionStrings.Count, Is.EqualTo(4)); }); break; default: Assert.Fail("Test bug"); break; } // todo check contents of projectMetadata. }
public void ProcessSource_Git_ReturnsExpectedResult([Values(-1, 1)] int dop) { var performanceConfiguration = new PerformanceConfiguration { ParallelOptions = { MaxDegreeOfParallelism = dop } }; SetUpGitReal(out var serverUri, out var personalAccessToken, out var projectName); var parser = new ParserGeneric <GitItem>( SourceType.TfsGit, serverUri, personalAccessToken, projectName, logger: _logger, performanceConfiguration: performanceConfiguration); var searchInformation = new SourceInformation(SourceType.TfsGit, "/", true, "Upmc.DevTools.Common", "develop"); var result = parser.ProcessSource(searchInformation, (IEnumerable <string>)null); Assert.That(result, Is.Not.Null); Assert.Multiple( () => { Assert.That(result.Count(), Is.GreaterThanOrEqualTo(1), "result.Count"); Assert.That(result.First().ProjectMetadatas, Is.Not.Null, "projectMetadatas"); Assert.That(result.First().ProjectMetadatas.Count, Is.GreaterThanOrEqualTo(2), "projectMetadatas count"); Assert.That(result.Count(sln => sln.ProjectMetadatas.Any(x => x.SourceInformation != null)), Is.EqualTo(1), "projects with source information"); }); }
public void ProcessPackagesConfig_ReturnsExpectedResult([Values(-1, 1)] int dop) { var performanceConfiguration = new PerformanceConfiguration { ParallelOptions = { MaxDegreeOfParallelism = dop } }; var directory = WriteTestFiles(); var parser = new ParserGeneric <FileInfo>( SourceType.Filesystem, logger: _logger, performanceConfiguration: performanceConfiguration); var projectMetadata = new ProjectMetadata(); var testSourceInformation = new SourceInformation( SourceType.Filesystem, directory + @"\SampleNew.csproj", false); parser.ProcessPackagesConfig(projectMetadata, testSourceInformation); Assert.That(projectMetadata.PackageReferences, Is.Not.Null); Assert.That(projectMetadata.PackageReferences.Count, Is.EqualTo(1)); }
public void Constructor_Succeeds([Values] bool provideLogger, [Values(1, 2, 3)] int testCase, [Values(-1, 1)] int dop) { var performanceConfiguration = new PerformanceConfiguration { ParallelOptions = { MaxDegreeOfParallelism = dop } }; Logger logger = null; if (provideLogger) { logger = _logger; } // ReSharper disable once SwitchStatementMissingSomeCases switch (testCase) { case 1: { SetUpGitFake( out var personalAccessToken, out var organization, out var projectName); var parserGeneric = new ParserGeneric <GitItem>( SourceType.TfsGit, personalAccessToken, organization, projectName, performanceConfiguration: performanceConfiguration, logger: logger); Assert.That(parserGeneric, Is.Not.Null); } break; case 2: { SetUpVcFake(out var serverUri, out var personalAccessToken, out var projectName); var parserGeneric = new ParserGeneric <TfvcItem>( SourceType.TfsVc, serverUri, personalAccessToken, projectName, performanceConfiguration: performanceConfiguration, logger: logger); Assert.That(parserGeneric, Is.Not.Null); } break; case 3: { var parserGeneric = new ParserGeneric <FileInfo>( SourceType.Filesystem, performanceConfiguration: performanceConfiguration, logger: logger); Assert.That(parserGeneric, Is.Not.Null); } break; } }