6551 references to FullName
aspire (669)
Acquisition\InstallationCandidateSources.cs (2)
24public string AspireHome => AspireHomeDirectory.FullName; 143var toolStore = Path.Combine(context.HomeDirectory.FullName, ".dotnet", "tools", ".store", "aspire.cli");
Acquisition\InstallationDiscovery.cs (1)
131var aspireHome = _executionContext.AspireHomeDirectory.FullName;
Agents\AspireSkills\AspireSkillsBundleProvider.cs (8)
88ValidateArchiveSha512(archive.FullName, expectedArchiveSha512); 90Directory.CreateDirectory(bundleDirectory.FullName); 97temporaryDirectoryRoot.FullName, 102ExtractArchive(archive.FullName, extractionDirectory.FullName); 108CopyDirectory(bundleRoot.FullName, bundleDirectory.FullName); 119var manifestPath = Path.Combine(bundleDirectory.FullName, ManifestFileName); 279var fullPath = Path.Combine(bundleDirectory.FullName, SkillsDirectoryName, skillName, relativePath);
Agents\AspireSkills\AspireSkillsInstaller.cs (1)
946return Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills");
Agents\AspireSkills\EmbeddedAspireSkillsBundleProvider.cs (2)
69Directory.CreateDirectory(bundleDirectory.FullName); 75temporaryDirectoryRoot.FullName,
Agents\ClaudeCode\ClaudeCodeAgentEnvironmentScanner.cs (12)
49_logger.LogDebug("Starting Claude Code environment scan in directory: {WorkingDirectory}", context.WorkingDirectory.FullName); 50_logger.LogDebug("Workspace root: {RepositoryRoot}", context.RepositoryRoot.FullName); 62_logger.LogDebug("Inferred workspace root from .claude folder parent: {WorkspaceRoot}", workspaceRoot.FullName); 69_logger.LogDebug("Adding Claude Code applicator for .mcp.json at: {WorkspaceRoot}", workspaceRoot.FullName); 95_logger.LogDebug("Adding Claude Code applicator for .mcp.json at workspace root: {WorkspaceRoot}", context.RepositoryRoot.FullName); 129var claudeCodePath = Path.Combine(currentDirectory.FullName, ClaudeCodeFolderName); 130if (Directory.Exists(claudeCodePath) && !string.Equals(currentDirectory.FullName, homeDirectory.FullName, StringComparison.OrdinalIgnoreCase)) 137if (string.Equals(currentDirectory.FullName, repositoryRoot.FullName, StringComparison.OrdinalIgnoreCase)) 155var configFilePath = Path.Combine(repoRoot.FullName, McpConfigFileName); 203var configFilePath = Path.Combine(repoRoot.FullName, McpConfigFileName);
Agents\CommonAgentApplicators.cs (1)
58ct => installer.InstallAsync(context.RepositoryRoot.FullName, context.SkillBaseDirectories.ToHashSet(StringComparer.OrdinalIgnoreCase), ct),
Agents\CopilotCli\CopilotCliAgentEnvironmentScanner.cs (1)
123return Path.Combine(homeDirectory.FullName, CopilotFolderName);
Agents\DeprecatedMcpCommandScanner.cs (2)
46File.AppendAllText(debugPath, $"[{DateTime.UtcNow:O}] Scanning context.RepositoryRoot: {context.RepositoryRoot.FullName}\n"); 50var configPath = Path.Combine(context.RepositoryRoot.FullName, location.RelativePath);
Agents\Hooks\TelemetryHookConfigurator.cs (2)
155var claudeDirectory = Path.Combine(_executionContext.HomeDirectory.FullName, ClaudeFolderName); 306return Path.Combine(_executionContext.HomeDirectory.FullName, CopilotFolderName, CopilotHooksDirectoryName);
Agents\Hooks\TelemetryHookInstaller.cs (1)
39var hooksDirectory = Path.Combine(_executionContext.AspireHomeDirectory.FullName, HooksDirectoryName);
Agents\OpenCode\OpenCodeAgentEnvironmentScanner.cs (5)
44_logger.LogDebug("Starting OpenCode environment scan in directory: {WorkingDirectory}", context.WorkingDirectory.FullName); 45_logger.LogDebug("Workspace root: {RepositoryRoot}", context.RepositoryRoot.FullName); 49var configFilePath = Path.Combine(configDirectory.FullName, OpenCodeConfigFileName); 87_logger.LogDebug("Adding OpenCode applicator to create new opencode.jsonc at: {ConfigDirectory}", configDirectory.FullName); 188var configFilePath = Path.Combine(configDirectory.FullName, OpenCodeConfigFileName);
Agents\Playwright\PlaywrightCliInstaller.cs (1)
194var tempDir = Directory.CreateTempSubdirectory("aspire-playwright-").FullName;
Agents\VsCode\VsCodeAgentEnvironmentScanner.cs (13)
53_logger.LogDebug("Starting VS Code environment scan in directory: {WorkingDirectory}", context.WorkingDirectory.FullName); 54_logger.LogDebug("Workspace root: {RepositoryRoot}", context.RepositoryRoot.FullName); 61_logger.LogDebug("Found .vscode folder at: {VsCodeFolder}", vsCodeFolder.FullName); 69_logger.LogDebug("Adding VS Code applicator for .vscode folder at: {VsCodeFolder}", vsCodeFolder.FullName); 88var targetVsCodeFolder = new DirectoryInfo(Path.Combine(context.RepositoryRoot.FullName, VsCodeFolderName)); 89_logger.LogDebug("Adding VS Code applicator for new .vscode folder at: {VsCodeFolder}", targetVsCodeFolder.FullName); 156var vsCodePath = Path.Combine(currentDirectory.FullName, VsCodeFolderName); 157if (Directory.Exists(vsCodePath) && !string.Equals(currentDirectory.FullName, homeDirectory.FullName, StringComparison.OrdinalIgnoreCase)) 164if (string.Equals(currentDirectory.FullName, repositoryRoot.FullName, StringComparison.OrdinalIgnoreCase)) 194var mcpConfigPath = Path.Combine(vsCodeFolder.FullName, McpConfigFileName); 248var mcpConfigPath = Path.Combine(vsCodeFolder.FullName, McpConfigFileName);
Backchannel\AppHostConnectionResolver.cs (6)
103var explicitDirectory = Directory.Exists(projectFile.FullName); 146projectFile.FullName, 147executionContext.HomeDirectory.FullName, 173var displayPath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, projectFile.FullName); 198var workingDirectory = executionContext.WorkingDirectory.FullName;
Backchannel\AuxiliaryBackchannelMonitor.cs (2)
189.Where(c => IsAppHostInScopeOfDirectory(c.AppHostInfo?.AppHostPath, workingDirectory.FullName)) 566=> IsAppHostInScopeOfDirectory(appHostPath, executionContext.WorkingDirectory.FullName);
Caching\AppHostInfoDiskCache.cs (19)
116_cacheDirectory = new DirectoryInfo(Path.Combine(executionContext.CacheDirectory.FullName, SubDirectoryName)); 139var path = Path.Combine(_cacheDirectory.FullName, $"{key}.json"); 142_logger.LogTrace("AppHost info cache miss for {Project} (key {Key})", projectFile.FullName, key); 151_logger.LogTrace("AppHost info cache schema mismatch for {Project}", projectFile.FullName); 161_logger.LogTrace("AppHost info cache entry for {Project} is missing RunCommand", projectFile.FullName); 165_logger.LogTrace("AppHost info cache hit for {Project} (key {Key})", projectFile.FullName, key); 171_logger.LogDebug(ex, "Failed to read AppHost info cache for {Project}", projectFile.FullName); 206projectFile.FullName, 212var path = Path.Combine(_cacheDirectory.FullName, $"{key}.json"); 218tempPath = Path.Combine(_cacheDirectory.FullName, $"{Path.GetRandomFileName()}.tmp"); 226_logger.LogTrace("Stored AppHost info cache entry for {Project} (key {Key})", projectFile.FullName, key); 235_logger.LogDebug(ex, "Failed to write AppHost info cache for {Project}", projectFile.FullName); 285projectFile.FullName); 304sb.Append(CliPathHelper.NormalizePathCasing(projectFile.FullName, environment)); 306AppendMtime(sb, projectFile.FullName, "csproj"); 308var projectDir = projectFile.Directory?.FullName; 359AppendMtime(sb, Path.Combine(dir.FullName, siblingName), siblingName); 361AppendMtime(sb, Path.Combine(dir.FullName, "global.json"), "globaljson"); 366AppendMtime(sb, Path.Combine(dir.FullName, customName), customName);
Caching\DiskCache.cs (12)
24_cacheDirectory = new DirectoryInfo(Path.Combine(executionContext.CacheDirectory.FullName, "nuget-search")); 33_logger.LogDebug(ex, "Failed to create cache directory {CacheDirectory}", _cacheDirectory.FullName); 94_logger.LogDebug(ex, "Failed to create cache directory {CacheDirectory}", _cacheDirectory.FullName); 106var fullPath = Path.Combine(_cacheDirectory.FullName, fileName); 145_logger.LogDebug(ex, "Failed to delete cache file {CacheFile}", file.FullName); 152_logger.LogDebug(ex, "Failed to clear disk cache at {CacheDirectory}", _cacheDirectory.FullName); 216valid = file.FullName; 273_logger.LogTrace("Deleted expired cache file: {CacheFile}", file.FullName); 277_logger.LogTrace("Deleted old cache file during global cleanup: {CacheFile}", file.FullName); 281_logger.LogTrace("Deleted invalid cache file: {CacheFile}", file.FullName); 285_logger.LogTrace("Deleted cache file: {CacheFile}", file.FullName); 290_logger.LogDebug(ex, "Failed to delete cache file {CacheFile}", file.FullName);
Certificates\CertificateGeneration\MacOSCertificateManager.cs (1)
539Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
Certificates\CertificateGeneration\UnixCertificateManager.cs (3)
576Log.DirectoryPermissionsNotSecure(dirInfo.FullName); 1039if (!TryGetOpenSslHash(cert.FullName, out var hash)) 1059Log.UnixOpenSslRehashTooManyHashes(cert.FullName, hash, MaxHashCollisions);
Certificates\CertificateGeneration\WindowsCertificateManager.cs (1)
165Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
Certificates\CertificateService.cs (1)
61executionContext.AspireHomeDirectory.FullName, "dev-certs");
CliExecutionContext.cs (1)
184? Path.Combine(homeDirectory.FullName, ".aspire")
Commands\AddCommand.cs (1)
340var nugetConfigPath = Path.Combine(projectDir.FullName, "nuget.config");
Commands\AgentInitCommand.cs (4)
176binding: PromptBinding.Create(parseResult, s_workspaceRootOption, defaultWorkspaceRoot.FullName), 410var (status, message) = await _playwrightCliInstaller.InstallAsync(workspaceRoot.FullName, selectedSkillDirs, cancellationToken); 709var fullSkillDirectoryPath = Path.Combine(rootDirectory.FullName, relativeSkillPath); 718var fullPath = Path.Combine(rootDirectory.FullName, relativeSkillPath, skillFile.RelativePath);
Commands\AppHostLauncher.cs (13)
199logger.LogDebug("Starting AppHost in background: {AppHostPath}", effectiveAppHostFile.FullName); 207var childLogFile = GenerateChildLogFilePath(executionContext.LogsDirectory.FullName, timeProvider); 214var socketKeyPath = PathNormalizer.ResolveSymlinks(effectiveAppHostFile.FullName); 217executionContext.HomeDirectory.FullName); 219effectiveAppHostFile.FullName, 220executionContext.HomeDirectory.FullName); 359effectiveAppHostFile.FullName, 360executionContext.HomeDirectory.FullName, 386effectiveAppHostFile.FullName, 425logger.LogDebug("Working directory: {WorkingDirectory}", executionContext.WorkingDirectory.FullName); 928effectiveAppHostFile.FullName, 938var appHostRelativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, effectiveAppHostFile.FullName);
Commands\CacheCommand.cs (1)
52skipFile: f => f.FullName.Equals(currentLogFilePath, StringComparison.OrdinalIgnoreCase));
Commands\DcpWorkloadCleanupService.cs (2)
27layoutDiscovery.GetComponentPath(LayoutComponent.Dcp, executionContext.WorkingDirectory.FullName); 44workingDirectory: executionContext.WorkingDirectory.FullName,
Commands\ExtensionInternalCommand.cs (2)
43SelectedProjectFile = result.SelectedProjectFile?.FullName, 44AllProjectFileCandidates = result.AllProjectFileCandidates.Select(f => f.FullName).ToList()
Commands\InitCommand.cs (9)
261outputPath: workingDirectory.FullName, 268var appHostPath = Path.Combine(workingDirectory.FullName, "apphost.cs"); 341var appHostDirPath = Path.Combine(solutionDir.FullName, appHostDirName); 363outputPath: solutionDir.FullName, 481.FirstOrDefault(pattern => File.Exists(Path.Combine(workingDirectory.FullName, pattern))); 489var displayPath = PathNormalizer.NormalizePathForStorage(Path.GetRelativePath(workingDirectory.FullName, appHostPath)); 527var configPath = Path.Combine(directory.FullName, AspireConfigFile.FileName); 704return AspireConfigFile.Load(directory.FullName)?.Channel; 786var path = Path.Combine(directory.FullName, fileName);
Commands\IntegrationPackageSearchService.cs (1)
150var appHostDirectory = appHostProjectFile.Directory!.FullName;
Commands\LsCommand.cs (3)
248appHosts.Sort((x, y) => string.Compare(x.AppHostFile.FullName, y.AppHostFile.FullName, StringComparison.Ordinal)); 266Path = appHost.AppHostFile.FullName,
Commands\NewCommand.cs (1)
597var workspaceRoot = new DirectoryInfo(templateResult.OutputPath ?? ExecutionContext.WorkingDirectory.FullName);
Commands\ParseResultHelper.cs (1)
292? fileSystemInfo.FullName
Commands\PipelineCommandBase.cs (4)
185ExecutionContext.WorkingDirectory.FullName, 186passedAppHostProjectFile?.FullName, 197[KnownConfigNames.AspireHome] = ExecutionContext.AspireHomeDirectory.FullName 246[KnownConfigNames.AspireHome] = ExecutionContext.AspireHomeDirectory.FullName
Commands\RenderCommand.cs (1)
445var filePath = Path.Combine(tempDirectory.FullName, "safe file link sample.txt");
Commands\ResourceCommand.cs (2)
686if (Directory.Exists(appHostProjectFile.FullName)) 706var targetPath = Path.GetFullPath(selectedAppHostProjectFile.FullName);
Commands\RestoreCommand.cs (11)
96configOnlyProjectDirectory.FullName); 133_logger.LogDebug("Restoring packages for {AppHost} in {Directory}", effectiveAppHostFile.FullName, appHostDirectory.FullName); 153_logger.LogDebug("Restoring SDK code for {AppHost} in {Directory}", effectiveAppHostFile.FullName, directory.FullName); 201config = AspireConfigFile.Load(searchDirectory.FullName); 205_logger.LogDebug(ex, "Ignoring invalid config while resolving config-only guest AppHost in {Directory}", searchDirectory.FullName); 221_logger.LogDebug("Configured AppHost language '{Language}' is not available for config-only restore in {Directory}", config.AppHost.Language, searchDirectory.FullName); 230searchDirectory.FullName); 251if (Directory.Exists(passedAppHostProjectFile.FullName)) 253return new DirectoryInfo(passedAppHostProjectFile.FullName);
Commands\RunCommand.cs (4)
233ExecutionContext.WorkingDirectory.FullName, 234passedAppHostProjectFile?.FullName, 447var appHostRelativePath = Path.GetRelativePath(ExecutionContext.WorkingDirectory.FullName, effectiveAppHostFile.FullName);
Commands\Sdk\IntegrationAssemblyNameResolver.cs (1)
25var document = XDocument.Load(projectFile.FullName);
Commands\Sdk\SdkDumpCommand.cs (7)
106return CommandResult.Failure(CliExitCodes.FailedToFindProject, $"Integration project not found: {projectFile.FullName}"); 111projectFile.FullName)); 170var tempDir = tempDirectory.FullName; 232await File.WriteAllTextAsync(outputFile.FullName, output, cancellationToken); 233InteractionService.DisplaySuccess($"Capabilities written to {outputFile.FullName}"); 269var tempDir = tempDirectory.FullName; 360var outputPath = Path.Combine(outputDirectory.FullName, $"{integration.Name}.ats.txt");
Commands\Sdk\SdkExportCommand.cs (1)
183var tempDirectoryPath = tempDirectory.FullName;
Commands\Sdk\SdkGenerateCommand.cs (5)
68return CommandResult.Failure(CliExitCodes.FailedToFindProject, $"Integration project not found: {integrationProject.FullName}"); 135integrationProject.FullName)); 170var outputDirFullPath = Path.GetFullPath(outputDir.FullName); 173var filePath = Path.GetFullPath(Path.Combine(outputDir.FullName, fileName)); 191InteractionService.DisplaySuccess($"Generated {generatedFiles.Count} files in {outputDir.FullName}");
Commands\StartCommand.cs (2)
89ExecutionContext.WorkingDirectory.FullName, 90passedAppHostProjectFile?.FullName,
Commands\StopCommand.cs (9)
172var projectOptionSpecifiedAsDirectory = Directory.Exists(passedAppHostProjectFile.FullName); 287appHostFile.FullName, 288ExecutionContext.HomeDirectory.FullName, 296var displayPath = Path.GetRelativePath(ExecutionContext.WorkingDirectory.FullName, appHostFile.FullName); 317var displayPath = Path.GetRelativePath(ExecutionContext.WorkingDirectory.FullName, appHostFile.FullName); 348var appHostPath = appHostFile.FullName; 547? Path.GetRelativePath(ExecutionContext.WorkingDirectory.FullName, appHostPath)
Commands\TerminalPsCommand.cs (1)
83passedAppHostProjectFile?.FullName ?? "<auto-detected>");
Commands\UpdateCommand.cs (1)
766var tempExtractDir = Directory.CreateTempSubdirectory("aspire-cli-extract").FullName;
Configuration\ConfigurationService.cs (13)
98return globalSettingsFile.FullName; 114var newSettingsPath = Path.Combine(searchDirectory.FullName, AspireConfigFile.FileName); 124var legacySettingsPath = ConfigurationHelper.BuildPathToSettingsJsonFile(searchDirectory.FullName); 135var defaultPath = Path.Combine(executionContext.WorkingDirectory.FullName, AspireConfigFile.FileName); 149var aspireConfigPath = Path.Combine(legacySettingsRootDirectory.FullName, AspireConfigFile.FileName); 152logger.LogInformation("Migrating legacy settings from {LegacyDir} to {ConfigFile}", legacySettingsRootDirectory.FullName, aspireConfigPath); 153_ = AspireConfigFile.LoadOrCreate(legacySettingsRootDirectory.FullName); 165await LoadConfigurationFromFileAsync(globalSettingsFile.FullName, allConfig, cancellationToken); 181await LoadConfigurationFromFileAsync(globalSettingsFile.FullName, globalConfig, cancellationToken); 382var configFilePath = Path.Combine(searchDirectory.FullName, AspireConfigFile.FileName); 392var legacySettingsPath = ConfigurationHelper.BuildPathToSettingsJsonFile(searchDirectory.FullName); 411if (File.Exists(globalSettingsFile.FullName)) 413var globalConfig = LoadSettingsFileForReading(globalSettingsFile.FullName);
Documentation\FileBackedDocumentContentCache.cs (5)
22private readonly DirectoryInfo _diskCacheDirectory = new(Path.Combine(executionContext.CacheDirectory.FullName, subdirectory)); 252private string GetTextFilePath(string key) => Path.Combine(_diskCacheDirectory.FullName, $"{SanitizeFileName(key)}.txt"); 254private string GetETagFilePath(string key) => Path.Combine(_diskCacheDirectory.FullName, $"{SanitizeFileName(key)}.etag.txt"); 256private string GetJsonFilePath(string key) => Path.Combine(_diskCacheDirectory.FullName, $"{SanitizeFileName(key)}.json"); 320_logger.LogDebug(ex, "Failed to create cache directory: {Directory}", _diskCacheDirectory.FullName);
DotNet\DotNetCliRunner.cs (37)
270projectFile.FullName, 333: Path.GetFullPath(Path.Combine(workingDirectory.FullName, binlogDirectory)); 467var sdksDirectory = executionContext.SdksDirectory.FullName; 808cliArgsList.Add(projectFile.FullName); 925false => [watchOrRunCommand, nonInteractiveSwitch, verboseSwitch, noBuildSwitch, noRestoreSwitch, noProfileSwitch, .. launchProfileSwitch, "--project", projectFile.FullName], 929true => ["run", noRestoreSwitch, noProfileSwitch, .. launchProfileSwitch, suppressCliRunHookProperty, "--file", projectFile.FullName] 1045List<string> cliArgs = ["new", "install", localPackagePath?.FullName ?? $"{packageName}@{version}"]; 1183sourcePath = Path.GetFullPath(nugetSource, workingDirectory.FullName); 1259string[] cliArgs = ["restore", projectFilePath.FullName]; 1276string[] cliArgs = ["build", noRestoreSwitch, projectFilePath.FullName]; 1302cliArgsList.AddRange(["--file", projectFilePath.FullName]); 1314cliArgsList.Add(projectFilePath.FullName); 1329logger.LogInformation("Adding package {PackageName} with version {PackageVersion} to project {ProjectFilePath}", packageName, packageVersion, projectFilePath.FullName); 1342logger.LogError("Failed to add package {PackageName} with version {PackageVersion} to project {ProjectFilePath}. See debug logs for more details.", packageName, packageVersion, projectFilePath.FullName); 1346logger.LogInformation("Package {PackageName} with version {PackageVersion} added to project {ProjectFilePath}", packageName, packageVersion, projectFilePath.FullName); 1356string[] cliArgs = ["sln", solutionFile.FullName, "add", projectFile.FullName]; 1358logger.LogInformation("Adding project {ProjectFilePath} to solution {SolutionFilePath}", projectFile.FullName, solutionFile.FullName); 1371logger.LogError("Failed to add project {ProjectFilePath} to solution {SolutionFilePath}. See debug logs for more details.", projectFile.FullName, solutionFile.FullName); 1375logger.LogInformation("Project {ProjectFilePath} added to solution {SolutionFilePath}", projectFile.FullName, solutionFile.FullName); 1418: Path.Combine(workingDirectory.FullName, configPath); 1519cliArgs.Add(nugetConfigFile.FullName); 1590nugetConfigFile?.FullName ?? "(default)", 1671string[] cliArgs = ["sln", solutionFile.FullName, "list"]; 1727: Path.Combine(solutionFile.Directory!.FullName, line); 1739string[] cliArgs = ["add", projectFile.FullName, "reference", referencedProject.FullName]; 1741logger.LogInformation("Adding project reference from {ProjectFile} to {ReferencedProject}", projectFile.FullName, referencedProject.FullName); 1754logger.LogError("Failed to add project reference from {ProjectFile} to {ReferencedProject}. See debug logs for more details.", projectFile.FullName, referencedProject.FullName); 1758logger.LogInformation("Project reference added from {ProjectFile} to {ReferencedProject}", projectFile.FullName, referencedProject.FullName); 1766return ExecuteAsync(["user-secrets", "init", "--project", projectFile.FullName], env: null, projectFile: null, projectFile.Directory!, backchannelCompletionSource: null, options, cancellationToken);
DotNet\ProcessExecutionFactory.cs (2)
57effectiveLogger.LogDebug("Running {FileName} in {WorkingDirectory} with args: {Args}", fileName, workingDirectory.FullName, loggableArgs); 70WorkingDirectory = workingDirectory.FullName,
Git\GitRepository.cs (9)
22logger.LogDebug("Searching for Git repository root from working directory: {WorkingDirectory}", executionContext.WorkingDirectory.FullName); 28WorkingDirectory = executionContext.WorkingDirectory.FullName, 74logger.LogDebug("Found Git repository root: {GitRoot}", directoryInfo.FullName); 97logger.LogDebug("Search root does not exist: {SearchRoot}", searchRoot.FullName); 101logger.LogDebug("Listing git-included files under: {SearchRoot}", searchRoot.FullName); 107WorkingDirectory = searchRoot.FullName, 145logger.LogDebug("git ls-files returned non-zero exit code {ExitCode} from {SearchRoot}: {Error}", process.ExitCode, searchRoot.FullName, errorOutput.Trim()); 154var rootFullName = searchRoot.FullName; 169logger.LogDebug("git ls-files returned {Count} files under {SearchRoot}", includedFiles.Count, searchRoot.FullName);
Git\GitWorktree.cs (6)
78if (parent is null || string.Equals(parent.FullName, current, StringComparison.Ordinal)) 83current = parent.FullName; 180if (parent is null || string.Equals(parent.FullName, current, StringComparison.Ordinal)) 185current = parent.FullName; 238Path.Combine(current.FullName, GitDirFileName), 239current.FullName,
Mcp\Tools\ListAppHostsTool.cs (1)
43var workingDirectory = executionContext.WorkingDirectory.FullName;
Mcp\Tools\SelectAppHostTool.cs (1)
66resolvedPath = Path.GetFullPath(Path.Combine(executionContext.WorkingDirectory.FullName, appHostPath));
Migrations\TypeScriptAppHostMigration.cs (11)
81appHostFile.FullName), 85["appHostPath"] = appHostFile.FullName 101var modernAppHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, LegacyTypeScriptAppHost.ModernAppHostFileName)); 144!LegacyTypeScriptAppHost.IsLegacyLayout(appHostDirectory.FullName)) 161var modernAppHostContent = LegacyTypeScriptAppHost.RewriteAppHostContent(File.ReadAllText(legacyAppHostFile.FullName)); 178File.WriteAllText(modernAppHostFile.FullName, modernAppHostContent); 182var legacyModulesDir = Path.Combine(appHostDirectory.FullName, LanguageInfo.LegacyGeneratedFolderName); 192var configPath = Path.Combine(configDirectory.FullName, AspireConfigFile.FileName); 231var tsConfigPath = Path.Combine(appHostDirectory.FullName, TsConfigFileName); 279var packageJsonPath = Path.Combine(appHostDirectory.FullName, PackageJsonFileName); 324var configPath = Path.Combine(appHostDirectory.FullName, configFileName);
Npm\NpmRunner.cs (1)
184return Directory.CreateTempSubdirectory("aspire-npm-").FullName;
NuGet\BundleNuGetPackageCache.cs (4)
170args.Add(workingDirectory.FullName); 176args.Add(nugetConfigFile.FullName); 188_logger.LogDebug("Working directory: {WorkingDir}", workingDirectory.FullName); 196workingDirectory: workingDirectory.FullName,
NuGet\BundleNuGetService.cs (1)
354return Path.Combine(integrationCacheDirectory.FullName, "package-restore");
NuGet\NuGetPackageCache.cs (2)
77var key = $"TemplatePackages-{workingDirectory.FullName}-{prerelease}-{nuGetConfigHashSuffix}"; 97var key = $"CliPackages-{workingDirectory.FullName}-{prerelease}-{nuGetConfigHashSuffix}";
Packaging\NuGetConfigMerger.cs (4)
88var targetPath = Path.Combine(targetDirectory.FullName, "nuget.config"); 97proposedDocument.Load(tmpConfig.ConfigFile.FullName); 112File.Copy(tmpConfig.ConfigFile.FullName, targetPath, overwrite: true); 935throw new InvalidOperationException($"Multiple NuGet.config files found in '{directory.FullName}' differing only by case.");
Packaging\PackageChannel.cs (4)
285.Select(file => GetPackageFileMetadata(file.FullName)) 334.Select(file => GetPackageFileMetadata(file.FullName)) 418if (GetPackageFileMetadata(file.FullName) is not { } metadata || 426if (PackageHasPolyglotTag(file.FullName, logger))
Packaging\PackageSourceOverrideMappings.cs (1)
28return Path.GetFullPath(source, workingDirectory.FullName);
Packaging\PackagingService.cs (6)
164prPackageChannels.Add(CreateLocalHiveChannel(prHive.Name, new DirectoryInfo(Path.Combine(prHive.FullName, "packages")))); 243identityPackagesDirectory.FullName, 280var packagesPath = PathNormalizer.NormalizePathForStorage(packagesDirectory.FullName); 326var packagesDirectory = new DirectoryInfo(Path.Combine(installPrefix.FullName, "hives", identityChannel, "packages")); 686packagesDirectory.FullName)); 721packagesDirectory.FullName,
Packaging\TemporaryNuGetConfig.cs (2)
23var tempDirectory = Directory.CreateTempSubdirectory("aspire-nuget-config").FullName; 147await File.WriteAllTextAsync(configFile.FullName, content);
Processes\DcpExecutableResolver.cs (1)
29layoutDiscovery.GetComponentPath(LayoutComponent.Dcp, executionContext.WorkingDirectory.FullName);
Processes\ProcessTreeGracefulShutdownService.cs (1)
308workingDirectory: executionContext.WorkingDirectory.FullName,
Profiling\ProfileCaptureOptions.cs (2)
71outputPath = Path.Combine(workingDirectory.FullName, CreateDefaultOutputFileName(timeProvider, sessionId)); 77outputPath = Path.Combine(workingDirectory.FullName, outputPath);
Program.cs (2)
201if (ConfigurationHelper.TryLoadSettingsFile(globalSettingsFile.FullName, out var globalSettings) && 207globalSettingsFile.FullName,
Projects\AppHostCandidateFinder.cs (8)
148logger.LogDebug("Git enumeration unavailable for {SearchDirectory}; falling back to filesystem walk.", searchDirectory.FullName); 182var rootFullName = searchDirectory.FullName; 413.Select(path => new FileInfo(Path.Combine(searchDirectory.FullName, path.Replace('/', Path.DirectorySeparatorChar)))) 529public override string FullName => _directory.FullName; 569return new MatcherDirectoryInfo(new DirectoryInfo(Path.Combine(_directory.FullName, path)), _options, _excludePath, _applyDirectoryExclusions, _pathComparison, _counters, _onDirectoryEnumerated, _depth + 1, _maxDepth, _cancellationToken); 574return new MatcherFileInfo(new FileInfo(Path.Combine(_directory.FullName, path)), _options, _excludePath, _applyDirectoryExclusions, _pathComparison, _counters, _onDirectoryEnumerated, _depth, _maxDepth, _cancellationToken); 590var directoryPath = Path.GetFullPath(directory.FullName); 615public override string FullName => _file.FullName;
Projects\AppHostInfoResolver.cs (1)
25var key = (projectFile.FullName, projectFile.LastWriteTimeUtc);
Projects\AppHostProjectFactory.cs (3)
44_logger.LogDebug("TryGetProject called for file: {AppHostFile}", appHostFile.FullName); 49_logger.LogDebug("No language found for file: {AppHostFile}", appHostFile.FullName); 53_logger.LogDebug("Language detected: {LanguageId} for file: {AppHostFile}", language.LanguageId.Value, appHostFile.FullName);
Projects\AppHostWorkloadId.cs (1)
24return Create(appHostFile.FullName);
Projects\DefaultLanguageDiscovery.cs (2)
106directory.FullName, 124if (language.FindInDirectory(directory.FullName) is not null)
Projects\DotNetAppHostProject.cs (25)
196if (!TryLoadProjectRoot(projectFile.FullName, out var root) || root is null) 299var filePath = Path.Combine(current.FullName, fileName); 709if (TryLoadProjectRoot(projectFile.FullName, out var projectRoot) && projectRoot is not null) 727var filePath = Path.Combine(current.FullName, fileName); 794|| !TryResolveImportPath(containingDirectory.FullName, targetPath, out var resolvedPath)) 1788_logger.LogDebug("Falling back to dotnet run for {Project}; direct AppHost launch is disabled by configuration.", effectiveAppHostFile.FullName); 1835workingDirectory.FullName, 1862effectiveAppHostFile.FullName, 1871effectiveAppHostFile.FullName); 1891effectiveAppHostFile.FullName); 1900effectiveAppHostFile.FullName, 1910effectiveAppHostFile.FullName, 1924effectiveAppHostFile.FullName, 1944=> Path.IsPathFullyQualified(path) ? path : Path.GetFullPath(Path.Combine(baseDirectory.FullName, path)); 1976effectiveAppHostFile.FullName); 1984effectiveAppHostFile.FullName, 2035_logger.LogDebug(ex, "Falling back to dotnet run because launch settings could not be parsed for {Project}.", effectiveAppHostFile.FullName); 2040_logger.LogDebug(ex, "Falling back to dotnet run because launch settings could not be read for {Project}.", effectiveAppHostFile.FullName); 2045_logger.LogDebug(ex, "Falling back to dotnet run because launch settings could not be read for {Project}.", effectiveAppHostFile.FullName); 2052var directory = projectFile.Directory!.FullName; 2201var runJsonFilePath = appHostFile.FullName[..^2] + "run.json"; 2247var profiles = AspireConfigFile.ReadApphostRunProfiles(appHostFile.FullName[..^2] + "run.json"); 2283if (!string.Equals(resolvedAppHostPath, appHostFile.FullName, StringComparison.OrdinalIgnoreCase)) 2469appHostFile.FullName, 2470homeDirectory.FullName,
Projects\ExtensionGuestLauncher.cs (1)
51_appHostFile.FullName,
Projects\FallbackProjectParser.cs (6)
41_logger.LogDebug("Parsing project file '{ProjectFile}' using fallback parser", projectFile.FullName); 64_logger.LogError(ex, "Failed to parse project file '{ProjectFile}' using fallback parser", projectFile.FullName); 65throw new ProjectUpdaterException($"Failed to parse project file '{projectFile.FullName}' using fallback parser: {ex.Message}", ex); 74var doc = XDocument.Load(projectFile.FullName); 79throw new InvalidOperationException($"Invalid project file format: {projectFile.FullName}"); 99var fileContent = File.ReadAllText(projectFile.FullName);
Projects\GuestAppHostProject.cs (37)
191return AspireRepositoryDetector.DetectRepositoryRoot(appHostFile.Directory?.FullName) is not null; 203var integrations = config.GetIntegrationReferences(defaultSdkVersion, directory.FullName).ToList(); 236var config = AspireConfigFile.LoadOrCreate(configDir.FullName, GetEffectiveSdkVersion()); 237_logger.LogInformation("Loaded config from {Directory} (file exists: {Exists})", configDir.FullName, AspireConfigFile.Exists(configDir.FullName)); 242_logger.LogError(ex, "Failed to load configuration from {Directory}", configDir.FullName); 250config.Save(configDir.FullName); 267? AspireConfigFile.Load(GetConfigDirectory(directory).FullName) 300var appHostServerProject = await _appHostServerProjectFactory.CreateAsync(directory.FullName, cancellationToken); 333directory.FullName, 366_logger.LogDebug("AppHost file {File} does not exist", appHostFile.FullName); 381_logger.LogDebug("Validated {Language} AppHost: {File}", _resolvedLanguage.DisplayName, appHostFile.FullName); 391_logger.LogDebug("Running {Language} AppHost: {AppHostFile}", DisplayName, appHostFile.FullName); 418var appHostServerProject = await _appHostServerProjectFactory.CreateAsync(directory.FullName, cancellationToken); 476launchSettingsEnvVars[KnownConfigNames.AspireUserSecretsId] = UserSecretsPathHelper.ComputeSyntheticUserSecretsId(appHostFile.FullName); 518directory.FullName, 618environmentVariables["ASPIRE_PROJECT_DIRECTORY"] = directory.FullName; 619environmentVariables["ASPIRE_APPHOST_FILEPATH"] = appHostFile.FullName; 912var aspireConfig = AspireConfigFile.Load(configDir.FullName); 920_logger.LogWarning(ex, "Failed to load config for launch profiles from {Directory}", configDir.FullName); 924var apphostRunPath = Path.Combine(directory.FullName, "apphost.run.json"); 925var launchSettingsPath = Path.Combine(directory.FullName, "Properties", "launchSettings.json"); 931_logger.LogDebug("No aspire.config.json, apphost.run.json, or launchSettings.json found in {Path}", directory.FullName); 1052_logger.LogDebug("Publishing guest AppHost: {AppHostFile}", appHostFile.FullName); 1058var appHostServerProject = await _appHostServerProjectFactory.CreateAsync(directory.FullName, cancellationToken); 1085launchSettingsEnvVars[KnownConfigNames.AspireHome] = _executionContext.AspireHomeDirectory.FullName; 1094launchSettingsEnvVars[KnownConfigNames.AspireUserSecretsId] = UserSecretsPathHelper.ComputeSyntheticUserSecretsId(appHostFile.FullName); 1129directory.FullName, 1190environmentVariables[KnownConfigNames.AspireHome] = _executionContext.AspireHomeDirectory.FullName; 1192environmentVariables["ASPIRE_PROJECT_DIRECTORY"] = directory.FullName; 1193environmentVariables["ASPIRE_APPHOST_FILEPATH"] = appHostFile.FullName; 1591var appHostServerProject = await _appHostServerProjectFactory.CreateAsync(directory.FullName, cancellationToken); 1597homeDirectory.FullName, 1779var config = AspireConfigFile.Load(configDir.FullName); 2192var id = UserSecretsPathHelper.ComputeSyntheticUserSecretsId(appHostFile.FullName); 2241var existingBundlePath = Path.GetFullPath(existingCertificateBundle, workingDirectory.FullName); 2257_executionContext.AspireHomeDirectory.FullName,
Projects\GuestRuntime.cs (8)
296return new FileInfo(Path.Combine(directory.FullName, resolved)); 316var stampDirectory = stampFile.Directory?.FullName; 325var path = Path.IsPathRooted(trimmed) ? trimmed : Path.Combine(directory.FullName, trimmed); 521File.WriteAllBytes(stampFile.FullName, []); 527_logger.LogDebug(ex, "Unable to write up-to-date stamp {Stamp}.", stampFile.FullName); 588var filePath = Path.Combine(directory.FullName, fileName); 623.Replace("{appHostFile}", appHostFile?.FullName ?? "") 624.Replace("{appHostDir}", directory.FullName);
Projects\JavaAppHostToolchainResolver.cs (18)
117resolution.ProjectDirectory.FullName, 131if (File.Exists(Path.Combine(candidate.FullName, MavenPomFileName))) 133return new(JavaAppHostToolchain.Maven, candidate, $"{MavenPomFileName} found in {candidate.FullName}"); 138if (File.Exists(Path.Combine(candidate.FullName, gradleBuildFileName))) 140return new(JavaAppHostToolchain.Gradle, candidate, $"{gradleBuildFileName} found in {candidate.FullName}"); 145return new(JavaAppHostToolchain.Javac, appHostDirectory, $"no build file found in {appHostDirectory.FullName}"); 189var candidate = Path.Combine(directory.FullName, wrapperName); 190var isProjectDirectory = directory.FullName == projectDirectory.FullName; 196|| (IsBuildRoot(directory.FullName, toolchain) 197&& !IsWorldWritable(directory.FullName) 204var gitPath = Path.Combine(directory.FullName, ".git"); 308$"The Java AppHost project in '{projectDirectory.FullName}' declares a {GetDisplayName(toolchain)} " + 338var relativeWrapperPath = Path.GetRelativePath(appHostDirectory.FullName, wrapperPath); 402var scriptPath = Path.Combine(resolution.ProjectDirectory.FullName, GradleInitScriptPath); 462resolution.ProjectDirectory.FullName, 493var relativePath = Path.GetRelativePath(appHostDirectory.FullName, projectDirectory.FullName);
Projects\LegacyTypeScriptAppHost.cs (1)
170var discoveredPath = detectedLanguage?.FindInDirectory(workingDirectory.FullName);
Projects\PrebuiltAppHostServer.cs (3)
114_workingDirectory = Path.Combine(integrationCacheDirectory.FullName, "apphosts", pathDir); 323nugetConfigPath: temporaryNuGetConfig?.ConfigFile.FullName, 761restoreConfigFile: temporaryNuGetConfig?.ConfigFile.FullName);
Projects\ProcessGuestLauncher.cs (1)
114WorkingDirectory = workingDirectory.FullName,
Projects\ProjectLocator.cs (102)
184candidates.Sort((x, y) => string.Compare(x.AppHostFile.FullName, y.AppHostFile.FullName, StringComparison.Ordinal)); 299logger.LogDebug("Searching for project files in {SearchDirectory}", searchDirectory.FullName); 349logger.LogDebug("Checking candidate file {CandidateFile}", candidateFile.FullName); 354logger.LogTrace("No handler found for {CandidateFile}", candidateFile.FullName); 390logger.LogDebug("Found {Language} apphost {CandidateFile}", handler.DisplayName, candidateFile.FullName); 391var relativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, candidateFile.FullName); 411var relativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, candidateFile.FullName); 416logger.LogDebug("Skipping unsupported project {CandidateFile}", candidateFile.FullName); 424var relativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, candidateFile.FullName); 439logger.LogTrace("File {CandidateFile} is not a valid Aspire host", candidateFile.FullName); 458appHostProjects.Sort((x, y) => string.Compare(x.AppHostFile.FullName, y.AppHostFile.FullName, StringComparison.Ordinal)); 490var settingsCanonicalPath = PathNormalizer.ResolveSymlinks(settingsAppHost.FullName); 493if (string.Equals(candidate.AppHostFile.FullName, settingsAppHost.FullName, pathComparison)) 498var candidateCanonicalPath = PathNormalizer.ResolveSymlinks(candidate.AppHostFile.FullName); 510var relativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, settingsAppHost.FullName); 516logger.LogDebug("Skipping configured AppHost project {SettingsAppHost} because no project handler was found.", settingsAppHost.FullName); 522var settingsAppHostRelativePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, settingsAppHost.FullName); 552logger.LogDebug("Skipping unsupported configured AppHost project {SettingsAppHost}", settingsAppHost.FullName); 589logger.LogWarning("Ignoring AppHost path '{AppHostPath}' from settings because no project handler can process it.", settingsAppHost.FullName); 623if (IsUnder(file.FullName, directory.FullName)) 631return IsUnder(PathNormalizer.ResolveSymlinks(file.FullName), PathNormalizer.ResolveSymlinks(directory.FullName)); 657logger.LogWarning("Ignoring AppHost path '{AppHostPath}' from settings because no project handler can process it.", settingsAppHost.FullName); 670logger.LogWarning("Ignoring AppHost path '{AppHostPath}' from settings because it is not supported in the current environment{MessageSuffix}.", settingsAppHost.FullName, messageSuffix); 678logger.LogWarning("AppHost path '{AppHostPath}' from settings could not be evaluated by MSBuild and may not be buildable{MessageSuffix}.", settingsAppHost.FullName, messageSuffix); 683logger.LogWarning("Ignoring AppHost path '{AppHostPath}' from settings because it is no longer a valid AppHost project{MessageSuffix}.", settingsAppHost.FullName, messageSuffix); 697aspireConfig = AspireConfigFile.Load(searchDirectory.FullName); 707var configFilePath = Path.Combine(searchDirectory.FullName, AspireConfigFile.FileName); 721: Path.Combine(searchDirectory.FullName, configAppHostPath); 727logger.LogInformation("Found AppHost path '{AppHostPath}' from config file in {Directory}", configAppHostPath, searchDirectory.FullName); 743var settingsFile = new FileInfo(ConfigurationHelper.BuildPathToSettingsJsonFile(searchDirectory.FullName)); 754ReportInvalidConfigurationFileShape(settingsFile.FullName, silent); 762ReportInvalidConfiguredAppHostPathType(settingsFile.FullName, LegacySettingsAppHostPathKey, silent); 771if (!IsValidConfiguredAppHostPath(appHostPath, settingsFile.FullName, fieldName: LegacySettingsAppHostPathKey, silent: silent)) 776var qualifiedAppHostPath = Path.IsPathRooted(appHostPath) ? appHostPath : Path.Combine(settingsFile.Directory!.FullName, appHostPath); 794interactionService.DisplayMessage(KnownEmojis.Warning, string.Format(CultureInfo.CurrentCulture, ErrorStrings.AppHostWasSpecifiedButDoesntExist, settingsFile.FullName, qualifiedAppHostPath)); 803var message = string.Format(CultureInfo.CurrentCulture, ErrorStrings.InvalidJsonInConfigFile, settingsFile.FullName, ex.Message); 895if (Directory.Exists(projectFile.FullName)) 897logger.LogDebug("Provided path {Path} is a directory, searching for project files recursively", projectFile.FullName); 898var directory = new DirectoryInfo(projectFile.FullName); 938unbuildableAppHost.FullName, 939directory.FullName); 959logger.LogError("No AppHost project files found in directory {Directory}", directory.FullName); 964logger.LogDebug("Found single AppHost project file {ProjectFile} in directory {Directory}", appHostProjects[0].FullName, directory.FullName); 971logger.LogDebug("Multiple AppHost project files found in directory {Directory}, prompting user to select", directory.FullName); 976file => $"{file.Name.EscapeMarkup()} ({Path.GetRelativePath(executionContext.WorkingDirectory.FullName, file.FullName).EscapeMarkup()})", 982logger.LogDebug("Multiple AppHost project files found in directory {Directory}, selecting none", directory.FullName); 987logger.LogError("Multiple AppHost project files found in directory {Directory}, throwing exception", directory.FullName); 992else if (File.Exists(projectFile.FullName)) 998var resolvedProjectPath = PathNormalizer.ResolveToFilesystemPath(projectFile.FullName); 1000if (!string.Equals(resolvedProjectPath, projectFile.FullName, StringComparison.Ordinal)) 1004projectFile.FullName, 1016logger.LogError("Project file {ProjectFile} does not exist.", projectFile.FullName); 1028logger.LogDebug("Using {Language} apphost {ProjectFile}", handler.DisplayName, projectFile.FullName); 1050projectFile.FullName); 1063return await UseOrFindAppHostProjectFileAsync(new FileInfo(parentDirectory.FullName), multipleAppHostProjectsFoundBehavior, createSettingsFile, displayProgress, cancellationToken); 1076logger.LogDebug("Using AppHost path from settings without scanning: {AppHost}", settingsAppHost.FullName); 1144|| results.BuildableAppHost.Any(c => string.Equals(c.AppHostFile.FullName, settingsAppHost.FullName, pathComparison)))) 1151logger.LogDebug("Using previously-selected AppHost from settings: {AppHost}", settingsAppHost.FullName); 1160MultipleAppHostProjectsFoundBehavior.Prompt => await interactionService.PromptForSelectionAsync(InteractionServiceStrings.SelectAppHostToUse, results.BuildableAppHost.Select(c => c.AppHostFile).ToList(), projectFile => $"{projectFile.Name.EscapeMarkup()} ({Path.GetRelativePath(executionContext.WorkingDirectory.FullName, projectFile.FullName).EscapeMarkup()})", cancellationToken: cancellationToken), 1171&& string.Equals(selectedAppHost.FullName, settingsAppHost?.FullName, environment.IsWindows() ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal); 1184&& !allCandidates.Any(f => string.Equals(f.FullName, selectedAppHost.FullName, environment.IsWindows() ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal))) 1238IsValidConfiguredAppHostPath(existingPath, settingsFile.FullName, AspireConfigAppHostPathKey, silent: true)) 1241Path.IsPathRooted(existingPath) ? existingPath : Path.Combine(settingsFile.Directory!.FullName, existingPath)); 1243if (IsSamePersistedAppHostPath(resolvedPath, projectFile.FullName, environment)) 1247settingsFile.FullName, 1248projectFile.FullName); 1259projectFile.FullName, 1265logger.LogDebug("Creating settings file at {SettingsFilePath}", settingsFile.FullName); 1267var relativePathToProjectFile = Path.GetRelativePath(settingsFile.Directory!.FullName, projectFile.FullName).Replace(Path.DirectorySeparatorChar, '/'); 1270await ConfigurationService.SetConfigurationInFileAsync(settingsFile.FullName, AspireConfigAppHostPathKey, relativePathToProjectFile, cancellationToken); 1276await ConfigurationService.SetConfigurationInFileAsync(settingsFile.FullName, "appHost.language", language.LanguageId.Value, cancellationToken); 1287await ConfigurationService.SetConfigurationInFileAsync(settingsFile.FullName, "sdk.version", inheritedSdkVersion, cancellationToken); 1292var relativeSettingsFilePath = Path.GetRelativePath(executionContext.WorkingDirectory.FullName, settingsFile.FullName).Replace(Path.DirectorySeparatorChar, '/'); 1312targetSettingsFilePath = Path.Combine(parentDirectory.FullName, AspireConfigFile.FileName); 1322logger.LogDebug("Using existing config file at {Path}", configuredSettingsFile.FullName); 1328var newConfigPath = Path.Combine(configRoot.FullName, AspireConfigFile.FileName); 1339return AspireConfigFile.Load(configRoot.FullName); 1342var legacySettingsFile = new FileInfo(ConfigurationHelper.BuildPathToSettingsJsonFile(configRoot.FullName)); 1348logger.LogInformation("Migrating legacy settings from {LegacyDir} to {ConfigFile}", configRoot.FullName, settingsFile.FullName); 1349return AspireConfigFile.LoadOrCreate(configRoot.FullName); 1374var normalizedSettingsPath = PathNormalizer.ResolveSymlinks(settingsFile.FullName) 1379return Path.Combine(executionContext.CacheDirectory.FullName, "workspace-config-locks", $"{lockFileName}.lock"); 1390var userProfile = executionContext.HomeDirectory.FullName;
Projects\ProjectUpdater.cs (43)
34logger.LogDebug("Fetching '{AppHostPath}' items and properties.", projectFile.FullName); 40logger.LogInformation("No updates required for project: {ProjectFile}", projectFile.FullName); 50.GroupBy(step => step.ProjectFile.FullName) 101var fallbackNuGetConfigDirectory = executionContext.WorkingDirectory.FullName; 196throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.FailedToRestoreAfterUpdateFormat, projectFile.FullName)); 286var configToSave = AspireConfigFile.LoadOrCreate(configRoot.FullName); 289configToSave.Save(configRoot.FullName); 315var cacheKey = $"{ItemsAndPropertiesCacheKeyPrefix}_{projectFile.FullName}_{itemsKey}_{propertiesKey}"; 324throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.FailedFetchItemsAndPropertiesFormat, projectFile.FullName)); 345logger.LogWarning("Falling back to parsing for '{ProjectFile}'. Reason: {Message}", projectFile.FullName, ex.Message); 359return string.Equals(projectFile.FullName, context.AppHostProjectFile.FullName, StringComparison.OrdinalIgnoreCase); 367var appHostProjectAnalyzeStep = new AnalyzeStep(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.AnalyzeProjectFormat, context.AppHostProjectFile.FullName), () => AnalyzeProjectAsync(context.AppHostProjectFile, context, cancellationToken)); 403logger.LogDebug("Analyzing App Host SDK for: {AppHostFile}", context.AppHostProjectFile.FullName); 504projectDocument.Load(projectFile.FullName); 525propsDocument.Load(cpmInfo.DirectoryPackagesPropsFile.FullName); 546projectDocument.Load(projectFile.FullName); 551projectDocument.Save(projectFile.FullName); 583projectDocument.Load(projectFile.FullName); 693projectDocument.Load(projectFile.FullName); 698throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.CouldNotFindRootProjectElementFormat, projectFile.FullName)); 716throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.CouldNotFindSdkElementFormat, projectFile.FullName)); 739projectDocument.Save(projectFile.FullName); 832propsDocument.Load(cpmInfo.DirectoryPackagesPropsFile.FullName); 849propsDocument.Save(cpmInfo.DirectoryPackagesPropsFile.FullName); 862cpmInfo.DirectoryPackagesPropsFile.FullName, 870var fileContent = await File.ReadAllTextAsync(projectFile.FullName); 878"Could not find '#:sdk Aspire.AppHost.Sdk@<version>' directive in single-file AppHost: {0}", projectFile.FullName)); 892await File.WriteAllTextAsync(projectFile.FullName, updatedContent); 909var fileContent = File.ReadAllText(projectFile.FullName); 922var fileContent = await File.ReadAllTextAsync(projectFile.FullName); 927await File.WriteAllTextAsync(projectFile.FullName, updatedContent); 933if (!context.VisitedProjects.Add(projectFile.FullName)) 973context.AnalyzeSteps.Enqueue(new AnalyzeStep(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.AnalyzeProjectFormat, referencedProjectFile.FullName), () => AnalyzeProjectAsync(referencedProjectFile, context, cancellationToken))); 1033var directoryPackagesPropsPath = Path.Combine(current.FullName, "Directory.Packages.props"); 1112doc.Load(directoryPackagesPropsFile.FullName); 1156logger.LogInformation(ex, "Ignoring parsing error in Directory.Packages.props '{DirectoryPackagesPropsFile}' for project '{ProjectFile}'", directoryPackagesPropsFile.FullName, projectFile.FullName); 1197logger.LogWarning(ex, "Exception while resolving MSBuild property '{PropertyName}' for project '{ProjectFile}'", propertyName, projectFile.FullName); 1210doc.Load(directoryPackagesPropsFile.FullName); 1215throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.CouldNotFindPackageVersionInDirectoryPackagesProps, packageId, directoryPackagesPropsFile.FullName)); 1219doc.Save(directoryPackagesPropsFile.FullName); 1243throw new ProjectUpdaterException(string.Format(CultureInfo.InvariantCulture, UpdateCommandStrings.FailedUpdatePackageReferenceFormat, package.Id, projectFile.FullName));
Projects\SolutionLocator.cs (6)
20logger.LogDebug("Searching for solution files starting from {StartDirectory}", startDirectory.FullName); 26logger.LogDebug("No solution files found in {Directory} or subdirectories", startDirectory.FullName); 30logger.LogDebug("Found {Count} solution file(s) in {Directory}", solutionFiles.Count, startDirectory.FullName); 43solutionFile => $"{solutionFile.Name.EscapeMarkup()} ({Path.GetRelativePath(startDirectory.FullName, solutionFile.FullName).EscapeMarkup()})", 87.OrderBy(f => f.Directory?.FullName.Count(c => c == Path.DirectorySeparatorChar) ?? 0)
Projects\TypeScriptAppHostToolchainResolver.cs (11)
59if (File.Exists(Path.Combine(candidateDirectory.FullName, BunLockFileName))) 64if (File.Exists(Path.Combine(candidateDirectory.FullName, BunBinaryLockFileName))) 69if (File.Exists(Path.Combine(candidateDirectory.FullName, PnpmLockFileName))) 74var yarnLockFilePath = Path.Combine(candidateDirectory.FullName, YarnLockFileName); 85if (File.Exists(Path.Combine(candidateDirectory.FullName, YarnConfigFileName))) 90if (File.Exists(Path.Combine(candidateDirectory.FullName, PackageLockFileName))) 96return new(TypeScriptAppHostToolchain.Npm, $"no package manager marker found in {appHostDirectory.FullName} or an eligible parent directory"); 302var packageJsonPath = Path.Combine(appHostDirectory.FullName, PackageJsonFileName); 427var parentPath = Path.TrimEndingDirectorySeparator(parentDirectory.FullName); 428if (string.Equals(parentPath, Path.TrimEndingDirectorySeparator(parentDirectory.Root.FullName), pathComparison)) 440return new(toolchain, $"{markerName} found in {directory.FullName}");
Scaffolding\ScaffoldingService.cs (23)
92var config = AspireConfigFile.LoadOrCreate(directory.FullName, sdkVersion); 121config.Save(directory.FullName); 126var integrations = config.GetIntegrationReferences(sdkVersion, directory.FullName).ToList(); 133Directory.CreateDirectory(scaffoldDirectory.FullName); 135var appHostServerProject = await _appHostServerProjectFactory.CreateAsync(scaffoldDirectory.FullName, cancellationToken); 164scaffoldDirectory.FullName, 169var conflictingFiles = GetConflictingScaffoldFiles(scaffoldDirectory.FullName, scaffoldFiles.Keys); 174scaffoldDirectory.FullName, 184var filePath = Path.Combine(scaffoldDirectory.FullName, fileName); 225scaffoldDirectory.FullName, 242var appHostRunPath = Path.Combine(scaffoldDirectory.FullName, "apphost.run.json"); 262config.Save(directory.FullName); 268if (IsTypeScriptLanguage(language) && File.Exists(Path.Combine(directory.FullName, PackageJsonFileName))) 272return new DirectoryInfo(Path.Combine(directory.FullName, BrownfieldTypeScriptAppHostDirectoryName)); 282return Path.Combine(scaffoldDirectory.FullName, appHostFileName); 288rootDirectory.FullName.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar), 289scaffoldDirectory.FullName.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar), 294var packageJsonPath = Path.Combine(rootDirectory.FullName, PackageJsonFileName); 311var relativeAppHostDirectory = PathNormalizer.NormalizePathForStorage(Path.GetRelativePath(rootDirectory.FullName, appHostDirectory.FullName)); 369Path.GetRelativePath(rootDirectory.FullName, Path.Combine(scaffoldDirectory.FullName, appHostFileName))); 509!File.Exists(Path.Combine(directory.FullName, PackageJsonFileName)) ||
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Telemetry\InternalMicrosoftDetector.cs (3)
61Path.Combine(executionContext.CacheDirectory.FullName, CacheSubdirectoryName, CacheFileName), 593var copilotHome = Path.Combine(_executionContext.HomeDirectory.FullName, ".copilot"); 1063var home = _executionContext.HomeDirectory.FullName;
Telemetry\ProfilingTelemetry.cs (5)
972public void SetAppHostDiscoverySearchDirectory(DirectoryInfo searchDirectory) => SetTag(Tags.AppHostDiscoverySearchDirectory, searchDirectory.FullName); 1059SetTag(Tags.DotNetProjectFile, projectFile?.FullName); 1060SetTag(Tags.DotNetWorkingDirectory, workingDirectory.FullName); 1072SetTag(Tags.GuestWorkingDirectory, workingDirectory.FullName); 1079SetTag(Tags.GitWorkingDirectory, workingDirectory.FullName);
Templating\CliTemplateFactory.cs (13)
122(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 131(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 142(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 153(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 164(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 175(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 186(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 197(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 210(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 219(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 264_executionContext.WorkingDirectory.FullName, 268var outputPathValidator = OutputPathHelper.CreateOutputPathValidator(_executionContext.WorkingDirectory.FullName); 380var currentDir = _executionContext.WorkingDirectory.FullName;
Templating\DotNetTemplateFactory.cs (14)
103var sdkInstallPath = Path.Combine(executionContext.SdksDirectory.FullName, "dotnet", DotNetSdkInstaller.MinimumSdkVersion); 136(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 145(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 156(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 166(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 175(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 186(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 196(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 206(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 219(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 240(ctx, projectName) => OutputPathHelper.GetUniqueDefaultOutputPath(projectName, ctx.WorkingDirectory.FullName), 421executionContext.WorkingDirectory.FullName, 616executionContext.WorkingDirectory.FullName, 620var validator = OutputPathHelper.CreateOutputPathValidator(executionContext.WorkingDirectory.FullName);
Templating\TemplateNuGetConfigService.cs (1)
66var normalizedWorkingPath = workingDir.FullName;
Utils\AppHostHelper.cs (4)
78var relativePath = Path.GetRelativePath(workingDirectory.FullName, projectFile.FullName); 92var relativePath = Path.GetRelativePath(workingDirectory.FullName, projectFile.FullName);
Utils\AspireRepositoryDetector.cs (1)
102currentDirectory = Directory.GetParent(currentDirectory)?.FullName;
Utils\CliDownloader.cs (1)
59var tempDir = Directory.CreateTempSubdirectory("aspire-cli-download").FullName;
Utils\CliPathHelper.cs (2)
70return Path.Combine(aspireHomeDirectory.FullName, StagingNuGetPackagesFolderName); 370return resolved?.FullName;
Utils\ConfigurationHelper.cs (9)
36var newSettingsPath = Path.Combine(currentDirectory.FullName, AspireConfigFile.FileName); 63var legacySettingsPath = BuildPathToSettingsJsonFile(currentDirectory.FullName); 74if (File.Exists(globalSettingsFile.FullName)) 76AddSettingsFile(configuration, globalSettingsFile.FullName); 82AddSettingsFile(configuration, localSettingsFile.FullName); 135return new DirectoryInfo(Path.Combine(configRoot.FullName, AspireJsonConfiguration.SettingsFolder)); 141return new DirectoryInfo(Path.Combine(workspaceAspireDirectory.FullName, IntegrationCacheFolderName)); 154var configPath = Path.Combine(searchDir.FullName, AspireConfigFile.FileName); 160var legacyPath = BuildPathToSettingsJsonFile(searchDir.FullName);
Utils\EnvironmentChecker\AspireVersionCheck.cs (5)
322logger.LogDebug(ex, "Failed to check Aspire AppHost version for {AppHostPath}.", appHostFile.FullName); 349var directory = configDirectory.FullName; 391executionContext.WorkingDirectory.FullName); 420return Path.GetRelativePath(executionContext.WorkingDirectory.FullName, file.FullName);
Utils\EnvironmentChecker\DcpConnectionChecker.cs (1)
228var sessionDirectory = Directory.CreateTempSubdirectory("aspire-dcp-doctor-").FullName;
Utils\EnvironmentChecker\DcpConnectionHealthCheck.cs (1)
32var dcpDirectory = layoutDiscovery.GetComponentPath(LayoutComponent.Dcp, executionContext.WorkingDirectory.FullName);
Utils\EnvironmentChecker\DeprecatedAgentConfigCheck.cs (1)
46var configPath = Path.Combine(workingDirectory.FullName, location.RelativePath);
Utils\EnvironmentChecker\LegacySettingsFileCheck.cs (2)
40var modernConfigPath = Path.Combine(searchDir.FullName, AspireConfigFile.FileName); 47var legacySettingsPath = ConfigurationHelper.BuildPathToSettingsJsonFile(searchDir.FullName);
Utils\EnvironmentChecker\TypeScriptAppHostToolingCheck.cs (2)
79["appHostPath"] = appHostFile.FullName 129["appHostPath"] = appHostFile.FullName
Utils\EnvironmentChecker\VsCodeExtensionCheck.cs (1)
159var home = homeDirectory.FullName;
Aspire.Acquisition.Tests (9)
Scripts\Common\ScriptFunctionCommand.cs (1)
60var repoRoot = TestUtils.FindRepoRoot()?.FullName
Scripts\Common\ScriptHostFixture.cs (1)
35var repoRoot = TestUtils.FindRepoRoot()?.FullName
Scripts\Common\ScriptToolCommand.cs (1)
64var repoRoot = TestUtils.FindRepoRoot()?.FullName
Scripts\Common\TestEnvironment.cs (1)
30TempDirectory = Directory.CreateTempSubdirectory("aspire-test-").FullName;
Scripts\LocalHiveScriptFunctionTests.cs (1)
107var repoRoot = Aspire.Templates.Tests.TestUtils.FindRepoRoot()?.FullName
Scripts\PipedInstallTests.cs (2)
125var repoRoot = TestUtils.FindRepoRoot()?.FullName 147var repoRoot = TestUtils.FindRepoRoot()?.FullName
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
Aspire.Cli.EndToEnd.Tests (246)
AgentCommandTests.cs (6)
91var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".mcp.json"); 146var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".mcp.json"); 182var vscodePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".vscode"); 215var skillFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", "aspire", "SKILL.md"); 218var deploymentSkillFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", "aspire-deployment", "SKILL.md"); 262var skillsRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills");
AgentMcpExcludeFromMcpTests.cs (1)
37var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "McpExcludeApp", "McpExcludeApp.AppHost", "AppHost.cs");
AppHostSyntaxErrorOutputTests.cs (1)
118configureProject(Path.Combine(workspace.WorkspaceRoot.FullName, projectName));
BundleSmokeTests.cs (4)
64var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 88var appHostProjectRelativePath = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, appHostProjectPath); 129var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName); 222var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
CentralPackageManagementTests.cs (3)
44var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, "CpmTest"); 156var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, "CpmTest"); 279var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, "CpmTest");
ChannelUpdateWorkflowTests.cs (4)
83var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 256var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 297var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 339var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
ConfigDiscoveryTests.cs (3)
52var workspaceRoot = workspace.WorkspaceRoot.FullName; 162workspace.WorkspaceRoot.FullName, projectName, "aspire.config.json"); 164workspace.WorkspaceRoot.FullName, "aspire.config.json");
ConfigHealingTests.cs (1)
48workspace.WorkspaceRoot.FullName,
ConfigMigrationTests.cs (1)
45var aspireHomeDir = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-home");
CSharpInitTests.cs (2)
55var appHostCs = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 56var aspireConfigJson = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json");
CSharpProjectModeInitTests.cs (7)
67var solutionPath = Path.Combine(workspace.WorkspaceRoot.FullName, solutionFileName); 85var workspaceNuGetConfig = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 86var appHostCsproj = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.AppHost", "Test.AppHost.csproj"); 139var solutionPath = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln"); 141var appHostDir = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.AppHost")); 142var leftoverPath = Path.Combine(appHostDir.FullName, "leftover.txt"); 158var workspaceNuGetConfig = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config");
DescribeCommandTests.cs (1)
111var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, "AspireReplicaTestApp");
DockerComposeDeployWithVolumeTests.cs (1)
90Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
DockerDeploymentTests.cs (2)
54var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName); 150var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
DocsCommandE2ETests.cs (1)
19var docsFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "llms-small.txt");
DoctorCommandTests.cs (1)
184TypeScriptAppHostToolchainTestHelpers.SetPackageManager(workspace.WorkspaceRoot.FullName, toolchain, cleanInstallState: true);
EmulatedLocalReleaseBuildTests.cs (5)
85var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 94var appHostCsproj = Path.Combine(projectDir.FullName, $"{projectName}.AppHost", $"{projectName}.AppHost.csproj"); 153var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 154var configPath = Path.Combine(projectDir.FullName, "aspire.config.json"); 302.Select(f => f.FullName)
EmulatedReleasedBuildTests.cs (5)
71var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 78var appHostCsproj = Path.Combine(projectDir.FullName, $"{projectName}.AppHost", $"{projectName}.AppHost.csproj"); 129var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 130var configPath = Path.Combine(projectDir.FullName, "aspire.config.json"); 215.Select(f => f.FullName)
EmulatedStagingBuildTests.cs (7)
81var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 89var appHostCsproj = Path.Combine(projectDir.FullName, $"{projectName}.AppHost", $"{projectName}.AppHost.csproj"); 142var projectDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectName)); 143var configPath = Path.Combine(projectDir.FullName, "aspire.config.json"); 257$"Emulating a staging build, 'aspire new' must drop exactly one NuGet.config pinning the darc feed. Found: {nuGetConfigs.Count} ({string.Join(", ", nuGetConfigs.Select(f => f.FullName))})."); 259var configPath = nuGetConfigs[0].FullName; 365.Select(f => f.FullName)
EntityFrameworkCoreDeploymentTests.cs (2)
133var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName); 153var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
Helpers\CliE2EAutomatorHelpers.cs (2)
571await auto.PrepareBashEnvironmentAsync(workspace.WorkspaceRoot.FullName, counter, TimeSpan.FromSeconds(10)); 572await auto.RunCommandAsync($"export ASPIRE_E2E_WORKSPACE={AspireCliShellCommandHelpers.QuoteBashArg(workspace.WorkspaceRoot.FullName)}", counter);
Helpers\CliE2ETestHelpers.cs (9)
217output.WriteLine($" Workspace: {workspace?.WorkspaceRoot.FullName ?? "(none)"}"); 242c.Volumes.Add($"{workspace.WorkspaceRoot.FullName}:/workspace/{workspace.WorkspaceRoot.Name}"); 395options.Volumes.Add($"{workspace.WorkspaceRoot.FullName}:/workspace/{workspace.WorkspaceRoot.Name}"); 413output.WriteLine($" Workspace: {workspace?.WorkspaceRoot.FullName ?? "(none)"}"); 607if (File.Exists(Path.Combine(dir.FullName, "Aspire.slnx"))) 609return dir.FullName; 916var relativePath = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, hostPath); 1147Directory.CreateDirectory(destDir).FullName, 1160var destDir = Directory.CreateDirectory(GetCaptureRootDirectory(testName)).FullName;
Helpers\CliInstallStrategyTests.cs (28)
49(CliE2ETestHelpers.CliArchiveDirEnvironmentVariableName, tempDir.FullName), 56Assert.Equal(tempDir.FullName, strategy.ArchiveDir); 77(CliE2ETestHelpers.CliArchiveDirEnvironmentVariableName, tempDir.FullName), 84Assert.Equal(tempDir.FullName, strategy.ArchiveDir); 124(CliE2ETestHelpers.CliArchiveDirEnvironmentVariableName, tempDir.FullName)); 131Assert.Contains($"{tempDir.FullName}:/tmp/aspire-cli-archives:ro", options.Volumes); 451("ASPIRE_E2E_DOTNET_TOOL_SOURCE", tempDir.FullName), 465Assert.Equal(tempDir.FullName, strategy.NupkgSourcePath); 480File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.13.3.0-preview.1.25175.1.nupkg"), ""); 481File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.linux-x64.13.3.0-preview.1.25175.1.nupkg"), ""); 485("ASPIRE_E2E_DOTNET_TOOL_SOURCE", tempDir.FullName), 499Assert.Equal(tempDir.FullName, strategy.NupkgSourcePath); 645var strategy = CliInstallStrategy.FromDotnetToolLocalSource(tempDir.FullName, "13.3.0"); 694var strategy = CliInstallStrategy.FromDotnetToolLocalSource(tempDir.FullName, "13.3.0"); 749(CliE2ETestHelpers.CliArchiveDirEnvironmentVariableName, tempDir.FullName), 756Assert.Equal(tempDir.FullName, strategy.ArchiveDir); 777File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.13.3.0-preview.1.12345.1.nupkg"), ""); 779var strategy = CliInstallStrategy.FromLocalArchive(tempDir.FullName); 795File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.linux-x64.13.3.0.nupkg"), ""); 797var strategy = CliInstallStrategy.FromLocalArchive(tempDir.FullName); 813File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.13.3.0.nupkg"), ""); 814File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.13.4.0.nupkg"), ""); 816var exception = Assert.Throws<InvalidOperationException>(() => CliInstallStrategy.FromLocalArchive(tempDir.FullName)); 833File.WriteAllText(Path.Combine(tempDir.FullName, "Aspire.Cli.linux-x64.13.3.0.nupkg"), ""); 835var exception = Assert.Throws<InvalidOperationException>(() => CliInstallStrategy.FromDotnetToolLocalSource(tempDir.FullName)); 854("ASPIRE_E2E_DOTNET_TOOL_SOURCE", nupkgDir.FullName), 861(CliE2ETestHelpers.CliArchiveDirEnvironmentVariableName, archiveDir.FullName), 868Assert.Equal(nupkgDir.FullName, strategy.NupkgSourcePath);
Helpers\TerminalRun.cs (2)
86var diagnosticsSource = Path.Combine(_workspace.WorkspaceRoot.FullName, CliE2EAutomatorHelpers.DiagnosticsDirectoryName); 101WriteTestOutput($"[TerminalRun] Source workspace: {_workspace.WorkspaceRoot.FullName}");
JavaCodegenValidationTests.cs (1)
52var modulesDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire/modules");
JavaEmptyAppHostTemplateTests.cs (1)
37Path.Combine(workspace.WorkspaceRoot.FullName, "JavaEmptyApp"),
JavaPolyglotApphostDirectoryTests.cs (1)
73var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "javaapp", "AppHost.java");
JavaPolyglotTests.cs (1)
55var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.java");
JavaScriptPublishTests.cs (8)
52CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 114CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 145var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 178var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 213var appDir = Path.Combine(workspace.WorkspaceRoot.FullName, appName); 277File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "verify-runtime.sh"), $$""" 330File.Copy(file, Path.Combine(workspace.WorkspaceRoot.FullName, Path.GetFileName(file))); 336var targetDir = Path.Combine(workspace.WorkspaceRoot.FullName, Path.GetFileName(fixtureDir));
KubernetesDeployBasicApiServiceTests.cs (1)
96Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployTypeScriptTests.cs (1)
76var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
KubernetesDeployTypeScriptWithPersistentVolumeTests.cs (1)
91var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
KubernetesDeployWithGarnetTests.cs (1)
106Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithHelmChartTests.cs (1)
103Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithMongoDBTests.cs (1)
109Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithMySqlTests.cs (1)
103Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithNatsTests.cs (1)
102Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithPersistentVolumeTests.cs (1)
150Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithPostgresTests.cs (1)
103Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithProjectPersistentVolumeTests.cs (1)
131Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithRabbitMQTests.cs (1)
99Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithRedisTests.cs (1)
111Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithSqlServerTests.cs (1)
103Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesDeployWithValkeyTests.cs (1)
106Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
KubernetesPublishRequiresExternalEndpointTests.cs (1)
89var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
KubernetesPublishTests.cs (2)
133var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName); 341workspace.WorkspaceRoot.FullName,
LaunchProfileTests.cs (2)
27File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "LaunchProfile.sln"), "Fake solution file"); 39var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "LaunchProfile.AppHost");
LocalConfigMigrationTests.cs (2)
89var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"); 142var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "StaleConfigApp", "aspire.config.json");
NewChannelNuGetConfigTests.cs (1)
63var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "nuget.config");
OllamaIntegrationTests.cs (2)
52var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName); 74var crashDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName, "crash");
PersistentContainerEndToEndTests.cs (1)
134Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName),
PodmanDeploymentTests.cs (1)
64var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName);
ProjectReferenceTests.cs (1)
45var workDir = workspace.WorkspaceRoot.FullName;
PsCommandTests.cs (1)
96var outputFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "ps-output.json");
PythonReactTemplateTests.cs (1)
36Path.Combine(workspace.WorkspaceRoot.FullName, "AspirePyReactApp"),
RadiusDeployTests.cs (2)
116workspace.WorkspaceRoot.FullName, 144var appBicepPath = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName, "radius-output", "app.bicep");
RadiusPublishTests.cs (2)
81workspace.WorkspaceRoot.FullName, 112var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, ProjectName, "radius-output");
ResourceCommandTests.cs (4)
40var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs"); 138var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs"); 235var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs"); 343var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs");
SdkExportTests.cs (2)
24var scriptPath = Path.Combine(workspace.WorkspaceRoot.FullName, "run-sdk-export.sh"); 25var exportPath = Path.Combine(workspace.WorkspaceRoot.FullName, "sdk-export.json");
SelfUpdateChannelPersistenceTests.cs (1)
39var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
SingleFileAppHostInitDotnetRunTests.cs (3)
66var appHostCs = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 67var aspireConfigJson = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"); 68var appHostRunJson = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.run.json");
SmokeTests.cs (2)
130var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs"); 166var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
StartStopTests.cs (4)
111var bothInstancesPath = Path.Combine(workspace.WorkspaceRoot.FullName, "both-instances.json"); 112var remainingInstancePath = Path.Combine(workspace.WorkspaceRoot.FullName, "remaining-instance.json"); 113var stoppedInstancesPath = Path.Combine(workspace.WorkspaceRoot.FullName, "stopped-instances.json"); 249var assertionScript = Path.Combine(workspace.WorkspaceRoot.FullName, "assert-detached-process-group.py");
StopForceTests.cs (1)
43var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, projectName, "apphost.cs");
StopNonInteractiveTests.cs (2)
176await auto.TypeAsync($"cd {CliE2ETestHelpers.ToContainerPath(workspace.WorkspaceRoot.FullName, workspace)}"); 241await auto.TypeAsync($"cd {CliE2ETestHelpers.ToContainerPath(workspace.WorkspaceRoot.FullName, workspace)}");
TerminalCommandTests.cs (1)
35var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TerminalSupportApp", "apphost.mts");
tests\Aspire.Hosting.TestUtilities\Utils\MSBuildUtils.cs (1)
15directory = Directory.GetParent(directory)!.FullName;
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
TypeScriptBlazorGatewayTests.cs (3)
65CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 77var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 90var verificationScriptPath = Path.Combine(workspace.WorkspaceRoot.FullName, "verify-blazor-gateway.sh");
TypeScriptCodegenValidationTests.cs (9)
53TypeScriptAppHostToolchainTestHelpers.SetPackageManager(workspace.WorkspaceRoot.FullName, toolchain, cleanInstallState: true); 61CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 80workspace.WorkspaceRoot.FullName, 93var modulesDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "modules"); 164var modulesDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "modules"); 225var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"); 238var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 289var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 371var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts");
TypeScriptEmptyAppHostTemplateTests.cs (4)
37var appDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "TsEmptyApp"); 92var appDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "TsDeadlockRepro"); 108File.WriteAllText(Path.Combine(extensionDirectory.FullName, "DeadlockExtension.csproj"), $$""" 123File.WriteAllText(Path.Combine(extensionDirectory.FullName, "DeadlockExtensions.cs"), """
TypeScriptLegacyAppHostTests.cs (2)
58ConvertScaffoldToLegacyAppHostTs(workspace.WorkspaceRoot.FullName); 77AssertLegacyModulesLayout(workspace.WorkspaceRoot.FullName);
TypeScriptMigrateAppHostTests.cs (2)
58ConvertScaffoldToLegacyAppHostTs(workspace.WorkspaceRoot.FullName); 74AssertModernModulesLayout(workspace.WorkspaceRoot.FullName);
TypeScriptPolyglotApphostDirectoryTests.cs (1)
59var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "tsapp");
TypeScriptPolyglotTests.cs (15)
61TypeScriptAppHostToolchainTestHelpers.SetPackageManager(workspace.WorkspaceRoot.FullName, toolchain, cleanInstallState: true); 69CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 80var viteProjectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "viteapp"); 96var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 120workspace.WorkspaceRoot.FullName, 184TypeScriptAppHostToolchainTestHelpers.SetPackageManager(workspace.WorkspaceRoot.FullName, appHostToolchain, cleanInstallState: true); 188CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 195var viteProjectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "viteapp"); 206var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 226workspace.WorkspaceRoot.FullName, 270TypeScriptAppHostToolchainTestHelpers.SetPackageManager(workspace.WorkspaceRoot.FullName, toolchain, cleanInstallState: true); 274CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 282workspace.WorkspaceRoot.FullName, 331Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), 352var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "packages", "brownfield");
TypeScriptPublishTests.cs (9)
62var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 125CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion); 147var artifactsPath = Path.Combine(workspace.WorkspaceRoot.FullName, "artifacts"); 238var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 266var dockerComposePath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-output", "docker-compose.yaml"); 313var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 344var envFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "artifacts", ".env"); 354var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 388Path.Combine(workspace.WorkspaceRoot.FullName, fixtureName));
TypeScriptReusablePackageTests.cs (15)
31var appDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "app")); 32var helperDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "packages", "aspire-commands")); 35await auto.TypeAsync($"cd {CliE2ETestHelpers.ToContainerPath(appDirectory.FullName, workspace)}"); 44var appAppHostPath = Path.Combine(appDirectory.FullName, "apphost.mts"); 57var helperAppHostPath = Path.Combine(helperDirectory.FullName, "apphost.mts"); 60await auto.TypeAsync($"cd {CliE2ETestHelpers.ToContainerPath(helperDirectory.FullName, workspace)}"); 69var helperModulesDirectory = Path.Combine(helperDirectory.FullName, ".aspire", "modules"); 77await auto.TypeAsync($"cd {CliE2ETestHelpers.ToContainerPath(appDirectory.FullName, workspace)}"); 93var configPath = Path.Combine(appDirectory.FullName, "aspire.config.json"); 101File.WriteAllText(Path.Combine(appDirectory.FullName, "apphost.mts"), """ 113File.WriteAllText(Path.Combine(appDirectory.FullName, "tsconfig.json"), """ 141File.WriteAllText(Path.Combine(helperDirectory.FullName, "aspire.config.json"), $$""" 155File.WriteAllText(Path.Combine(helperDirectory.FullName, "package.json"), """ 171File.WriteAllText(Path.Combine(helperDirectory.FullName, "tsconfig.json"), """ 194File.WriteAllText(Path.Combine(helperSourceDirectory.FullName, "index.ts"), """
TypeScriptSqlServerNativeAssetsBundleTests.cs (1)
54var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts");
TypeScriptStarterSmokeTests.cs (1)
50var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "TsStarterApp");
TypeScriptStarterTemplateTests.cs (1)
37var projectRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "TsStarterApp");
UpdateChannelNuGetConfigOrderingTests.cs (4)
95var appHostCsPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 96var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 97var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"); 142CliE2ETestHelpers.WriteLocalChannelSettings(workspace.WorkspaceRoot.FullName, localChannel.SdkVersion);
Aspire.Cli.Tests (3910)
Acquisition\IdentityResolverTests.cs (19)
27WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","channel":"staging"}"""); 42WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","channel":"staging"}"""); 85WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","channel":"staging"}"""); 170WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","version":"garbage"}"""); 270WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","nugetServiceIndexOverride":"http://sidecar/v3/index.json"}"""); 285WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","nugetServiceIndexOverride":"http://proxy.local/v3/index.json"}"""); 311WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","packages":"/sidecar/packages"}"""); 326WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script","packages":"/sidecar/packages"}"""); 376WriteSidecar(workspace.WorkspaceRoot.FullName, JsonSerializer.Serialize(sidecar)); 408workspace.WorkspaceRoot.FullName, 431WriteSidecar(workspace.WorkspaceRoot.FullName, """{"source":"script"}"""); 451workspace.WorkspaceRoot.FullName, 458[IdentityResolver.PackagesEnvVar] = packagesDirectory.FullName, 467Assert.Equal(packagesDirectory.FullName, context.IdentityPackagesDirectory!.FullName); 517IdentityField.Packages => workspace.CreateDirectory("identity-packages").FullName, 566workspace.WorkspaceRoot.FullName, 580logsDirectory: Path.Combine(workspace.WorkspaceRoot.FullName, "logs"), 581logFilePath: Path.Combine(workspace.WorkspaceRoot.FullName, "logs", "test.log"),
Acquisition\InstallationDiscoveryDiscoverAllTests.cs (31)
39var pathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "no-sidecar-bin"); 69var pathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "unreadable-bin"); 101var pathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "malformed-bin"); 128var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 163var firstPathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "path-first"); 164var secondPathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "path-second"); 165var offPathDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 218var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 249var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 276var prDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "dogfood", "pr-9999", "bin"); 300var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 322var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, hasInstallMetadata ? "metadata-bin" : "no-metadata-bin"); 366var prDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "dogfood", "pr-12345", "bin"); 400var prDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "dogfood", "pr-12345", "bin"); 435var brewDir = Path.Combine(workspace.WorkspaceRoot.FullName, "Caskroom", "aspire", "13.4.0-pr.17115.gcd700928"); 471var brewDir = Path.Combine(workspace.WorkspaceRoot.FullName, "Caskroom", "aspire", "13.4.0"); 509var binary = Path.Combine(workspace.WorkspaceRoot.FullName, "dogfood", labelName, "bin", "aspire"); 523var binary = Path.Combine(workspace.WorkspaceRoot.FullName, "staging", "pr-1234", "bin", "aspire"); 534var binary = Path.Combine(workspace.WorkspaceRoot.FullName, "dogfood", "pr-9876", "bin", "aspire"); 574var pathDir = Path.Combine(workspace.WorkspaceRoot.FullName, "no-sidecar-bin"); 606var staleDogfoodDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "dogfood", "pr-9999"); 637var dogfoodRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "dogfood"); 680var toolStore = Path.Combine(workspace.WorkspaceRoot.FullName, ".dotnet", "tools", ".store", "aspire.cli"); 762var releaseBinDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "bin"); 792var releaseBinDir = Path.Combine(aspireHome.FullName, "bin"); 815logFilePath: Path.Combine(root.FullName, "test.log"), 847var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, "firmlink-self-bin"); 922var binDir = Path.Combine(workspace.WorkspaceRoot.FullName, "hint-bin"); 925var fakeCanonical = Path.Combine(workspace.WorkspaceRoot.FullName, "deliberately-different-canonical-path", "aspire"); 958return resolved?.FullName ?? Path.GetFullPath(path); 996logFilePath: Path.Combine(root.FullName, "test.log"),
Acquisition\InstallSidecarReaderTests.cs (29)
31WriteSidecar(workspace.WorkspaceRoot.FullName, $"{{\"source\":\"{wireValue}\"}}"); 34var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 45var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 48var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 76var sidecarPath = WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\"}"); 84var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 100var sidecarPath = WriteSidecar(workspace.WorkspaceRoot.FullName, "{not valid json"); 103var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 123WriteSidecar(workspace.WorkspaceRoot.FullName, sidecarBody); 126var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 137WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\"}"); 140var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 143var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 151var sidecarPath = WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\"}"); 162var sidecarPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 173var sidecarPath = WriteSidecar(workspace.WorkspaceRoot.FullName, "{not valid json"); 190var sidecarPath = WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\"}"); 235var sidecarPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 240var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 251var sidecarPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 267var sidecarPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 272var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 285var sidecarPath = Path.Combine(workspace.WorkspaceRoot.FullName, InstallSidecarReader.SidecarFileName); 300WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\",\"futureField\":\"value\",\"nested\":{\"a\":1,\"b\":[1,2]}}"); 303var result = reader.TryRead(workspace.WorkspaceRoot.FullName); 320workspace.WorkspaceRoot.FullName, 332var ok = Assert.IsType<InstallSidecarReadResult.Ok>(reader.TryRead(workspace.WorkspaceRoot.FullName)); 349WriteSidecar(workspace.WorkspaceRoot.FullName, "{\"source\":\"script\"}"); 352var ok = Assert.IsType<InstallSidecarReadResult.Ok>(reader.TryRead(workspace.WorkspaceRoot.FullName));
Acquisition\PeerInstallProbeTests.cs (7)
68var missing = Path.Combine(workspace.WorkspaceRoot.FullName, "does-not-exist"); 392var pidFile = Path.Combine(workspace.WorkspaceRoot.FullName, "peer.pid"); 520var argvFile = Path.Combine(workspace.WorkspaceRoot.FullName, "argv.txt"); 522? Path.Combine(workspace.WorkspaceRoot.FullName, "peer.cmd") 523: Path.Combine(workspace.WorkspaceRoot.FullName, "peer"); 545? Path.Combine(workspace.WorkspaceRoot.FullName, "peer.cmd") 546: Path.Combine(workspace.WorkspaceRoot.FullName, "peer");
Agents\AgentEnvironmentDetectorTests.cs (4)
42Assert.Equal(workspace.WorkspaceRoot.FullName, scanner.ScanContext?.WorkingDirectory.FullName); 43Assert.Equal(workspace.WorkspaceRoot.FullName, scanner.ScanContext?.RepositoryRoot.FullName);
Agents\AspireSkillsBundleTests.cs (1)
940return Directory.CreateTempSubdirectory("aspire-skills-bundle-test-").FullName;
Agents\AspireSkillsInstallerTests.cs (19)
85var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 443var cachedBundleDirectory = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills", AspireSkillsInstaller.Version); 555executionContext.CacheDirectory.FullName, 592var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 637var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 684var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 753var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 879executionContext.CacheDirectory.FullName, 897var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 944var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 951var staleDirectory = Directory.CreateDirectory(Path.Combine(cacheRoot, $"{prefix}stale")).FullName; 954recentDirectories.Add(Directory.CreateDirectory(Path.Combine(cacheRoot, $"{prefix}recent")).FullName); 1016var cacheRoot = Path.Combine(executionContext.CacheDirectory.FullName, "aspire-skills"); 1459Directory.Move(stageDirectory.FullName, targetDirectory); 2147executionContext.CacheDirectory.FullName, 2203return Directory.CreateTempSubdirectory("aspire-skills-installer-test-").FullName; 2282Directory.CreateDirectory(bundleDirectory.FullName); 2283var archivePath = Path.Combine(bundleDirectory.FullName, $".test-embedded-{Guid.NewGuid():N}.tgz"); 2313archive.FullName,
Agents\ClaudeCodeAgentEnvironmentScannerTests.cs (3)
25var mcpJsonPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".mcp.json"); 53var mcpJsonPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".mcp.json"); 78var mcpJsonPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".mcp.json");
Agents\CopilotCliAgentEnvironmentScannerTests.cs (6)
57var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json"); 110var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json"); 150var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json"); 208var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json"); 236var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json"); 261var mcpConfigPath = Path.Combine(copilotFolder.FullName, "mcp-config.json");
Agents\OpenCodeAgentEnvironmentScannerTests.cs (3)
23var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "opencode.jsonc"); 49var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "opencode.jsonc"); 72var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "opencode.jsonc");
Agents\PlaywrightCliInstallerTests.cs (2)
239var tempDir = Directory.CreateTempSubdirectory("test-playwright-").FullName; 375var tempDir = Directory.CreateTempSubdirectory("test-playwright-").FullName;
Agents\TelemetryHookConfiguratorTests.cs (16)
27var hookFile = Path.Combine(home.FullName, ".copilot", "hooks", "aspire-telemetry.json"); 52["COPILOT_HOME"] = copilotHome.FullName, 57Assert.True(File.Exists(Path.Combine(copilotHome.FullName, "hooks", "aspire-telemetry.json"))); 58Assert.False(Directory.Exists(Path.Combine(home.FullName, ".copilot"))); 117var claudeDirectory = Directory.CreateDirectory(Path.Combine(home.FullName, ".claude")); 118var settingsPath = Path.Combine(claudeDirectory.FullName, "settings.json"); 156var claudeDirectory = Directory.CreateDirectory(Path.Combine(home.FullName, ".claude")); 157var settingsPath = Path.Combine(claudeDirectory.FullName, "settings.json"); 175var claudeDirectory = Directory.CreateDirectory(Path.Combine(home.FullName, ".claude")); 176var settingsPath = Path.Combine(claudeDirectory.FullName, "settings.json"); 192var claudeDirectory = Directory.CreateDirectory(Path.Combine(home.FullName, ".claude")); 193var settingsPath = Path.Combine(claudeDirectory.FullName, "settings.json"); 221Assert.False(Directory.Exists(Path.Combine(home.FullName, ".aspire", "hooks"))); 222Assert.False(Directory.Exists(Path.Combine(home.FullName, ".copilot"))); 223Assert.False(Directory.Exists(Path.Combine(home.FullName, ".claude"))); 228var settingsPath = Path.Combine(home.FullName, ".claude", "settings.json");
Agents\TelemetryHookInstallerTests.cs (2)
22var expectedDirectory = Path.Combine(home.FullName, ".aspire", "hooks"); 71var hooksDirectory = Path.Combine(home.FullName, ".aspire", "hooks");
Agents\TelemetryHookScriptTests.cs (4)
382var capturePath = Path.Combine(workspace.WorkspaceRoot.FullName, "capture.txt"); 383var recorderPath = CreateBashRecorder(workspace.WorkspaceRoot.FullName); 394var capturePath = Path.Combine(workspace.WorkspaceRoot.FullName, "capture.txt"); 395var recorderPath = CreatePwshRecorder(workspace.WorkspaceRoot.FullName);
Agents\VsCodeAgentEnvironmentScannerTests.cs (8)
107var vsCodePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".vscode"); 126var mcpJsonPath = Path.Combine(parentVsCode.FullName, "mcp.json"); 143var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json"); 188var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json"); 229var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json"); 281var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json"); 309var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json"); 334var mcpJsonPath = Path.Combine(vsCodeFolder.FullName, "mcp.json");
AssemblyMetadataChannelTests.cs (2)
61while (dir is not null && !File.Exists(Path.Combine(dir.FullName, "global.json"))) 66return dir.FullName;
Backchannel\AppHostCliBackchannelTests.cs (2)
34var tempFile = Path.Combine(tempDir.FullName, "large.bin"); 69var tempFile = Path.Combine(tempDir.FullName, "small.bin");
Backchannel\AppHostConnectionResolverTests.cs (20)
70var resolvedProjectPath = PathNormalizer.ResolveSymlinks(projectFile.FullName); 129new FileInfo(appHostDirectory.FullName), 166new FileInfo(appHostDirectory.FullName), 200new FileInfo(appHostDirectory.FullName), 291var realProjectFile = new FileInfo(Path.Combine(realDirectory.FullName, "TestAppHost.csproj")); 292File.WriteAllText(realProjectFile.FullName, "<Project />"); 295var symlinkDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 296Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName); 301var canonicalPath = PathNormalizer.ResolveSymlinks(projectFileViaSymlink.FullName); 334Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 340var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj"); 445Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 451var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj"); 504var commonGitDirectory = Path.Combine(primaryCheckout.FullName, ".git"); 506var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryCheckout.FullName, ".worktrees", "feature")).FullName; 514var projectFile = new FileInfo(Path.Combine(directory.FullName, fileName)); 515File.WriteAllText(projectFile.FullName, "<Project />"); 521var backchannelsDir = Path.Combine(homeDirectory.FullName, ".aspire", "cli", "bch"); 524var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(appHostPath, homeDirectory.FullName);
Backchannel\AuxiliaryBackchannelMonitorTests.cs (15)
24var realDirectory = Directory.CreateDirectory(Path.Combine(tempRoot.FullName, "real")); 25var symlinkDirectory = Path.Combine(tempRoot.FullName, "link"); 26Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName); 29var appHostPathViaReal = Path.Combine(realDirectory.FullName, "apphost.cs"); 34Assert.True(AuxiliaryBackchannelMonitor.IsAppHostInScopeOfDirectory(appHostPathViaSymlink, realDirectory.FullName)); 48var workingDirectory = Directory.CreateDirectory(Path.Combine(tempRoot.FullName, "wd")).FullName; 49var outsideAppHost = Path.Combine(tempRoot.FullName, "other", "apphost.cs"); 72var primaryRoot = tempRoot.FullName; 74var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, ".worktrees", "feature")).FullName; 97var primaryRoot = tempRoot.FullName; 99var submoduleRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, "extern", "dep")).FullName; 119var primaryRoot = tempRoot.FullName; 121var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, ".worktrees", "feature")).FullName; 123var submoduleRoot = Directory.CreateDirectory(Path.Combine(worktreeRoot, "extern", "dep")).FullName;
Backchannel\OrphanedAppHostCollectorTests.cs (5)
222Directory.Delete(tempDir.FullName, recursive: true); 248Directory.Delete(tempDir.FullName, recursive: true); 274Directory.Delete(tempDir.FullName, recursive: true); 307Directory.Delete(tempDir.FullName, recursive: true); 369var path = Path.Combine(directory.FullName, name);
BundleNuGetServiceTests.cs (1)
17var managedPath = Path.Combine(tempDir.FullName, "aspire-managed");
Bundles\BundleServiceCrossRouteExtractionTests.cs (1)
69var root = Directory.CreateTempSubdirectory("aspire-extract-dir-").FullName;
BundleServiceIntegrationTests.cs (17)
33var layoutRoot = workspace.WorkspaceRoot.FullName; 81var layoutRoot = workspace.WorkspaceRoot.FullName; 112var layoutRoot = workspace.WorkspaceRoot.FullName; 170var layoutRoot = workspace.WorkspaceRoot.FullName; 203var layoutRoot = workspace.WorkspaceRoot.FullName; 220var sourcePath = workspace.CreateDirectory("source").FullName; 221var destinationPath = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 227new TestLayoutDiscovery(workspace.WorkspaceRoot.FullName)); 248var layoutRoot = workspace.WorkspaceRoot.FullName; 300var versionsDir = Path.Combine(workspace.WorkspaceRoot.FullName, BundleService.VersionsDirectoryName); 315var versionsDir = Path.Combine(workspace.WorkspaceRoot.FullName, BundleService.VersionsDirectoryName); 330var versionDir = workspace.CreateDirectory("version").FullName; 348workspace.WorkspaceRoot.FullName, 404var binaryDir = Path.Combine(workspace.WorkspaceRoot.FullName, "opt", "aspire-readonly", "bin"); 410var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "home", ".aspire"); 484var dest = workspace.WorkspaceRoot.FullName; 509var layoutRoot = workspace.WorkspaceRoot.FullName;
BundleServiceTests.cs (8)
31var dir = workspace.WorkspaceRoot.FullName; 42Assert.Null(BundleService.ReadVersionMarker(workspace.WorkspaceRoot.FullName)); 77var processPath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire"); 123var dir = workspace.WorkspaceRoot.FullName; 145var dir = workspace.WorkspaceRoot.FullName; 156var dir = workspace.WorkspaceRoot.FullName; 196var versionsRoot = Path.Combine(workspace.WorkspaceRoot.FullName, BundleService.VersionsDirectoryName); 217var dir = workspace.WorkspaceRoot.FullName;
Caching\AppHostInfoDiskCacheTests.cs (103)
29var globalSettingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json")); 36var path = Path.Combine(workspace.WorkspaceRoot.FullName, name); 58var cacheDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "apphost-info"); 75var freshProject = new FileInfo(projectFile.FullName); 97var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 152File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />\n<!-- edit -->"); 153File.SetLastWriteTimeUtc(projectFile.FullName, DateTime.UtcNow.AddSeconds(2)); 155var freshProject = new FileInfo(projectFile.FullName); 170var objDir = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "obj")); 171var assetsPath = Path.Combine(objDir.FullName, "project.assets.json"); 174var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 189File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props"), "<Project />"); 191var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 199File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 212var cacheDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "apphost-info"); 249var cacheDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "apphost-info"); 252var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 267File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />\n<!-- edit -->"); 268File.SetLastWriteTimeUtc(projectFile.FullName, DateTime.UtcNow.AddSeconds(2)); 270await cache.SetAsync(new FileInfo(projectFile.FullName), expectedKey, SampleEntry(), CancellationToken.None).DefaultTimeout(); 272var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 288var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "src", "MyHost")); 289var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 290File.WriteAllText(projectFile.FullName, """ 296var commonProps = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Common.props"); 300Assert.NotNull(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 311var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 325File.WriteAllText(projectFile.FullName, """ 331await cache.SetAsync(new FileInfo(projectFile.FullName), cache.GetCacheKey(projectFile), SampleEntry(), CancellationToken.None).DefaultTimeout(); 332var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 352var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "proj")); 353var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 354File.WriteAllText(projectFile.FullName, """ 358File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "Directory.Build.props"), """ 364var sharedDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "shared")); 365var sharedProps = Path.Combine(sharedDirectory.FullName, "Directory.Build.props"); 369Assert.NotNull(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 380var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 389var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "proj")); 390var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 391File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 392File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "Directory.Build.props"), """ 398var sharedDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "shared")); 399var sharedProps = Path.Combine(sharedDirectory.FullName, "Directory.Build.props"); 403Assert.NotNull(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 414Assert.Null(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 422var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "proj")); 423var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 424File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 425File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "Directory.Build.props"), """ 433Assert.Null(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 447var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "proj")); 448var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 449File.WriteAllText(projectFile.FullName, """ 453File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "Directory.Build.props"), """ 460var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 476var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "src", "MyHost")); 477var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 478File.WriteAllText(projectFile.FullName, """ 484File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Common"), ""); 485var commonProps = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Common.props"); 489Assert.NotNull(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 500var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 513File.WriteAllText(projectFile.FullName, """ 519await cache.SetAsync(new FileInfo(projectFile.FullName), cache.GetCacheKey(projectFile), SampleEntry(), CancellationToken.None).DefaultTimeout(); 520var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 532File.WriteAllText(projectFile.FullName, """ 540Assert.Null(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 556var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "proj")); 557var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 558File.WriteAllText(projectFile.FullName, """ 562File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Build.props"), """ 567File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "repo", "Directory.Build.props"), """ 577var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 592var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "src", "MyHost")); 593var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyHost.csproj")); 594File.WriteAllText(projectFile.FullName, """ 600File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Repo.marker"), ""); 601var customProps = Path.Combine(workspace.WorkspaceRoot.FullName, "Custom.props"); 605Assert.NotNull(await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout()); 616var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 630File.WriteAllText(projectFile.FullName, """ 636await cache.SetAsync(new FileInfo(projectFile.FullName), cache.GetCacheKey(projectFile), SampleEntry(), CancellationToken.None).DefaultTimeout(); 637var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 654File.WriteAllText(projectFile.FullName, """ 660await cache.SetAsync(new FileInfo(projectFile.FullName), cache.GetCacheKey(projectFile), SampleEntry(), CancellationToken.None).DefaultTimeout(); 662var hit = await cache.TryGetAsync(new FileInfo(projectFile.FullName), CancellationToken.None).DefaultTimeout(); 672var key1 = AppHostInfoDiskCache.ComputeKeyAsync(new FileInfo(projectFile.FullName), new TestEnvironment()); 673var key2 = AppHostInfoDiskCache.ComputeKeyAsync(new FileInfo(projectFile.FullName), new TestEnvironment()); 707var fullPath = projectFile.FullName; 722var projectDir = workspace.WorkspaceRoot.FullName; 725projectDir = Directory.CreateDirectory(Path.Combine(projectDir, $"level-{i}")).FullName; 729File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 732File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Build.props"), "<Project />"); 733var keyAfterImport = AppHostInfoDiskCache.ComputeKeyAsync(new FileInfo(projectFile.FullName), new TestEnvironment()); 743var parentImport = Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Build.props"); 746var repoRoot = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "worktree-root")); 748Path.Combine(repoRoot.FullName, ".git"), 749$"gitdir: {Path.Combine(workspace.WorkspaceRoot.FullName, ".git", "worktrees", "worktree-root")}"); 751var projectDir = Directory.CreateDirectory(Path.Combine(repoRoot.FullName, "src", "AppHost")); 752var projectFile = new FileInfo(Path.Combine(projectDir.FullName, "AppHost.csproj")); 753File.WriteAllText(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 760var keyAfterParentImportEdit = AppHostInfoDiskCache.ComputeKeyAsync(new FileInfo(projectFile.FullName), new TestEnvironment());
Caching\DiskCacheTests.cs (2)
70var diskPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "nuget-search"); 116var diskPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "nuget-search");
Certificates\CertificateServiceTests.cs (1)
265Assert.Equal(Path.Combine(aspireHomeDirectory.FullName, "dev-certs"), exportDirectory);
Certificates\NativeCertificateToolRunnerTests.cs (2)
76workspace.WorkspaceRoot.FullName, 95var outputDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "dev-certs");
Certificates\UnixCertificateManagerTests.cs (35)
23var nssDbDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "nssdb")); 24var parentPidFile = Path.Combine(tempDirectory.FullName, "certutil-parent.pid"); 25var childPidFile = Path.Combine(tempDirectory.FullName, "certutil-child.pid"); 35["PATH"] = tempDirectory.FullName, 36["SSL_CERT_DIR"] = tempDirectory.FullName, 37["DOTNET_DEV_CERTS_NSSDB_PATHS"] = nssDbDirectory.FullName 39var manager = new UnixCertificateManager(NullLogger.Instance, environment, _ => new ProcessStartInfo(certUtilFile.FullName) 75var nssDbDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "nssdb")); 82["PATH"] = tempDirectory.FullName, 83["SSL_CERT_DIR"] = tempDirectory.FullName, 84["DOTNET_DEV_CERTS_NSSDB_PATHS"] = nssDbDirectory.FullName 86var manager = new UnixCertificateManager(NullLogger.Instance, environment, _ => new ProcessStartInfo(certUtilFile.FullName) 117["PATH"] = Path.Combine(openSslDirectory.FullName, "missing-tools"), 118["SSL_CERT_DIR"] = openSslDirectory.FullName, 119["DOTNET_DEV_CERTS_NSSDB_PATHS"] = Path.Combine(openSslDirectory.FullName, "missing-nss-db") 125var certificatePath = Path.Combine(openSslDirectory.FullName, $"aspnetcore-localhost-{certificate.Thumbprint}.pem"); 152["PATH"] = Path.Combine(corruptOpenSslDirectory.FullName, "missing-tools"), 153["SSL_CERT_DIR"] = string.Join(Path.PathSeparator, corruptOpenSslDirectory.FullName, validOpenSslDirectory.FullName), 154["DOTNET_DEV_CERTS_NSSDB_PATHS"] = Path.Combine(corruptOpenSslDirectory.FullName, "missing-nss-db") 161File.WriteAllText(Path.Combine(corruptOpenSslDirectory.FullName, certificateFileName), "not a certificate"); 162File.WriteAllText(Path.Combine(validOpenSslDirectory.FullName, certificateFileName), certificate.ExportCertificatePem()); 187["PATH"] = Path.Combine(openSslDirectory.FullName, "missing-tools"), 188["DOTNET_DEV_CERTS_NSSDB_PATHS"] = Path.Combine(openSslDirectory.FullName, "missing-nss-db"), 189[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = openSslDirectory.FullName 196var certificatePath = Path.Combine(openSslDirectory.FullName, $"aspnetcore-localhost-{savedCertificate.Thumbprint}.pem"); 222["PATH"] = Path.Combine(nssDbDirectory.FullName, "missing-certutil"), 223["DOTNET_DEV_CERTS_NSSDB_PATHS"] = nssDbDirectory.FullName, 224[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = openSslDirectory.FullName 249var certUtilFile = new FileInfo(Path.Combine(directory.FullName, "certutil")); 256await File.WriteAllTextAsync(certUtilFile.FullName, script); 258certUtilFile.FullName, 273var certUtilFile = new FileInfo(Path.Combine(directory.FullName, "certutil")); 281await File.WriteAllTextAsync(certUtilFile.FullName, script); 283certUtilFile.FullName,
CliBootstrapTests.cs (12)
122var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-pr-test"); 135var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-pr-test"); 156Assert.Equal(Path.Combine(installPrefix, "hives"), context.HivesDirectory.FullName); 157Assert.Equal(Path.Combine(installPrefix, "cache"), context.CacheDirectory.FullName); 158Assert.Equal(Path.Combine(installPrefix, "sdks"), context.SdksDirectory.FullName); 159Assert.Equal(Path.Combine(installPrefix, "packages"), context.PackagesDirectory?.FullName); 160Assert.Equal(installPrefix, context.AspireHomeDirectory.FullName); 161Assert.Equal(logsDirectory, context.LogsDirectory.FullName); 185logsDirectory: Path.Combine(workspace.WorkspaceRoot.FullName, "logs"), 186logFilePath: Path.Combine(workspace.WorkspaceRoot.FullName, "logs", "aspire.log"), 207logsDirectory: Path.Combine(workspace.WorkspaceRoot.FullName, "logs"), 208logFilePath: Path.Combine(workspace.WorkspaceRoot.FullName, "logs", "aspire.log"),
CliExecutionContextTests.cs (6)
23var cacheDir = new DirectoryInfo(Path.Combine(workingDir.FullName, "cache")); 24var sdksDir = new DirectoryInfo(Path.Combine(workingDir.FullName, "sdks")); 25var logsDir = new DirectoryInfo(Path.Combine(workingDir.FullName, "logs")); 66var nonexistentHives = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "no-hives-here")); 109File.WriteAllText(Path.Combine(hivesDir.FullName, "README.md"), "stray"); 110File.WriteAllText(Path.Combine(hivesDir.FullName, ".DS_Store"), string.Empty);
Commands\AddCommandTests.cs (89)
388var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 389File.WriteAllText(appHostFile.FullName, string.Empty); 390File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 432var result = command.Parse($"integration search redis --apphost \"{appHostFile.FullName}\" --format json"); 461var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 462File.WriteAllText(appHostFile.FullName, string.Empty); 463File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 504var result = command.Parse($"integration search redis --apphost \"{appHostFile.FullName}\" --format json"); 542var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 543File.WriteAllText(appHostFile.FullName, string.Empty); 544File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 591var result = command.Parse($"integration search foundry --apphost \"{appHostFile.FullName}\" --format json"); 641var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 642File.WriteAllText(appHostFile.FullName, string.Empty); 645File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), $$""" 686var result = command.Parse($"integration search redis --apphost \"{appHostFile.FullName}\" --format json"); 724var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 725var appHostFile = new FileInfo(Path.Combine(projectDirectory.FullName, "apphost.ts")); 726File.WriteAllText(appHostFile.FullName, string.Empty); 727File.WriteAllText(Path.Combine(projectDirectory.FullName, AspireConfigFile.FileName), """ 748var result = command.Parse($"integration search redis --apphost \"{appHostFile.FullName}\" --format json"); 769var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 770File.WriteAllText(appHostFile.FullName, string.Empty); 797var result = command.Parse($"integration search redis --apphost \"{appHostFile.FullName}\" --format json"); 842var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 843File.WriteAllText(appHostFile.FullName, string.Empty); 844File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 880var result = command.Parse($"integration search foundry --apphost \"{appHostFile.FullName}\" --format json"); 912Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives", "test-hive")); 2490var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, isTypeScript ? "apphost.ts" : "AppHost.csproj")); 2491File.WriteAllText(appHostFile.FullName, isTypeScript ? string.Empty : "<Project />"); 2495File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), $$""" 2504var hivesDirectory = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 2515CanHandleCallback = file => string.Equals(file.FullName, appHostFile.FullName, StringComparison.Ordinal), 2569var result = command.Parse($"add {packageId} --apphost \"{appHostFile.FullName}\""); 2599var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 2600File.WriteAllText(appHostFile.FullName, string.Empty); 2601File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), """ 2641var result = command.Parse($"add Aspire.Hosting.Azure.Storage --apphost \"{appHostFile.FullName}\""); 2714var hivesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 2786var hivesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 2811var localPackagesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives", PackageChannelNames.Local, "packages")); 2814File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.{cliVersion}.nupkg"), string.Empty); 2815File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.Redis.{cliVersion}.nupkg"), string.Empty); 2846var hivesRoot = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 2847var localPackagesDir = new DirectoryInfo(Path.Combine(hivesRoot.FullName, PackageChannelNames.Local, "packages")); 2848var prPackagesDir = new DirectoryInfo(Path.Combine(hivesRoot.FullName, "pr-12345", "packages")); 2852File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.{cliVersion}.nupkg"), string.Empty); 2853File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.Redis.{cliVersion}.nupkg"), string.Empty); 2855File.WriteAllText(Path.Combine(prPackagesDir.FullName, $"Aspire.Hosting.{staleVersion}.nupkg"), string.Empty); 2856File.WriteAllText(Path.Combine(prPackagesDir.FullName, $"Aspire.Hosting.Redis.{staleVersion}.nupkg"), string.Empty); 2882File.WriteAllText(Path.Combine(identityPackagesDir.FullName, $"Aspire.Hosting.{cliVersion}.nupkg"), string.Empty); 2883File.WriteAllText(Path.Combine(identityPackagesDir.FullName, $"Aspire.Hosting.Redis.{cliVersion}.nupkg"), string.Empty); 3010var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3011File.WriteAllText(appHostFile.FullName, string.Empty); 3045var result = command.Parse($"add Aspire.Hosting.Foo --apphost \"{appHostFile.FullName}\""); 3060var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3061File.WriteAllText(appHostFile.FullName, string.Empty); 3095var result = command.Parse($"add Aspire.Hosting.Redis --apphost \"{appHostFile.FullName}\""); 3110var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3111File.WriteAllText(appHostFile.FullName, string.Empty); 3145var result = command.Parse($"add Aspire.Hosting.Foo --all --apphost \"{appHostFile.FullName}\""); 3164var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3165File.WriteAllText(appHostFile.FullName, string.Empty); 3191var result = command.Parse($"integration list --apphost \"{appHostFile.FullName}\" --format json"); 3212var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3213File.WriteAllText(appHostFile.FullName, string.Empty); 3239var result = command.Parse($"integration list --apphost \"{appHostFile.FullName}\""); 3260var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3261File.WriteAllText(appHostFile.FullName, string.Empty); 3286var result = command.Parse($"integration list --apphost \"{appHostFile.FullName}\""); 3308var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3309File.WriteAllText(appHostFile.FullName, string.Empty); 3335var result = command.Parse($"integration search zzznomatch --apphost \"{appHostFile.FullName}\""); 3360var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3361File.WriteAllText(appHostFile.FullName, string.Empty); 3393var result = command.Parse($"add Aspire.Hosting.Foo --apphost \"{appHostFile.FullName}\""); 3411var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3412File.WriteAllText(appHostFile.FullName, string.Empty); 3447var result = command.Parse($"add Aspire.Hosting.Redis --apphost \"{appHostFile.FullName}\""); 3469var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 3470File.WriteAllText(appHostFile.FullName, string.Empty); 3493var result = command.Parse($"integration list --apphost \"{appHostFile.FullName}\" --format json"); 3541var hivesDirectory = new DirectoryInfo(Path.Combine(aspireDirectory.FullName, "hives")); 3542var cacheDirectory = new DirectoryInfo(Path.Combine(aspireDirectory.FullName, "cache")); 3543var sdksDirectory = new DirectoryInfo(Path.Combine(aspireDirectory.FullName, "sdks")); 3544var logsDirectory = new DirectoryInfo(Path.Combine(aspireDirectory.FullName, "logs")); 3552Path.Combine(logsDirectory.FullName, "test.log"),
Commands\AgentInitCommandTests.cs (40)
28interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 69interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 102var blockedSkillParentPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents"); 106interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 129var expectedSkillDirectoryPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireSkillName); 144var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills all"); 183interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 225interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 289interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 337interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 379var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills {FakeAspireSkillsInstaller.AspireMonitoringSkillName}"); 407var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills PLAYWRIGHT-CLI"); 427interactionService.SetupStringPromptResponse(workspace.WorkspaceRoot.FullName); 468var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations none --skills all"); 475var agentsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents"); 488var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skills none"); 504var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all"); 518var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 551var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills {skillsArg}"); 574var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills {FakeAspireSkillsInstaller.AspireOrchestrationSkillName}"); 581var aspireSkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireSkillName); 594var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations invalid --skills all"); 621var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 642var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all"); 750var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 763var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills none"); 770var aspireSkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireSkillName); 784var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations all --skills none"); 800var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations none --skills all"); 807var agentsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills"); 820var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations standard --skills {CommonAgentApplicators.AspireSkillName}"); 829var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 835var skillPath = Path.Combine(workspaceRoot.FullName, relativeSkillDirectory, skillName, "SKILL.md"); 841var bundleDirectory = new DirectoryInfo(Path.Combine(workspaceRoot.FullName, $".test-aspire-skills-bundle-{Guid.NewGuid():N}")); 842Directory.CreateDirectory(bundleDirectory.FullName); 847var skillDirectory = Path.Combine(bundleDirectory.FullName, "skills", name); 886var manifestPath = Path.Combine(bundleDirectory.FullName, "skill-manifest.json"); 912var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations none --skills none"); 917var hookFile = Path.Combine(homeDirectory.FullName, ".copilot", "hooks", "aspire-telemetry.json"); 943var result = command.Parse($"agent init --workspace-root {workspace.WorkspaceRoot.FullName} --skill-locations none --skills none");
Commands\AgentMcpCommandTests.cs (5)
141AppHostPath = Path.Combine(ctx.Workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 209AppHostPath = Path.Combine(ctx.Workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 284AppHostPath = Path.Combine(ctx.Workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 399AppHostPath = Path.Combine(ctx.Workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 481AppHostPath = Path.Combine(ctx.Workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\AppHostLauncherTests.cs (20)
79var homeDirectory = workspace.WorkspaceRoot.FullName; 85var symlinkDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 86Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName); 88var realProjectPath = Path.Combine(realDirectory.FullName, "AppHost.csproj"); 961var childLogFile = Path.Combine(workspace.WorkspaceRoot.FullName, "child.log"); 989var childLogFile = Path.Combine(workspace.WorkspaceRoot.FullName, "child.log"); 1012var childLogFile = Path.Combine(workspace.WorkspaceRoot.FullName, "child.log"); 1074var childLogFile = Path.Combine(workspace.WorkspaceRoot.FullName, "child.log"); 1166var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1167File.WriteAllText(appHostFile.FullName, "<Project />"); 1175Path.Combine(logsDirectory.FullName, "parent.log"), 1227var socketPrefix = AppHostHelper.ComputeAuxiliarySocketPrefix(AppHostFile.FullName, _homeDirectory.FullName); 1232AppHostPath = AppHostFile.FullName, 1243_workspace.WorkspaceRoot.FullName, 1244Path.Combine(_workspace.WorkspaceRoot.FullName, "common", ".git")); 1249var backchannelsDir = Path.Combine(_homeDirectory.FullName, ".aspire", "cli", "bch"); 1252var resolvedAppHostPath = PathNormalizer.ResolveSymlinks(AppHostFile.FullName); 1253var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, _homeDirectory.FullName); 1309CreatedExecution = new TestDetachedProcessExecution(this, fileName, args, workingDirectory.FullName, environment, options);
Commands\CacheCommandTests.cs (14)
47var packagesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "packages")); 49File.WriteAllText(Path.Combine(restoreDir.FullName, "test.dll"), "fake"); 63Assert.False(File.Exists(Path.Combine(restoreDir.FullName, "test.dll"))); 70var appHostInfoCacheDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "apphost-info")); 72var cacheEntry = Path.Combine(appHostInfoCacheDir.FullName, "entry.json"); 105await File.WriteAllTextAsync(Path.Combine(firstBuildCache.FullName, "Aspire.Hosting.dll"), "fake").DefaultTimeout(); 106await File.WriteAllTextAsync(Path.Combine(secondBuildCache.FullName, "Aspire.Hosting.dll"), "fake").DefaultTimeout(); 116Assert.False(Directory.Exists(Path.Combine(stagingCacheRoot.FullName, "deadbeef"))); 117Assert.False(Directory.Exists(Path.Combine(stagingCacheRoot.FullName, "cafef00d"))); 147var packagesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "packages-nonexistent")); 171File.WriteAllText(Path.Combine(tempDir.FullName, "root.txt"), "root"); 172File.WriteAllText(Path.Combine(subDir.FullName, "nested.txt"), "nested"); 196var keepFile = Path.Combine(tempDir.FullName, "keep.txt"); 197var deleteFile = Path.Combine(tempDir.FullName, "delete.txt");
Commands\ConfigCommandTests.cs (15)
122var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 182var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 207var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 241var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 361var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 690var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 722var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 753var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 784var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 798var settingsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 831var settingsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 873var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 890var legacySettingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 903var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1000var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName);
Commands\DashboardRunCommandTests.cs (2)
600var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "cli [dashboard].log"); 630var layoutDir = Path.Combine(workspace.WorkspaceRoot.FullName, "layout");
Commands\DeployCommandTests.cs (8)
39var expectedAspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, ".home", ".aspire"); 87var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 88await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 89var expectedAspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, ".home", ".aspire"); 123var invocation = explicitAppHost ? $"{commandText} --apphost \"{appHostFile.FullName}\"" : commandText; 129Assert.Equal(workspace.WorkspaceRoot.FullName, workingDirectory); 130Assert.Equal(appHostFile.FullName, projectFile); 324var expectedAspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, ".home", ".aspire");
Commands\DescribeCommandTests.cs (2)
945AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 969AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\DoctorCommandTests.cs (29)
166var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 167await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 193var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 194await File.WriteAllTextAsync(appHostFile.FullName, "export {};"); 196Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), 243await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 269var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Normal.csproj")); 270await File.WriteAllTextAsync(projectFile.FullName, "<Project />"); 297var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Normal.csproj")); 298await File.WriteAllTextAsync(projectFile.FullName, "<Project />"); 300var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 301await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 323await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), "<Project />"); 324await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.fsproj"), "<Project />"); 350var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 351await File.WriteAllTextAsync(appHostFile.FullName, "export {};"); 405await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 407Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), 411"path": "{{Path.GetRelativePath(workspace.WorkspaceRoot.FullName, appHostFile.FullName).Replace('\\', '/')}}" 495var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 496await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 498Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), 526var appHostFile = new FileInfo(Path.Combine(nestedAppHostDir.FullName, "AppHost.csproj")); 527await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 529Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), 560var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 561await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1077return new FileInfo(Path.Combine(directory.FullName, "AppHost.csproj"));
Commands\DotNetSdkCheckTests.cs (2)
103var filePath = Path.Combine(workspace.WorkspaceRoot.FullName, relativePath.Replace('/', Path.DirectorySeparatorChar)); 145? new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, appHostFileName))
Commands\ExportCommandTests.cs (17)
27var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 115var customDir = Path.Combine(workspace.WorkspaceRoot.FullName, "custom", "nested"); 149var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 152var appHostDir = Path.Combine(workspace.WorkspaceRoot.FullName, "MyAppHost"); 182var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 215AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TargetAppHost", "TargetAppHost.csproj"), 301var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 427var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 485var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 539var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 604var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 648var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 692var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 734var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 762var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 815var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "export.zip"); 882AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\ExtensionInternalCommandTests.cs (11)
61var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "MyApp.AppHost.csproj")); 93Assert.Equal(projectFile.FullName, searchResult.SelectedProjectFile); 95Assert.Equal(projectFile.FullName, searchResult.AllProjectFileCandidates[0]); 102var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "MyApp.AppHost.csproj")); 103await File.WriteAllTextAsync(projectFile.FullName, """ 129Assert.Equal(projectFile.FullName, searchResult.SelectedProjectFile); 130Assert.Equal([projectFile.FullName], searchResult.AllProjectFileCandidates); 137var projectFile1 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App1.AppHost.csproj")); 138var projectFile2 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App2.AppHost.csproj")); 172Assert.Contains(projectFile1.FullName, searchResult.AllProjectFileCandidates); 173Assert.Contains(projectFile2.FullName, searchResult.AllProjectFileCandidates);
Commands\InitCommandTests.cs (101)
66var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 67File.WriteAllText(solutionFile.FullName, "Fake solution file"); 69var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, projectFileName)); 70File.WriteAllText(projectFile.FullName, "<Project />"); 109Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"))); 117var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 118File.WriteAllText(solutionFile.FullName, "Fake solution file"); 150Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"))); 166Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 168var config = JsonNode.Parse(File.ReadAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json")))!.AsObject(); 193var runJsonPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.run.json"); 220var aspireConfig = JsonNode.Parse(File.ReadAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json")))!.AsObject(); 263File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), existingAspireConfig); 274var runJson = JsonNode.Parse(File.ReadAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.run.json")))!.AsObject(); 313var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"); 338Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.run.json"))); 362Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 397Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"))); 399var config = JsonNode.Parse(File.ReadAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json")))!.AsObject(); 410var existingAppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 413File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), """{ "type": "commonjs" }"""); 428Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"))); 429Assert.Equal("""{ "type": "commonjs" }""", File.ReadAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"))); 436File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{}"); 444Directory.CreateDirectory(scaffoldDirectory.FullName); 445File.WriteAllText(Path.Combine(scaffoldDirectory.FullName, context.Language.AppHostFileName!), string.Empty); 475Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"))); 476Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-apphost", "apphost.mts"))); 587Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 589var aspireSkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireSkillName); 592var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 609Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 612var agentsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills"); 629Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 631var aspireSkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireSkillName, "SKILL.md"); 635var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".agents", "skills", CommonAgentApplicators.AspireifySkillName); 653var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 671var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 704var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 723var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 743var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 744File.WriteAllText(solutionFile.FullName, "Fake solution file"); 787File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config")), 796var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 797File.WriteAllText(solutionFile.FullName, "Fake solution file"); 800var hivesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 801Directory.CreateDirectory(Path.Combine(hivesDir.FullName, "pr-12345", "packages")); 831[new PackageMapping("Aspire*", hivesDir.FullName + "/pr-12345/packages")], 873var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 874File.WriteAllText(solutionFile.FullName, "Fake solution file"); 939var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 940File.WriteAllText(solutionFile.FullName, "Fake solution file"); 988var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 989File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1058Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 1060var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1093Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"))); 1095var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1130var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1154var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1203var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1247var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1362var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1469var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1470File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1548var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1549File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1552var hivesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 1636var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1637File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1639var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1697var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1698File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1726var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1744var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1745File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1748var appHostDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.AppHost")); 1750Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"))); 1771var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1789var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 1791Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"))); 1808var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1827var solutionFile = new FileInfo(Path.Combine(solutionDir.FullName, "Test.sln")); 1828File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1857Assert.True(File.Exists(Path.Combine(solutionDir.FullName, "nuget.config")), 1859Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config")), 1861AssertNuGetConfigHasChannelShape(Path.Combine(solutionDir.FullName, "nuget.config"), contextChannel); 1877var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1878File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1889var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1938var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1939File.WriteAllText(solutionFile.FullName, "Fake solution file"); 1970var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1993var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1994File.WriteAllText(solutionFile.FullName, "Fake solution file"); 2038File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config")), 2054var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.slnx")); 2055File.WriteAllText(solutionFile.FullName, """<Solution />"""); 2084var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 2188File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, appHostFileName), string.Empty); 2198File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, AspireConfigFile.FileName), config.ToJsonString());
Commands\IntegrationAssemblyNameResolverTests.cs (1)
53Path = Directory.CreateTempSubdirectory().FullName;
Commands\LogsCommandTests.cs (5)
728AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 818AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 985AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 1548AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"), 1626AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\LsCommandTests.cs (20)
93var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 94var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 174var configuredAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "ConfiguredAppHost.csproj")); 175await File.WriteAllTextAsync(configuredAppHost.FullName, "Not a real apphost"); 176await File.WriteAllTextAsync(Path.Combine(workingDirectory.FullName, "aspire.config.json"), JsonSerializer.Serialize(new 203Assert.Equal(configuredAppHost.FullName, candidate.Path); 214var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 215var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 289var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 290var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 374var appHostPathZ = Path.Combine(workspace.WorkspaceRoot.FullName, "ZApp", "Z.AppHost.csproj"); 375var appHostPathA = Path.Combine(workspace.WorkspaceRoot.FullName, "AApp", "A.AppHost.csproj"); 376var appHostPathM = Path.Combine(workspace.WorkspaceRoot.FullName, "MApp", "M.AppHost.csproj"); 419var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App", "App.AppHost.csproj"); 520var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 521var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 556var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 557var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 609var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App", "App.AppHost.csproj"); 762var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App", "App.AppHost.csproj");
Commands\NewCommandChannelResolutionTests.cs (4)
574pathDeriverCallback: (ctx, projectName) => Path.Combine(ctx.WorkingDirectory.FullName, projectName), 581var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "captured"); 681File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{version}.nupkg"), string.Empty); 686new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/')),
Commands\NewCommandTemplateConfigPersistenceTests.cs (11)
254dotNetTemplateInstalls.Add(new DotNetTemplateInstall(packageName, version, nugetConfigFile?.FullName, nugetSource)); 296var outputDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, outputDirectoryName); 311Assert.Contains(packagesDirectory.FullName.Replace('\\', '/'), csharpNuGetConfig); 327Assert.Equal(packagesDirectory.FullName.Replace('\\', '/'), install.NuGetSource); 335Assert.Contains(packagesDirectory.FullName.Replace('\\', '/'), dotNetNuGetConfig); 409var outputDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, outputDirectoryName); 485hivesDirectory: new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")), 521var installPrefix = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "custom-aspire-prefix")); 522var processPath = Path.Combine(installPrefix.FullName, "dogfood", PrChannelName, "bin", "aspire"); 526var packagesDirectory = Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", PrChannelName, "packages")); 527File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{s_prVersion}.nupkg"), string.Empty);
Commands\NewCommandTests.cs (103)
147var outputDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "TemplateOut"); 553var config = AspireConfigFile.Load(Path.Combine(workspace.WorkspaceRoot.FullName, "output")); 916File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.mts"), "// test apphost"); 933Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "apphost.mts"))); 934Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "aspire.config.json"))); 1082File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "AppHost.java"), "package aspire;"); 1107File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json"), """ 1145File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "AppHost.java"), "package aspire;"); 1173File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.mts"), "// test apphost"); 1185Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "apphost.mts"))); 1204var document = XDocument.Load(nugetConfig.FullName); 1250AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), expectedSource); 1260var expectedSource = Path.Combine(workspace.WorkspaceRoot.FullName, "relative-feed"); 1262File.WriteAllText(Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.9.2.0.nupkg"), string.Empty); 1293AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), expectedSource); 1305var sourceOverride = Path.Combine(workspace.WorkspaceRoot.FullName, "source-feed"); 1330File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, scaffoldFileName), "// test apphost"); 1342AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), sourceOverride); 1353var sourceOverride = Path.Combine(workspace.WorkspaceRoot.FullName, "source-feed"); 1366AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), sourceOverride); 1401Assert.False(Directory.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output"))); 1433var expectedSource = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.org"); 1436Assert.False(Directory.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output"))); 1456File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.mts"), "// test apphost"); 1495File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "AppHost.java"), "package aspire;"); 1507Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "AppHost.java"))); 1531File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.py"), "# test apphost"); 1543Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "apphost.py"))); 1559Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "apphost.cs"))); 1589var appHostCreated = File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", "apphost.cs")); 1614var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 1648var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 1723var outputRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 1839capturedTargetDirectory = context.TargetDirectory.FullName; 1857var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestApp"); 1902await File.WriteAllTextAsync(Path.Combine(context.TargetDirectory.FullName, "aspire.config.json"), """ 1932var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", "aspire.config.json"); 1992var config = AspireConfigFile.Load(directory.FullName); 1996var modulesDir = Directory.CreateDirectory(Path.Combine(directory.FullName, LanguageInfo.GeneratedFolderName)); 1997File.WriteAllText(Path.Combine(modulesDir.FullName, "aspire.mts"), "// generated sdk"); 2012Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "output", LanguageInfo.GeneratedFolderName, "aspire.mts"))); 2082var sourceOverride = Path.Combine(workspace.WorkspaceRoot.FullName, "source-feed"); 2120var modulesDir = Directory.CreateDirectory(Path.Combine(directory.FullName, ".aspire", "modules")); 2121File.WriteAllText(Path.Combine(modulesDir.FullName, "aspire.ts"), "// generated sdk"); 2134AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), sourceOverride); 2156var document = XDocument.Load(nugetConfigFile.FullName); 2182AssertSourceOverrideNuGetConfig(Path.Combine(workspace.WorkspaceRoot.FullName, "output"), sourceOverride); 2192var sourceOverride = Path.Combine(workspace.WorkspaceRoot.FullName, "source-feed"); 2291var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 2316var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 2413Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-starter"), capturedOutputPath); 2448var result = command.Parse($"new aspire-starter --name MyProject --output {Path.Combine(workspace.WorkspaceRoot.FullName, "my-project")} --use-redis-cache --test-framework None"); 2490var outputDir = Path.Combine(workspace.WorkspaceRoot.FullName, "output"); 2609Path.Combine(workspace.WorkspaceRoot.FullName, "source"); 2640var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "source", "MyFirstApp"); 2668Path.Combine(workspace.WorkspaceRoot.FullName, "source", "MyFirstApp"); 2699var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "source", "MyFirstApp"); 2725Path.Combine(workspace.WorkspaceRoot.FullName, "source"); 2756var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "source"); 2787selectedPathFactory(workspace.WorkspaceRoot.FullName); 2816Assert.Equal(expectedPathFactory(workspace.WorkspaceRoot.FullName), capturedOutputPath); 2853Path.Combine(workspace.WorkspaceRoot.FullName, "source"); 2864File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.ts"), "// test apphost"); 2878var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "source", projectName); 2879Assert.Equal(expectedPath, capturedTargetDirectory.FullName); 2890File.WriteAllText(Path.Combine(selectedParent.FullName, "existing.txt"), "existing content"); 2912var validationResult = validator(selectedParent.FullName); 2915return selectedParent.FullName; 2927File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.ts"), "// test apphost"); 2942var expectedPath = Path.Combine(selectedParent.FullName, projectName); 2943Assert.Equal(expectedPath, capturedTargetDirectory.FullName); 2954var collidingProject = Directory.CreateDirectory(Path.Combine(collidingParent.FullName, projectName)); 2955File.WriteAllText(Path.Combine(collidingProject.FullName, "existing.txt"), "existing content"); 2957var selectedParents = new Queue<string?>([collidingParent.FullName, validParent.FullName]); 3020Assert.Equal(Path.Combine(validParent.FullName, projectName), capturedOutputPath); 3024collidingProject.FullName); 3068return selectedParent.FullName; 3080File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.ts"), "// test apphost"); 3095var expectedPath = Path.Combine(selectedParent.FullName, projectName); 3096Assert.Equal(expectedPath, capturedTargetDirectory.FullName); 3138selectedOutputPath.FullName; 3149File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.ts"), "// test apphost"); 3164Assert.Equal(selectedOutputPath.FullName, capturedTargetDirectory.FullName); 3165Assert.True(File.Exists(Path.Combine(selectedOutputPath.FullName, "apphost.ts"))); 3166Assert.False(File.Exists(Path.Combine(selectedOutputPath.FullName, projectName, "apphost.ts"))); 3192Path.Combine(workspace.WorkspaceRoot.FullName, "source", projectName); 3203File.WriteAllText(Path.Combine(context.TargetDirectory.FullName, "apphost.ts"), "// test apphost"); 3217var expectedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "source", projectName); 3218Assert.Equal(expectedPath, capturedTargetDirectory.FullName); 3244var skillPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", ".agents", "skills", CommonAgentApplicators.AspireSkillName, "SKILL.md"); 3270var skillPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", ".agents", "skills", CommonAgentApplicators.AspireSkillName, "SKILL.md"); 3272var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", ".agents", "skills", CommonAgentApplicators.AspireifySkillName, "SKILL.md"); 3298var skillPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", ".agents", "skills", CommonAgentApplicators.AspireSkillName, "SKILL.md"); 3300var aspireifySkillPath = Path.Combine(workspace.WorkspaceRoot.FullName, "output", ".agents", "skills", CommonAgentApplicators.AspireifySkillName, "SKILL.md"); 3311File.WriteAllText(Path.Combine(existingDir.FullName, "file.txt"), "content"); 3325var result = command.Parse($"new aspire-starter --name TestApp --output {existingDir.FullName} --use-redis-cache --test-framework None"); 3330var expectedError = string.Format(CultureInfo.CurrentCulture, NewCommandStrings.OutputDirectoryNotEmptyNonInteractive, existingDir.FullName); 3347var result = command.Parse($"new aspire-starter --name TestApp --output {emptyDir.FullName} --use-redis-cache --test-framework None"); 3360File.WriteAllText(Path.Combine(existingDir.FullName, "file.txt"), "content"); 3457Assert.Equal(projectDir.FullName, capturedOutputPath); 3464var validator = OutputPathHelper.CreateOutputPathValidator(workspace.WorkspaceRoot.FullName);
Commands\ParseResultHelperTests.cs (3)
68[$"--capture-profile-output={new FileInfo("--").FullName}", "--", "--custom-arg"], 119Assert.Equal(["--capture-profile-output", new FileInfo(relativePath).FullName], forwardedArguments.Tokens); 143Assert.Equal([$"--capture-profile-output={new FileInfo("--").FullName}"], forwardedArguments.Tokens);
Commands\PsCommandTests.cs (17)
126AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 142AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"), 194var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 233AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 273AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 279AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 317AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 361AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 398var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 431var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 501AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 540AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 604AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 648AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 688AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 695AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"), 735AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"),
Commands\PublishCommandPromptingIntegrationTests.cs (8)
262var selectedFile = Path.Combine(workspace.WorkspaceRoot.FullName, "artifact.zip"); 265var missingFile = Path.Combine(workspace.WorkspaceRoot.FullName, "missing.zip"); 803var oversizedFile = Path.Combine(workspace.WorkspaceRoot.FullName, "large.bin"); 806var validFile = Path.Combine(workspace.WorkspaceRoot.FullName, "small.bin"); 849var wrongExtFile = Path.Combine(workspace.WorkspaceRoot.FullName, "cert.txt"); 852var correctFile = Path.Combine(workspace.WorkspaceRoot.FullName, "cert.pem"); 895var validFile = Path.Combine(workspace.WorkspaceRoot.FullName, "deploy.zip"); 941var validFile = Path.Combine(workspace.WorkspaceRoot.FullName, "archive.tar.gz");
Commands\ResourceCommandHelpParserTests.cs (2)
44Assert.EndsWith(Path.Combine("AppHost", "AppHost.csproj"), appHostProjectFile.FullName); 62Assert.EndsWith(Path.Combine("AppHost", "AppHost.csproj"), appHostProjectFile.FullName);
Commands\ResourceCommandTests.cs (7)
182var result = command.Parse($"""resource web --apphost "{appHostDirectory.FullName}" --help"""); 198var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 199File.WriteAllText(appHostProjectFile.FullName, "<Project />"); 211AppHostPath = appHostProjectFile.FullName, 217Path.Combine(workspace.WorkspaceRoot.FullName, "socket1"), 221Path.Combine(workspace.WorkspaceRoot.FullName, "socket2"), 231var result = command.Parse($"""resource web --apphost "{appHostProjectFile.FullName}" --help""");
Commands\RestoreCommandTests.cs (8)
18var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 19await File.WriteAllTextAsync(appHostFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 31capturedProjectFilePath = projectFilePath.FullName; 39var result = command.Parse($"restore --apphost {appHostFile.FullName}"); 45Assert.Equal(appHostFile.FullName, capturedProjectFilePath); 52var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 53await File.WriteAllTextAsync(appHostFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\" />"); 74var result = command.Parse($"restore --apphost {appHostFile.FullName}");
Commands\RunCommandTests.cs (125)
98var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--launch-profile", "E2E"]); 140var result = command.Parse(["run", "--detach", "--apphost", appHostFile.FullName, "--launch-profile", "E2E"]); 158File.WriteAllText(Path.Combine(propertiesDirectory.FullName, "launchSettings.json"), """ 191var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--launch-profile", "missing"]); 207File.WriteAllText(Path.Combine(propertiesDirectory.FullName, "launchSettings.json"), $$""" 236var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--launch-profile", "container"]); 272var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--launch-profile", "E2E"]); 373var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 374await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 405var result = command.Parse($"run --apphost {appHostFile.FullName}"); 437var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 438await File.WriteAllTextAsync(appHostFile.FullName, "<Project />", TestContext.Current.CancellationToken); 487var result = command.Parse($"run --apphost {appHostFile.FullName}"); 525var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 526await File.WriteAllTextAsync(appHostFile.FullName, "<Project />", TestContext.Current.CancellationToken); 588var result = command.Parse($"run --apphost {appHostFile.FullName}"); 630var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 631await File.WriteAllTextAsync(appHostFile.FullName, "<Project />", TestContext.Current.CancellationToken); 686var result = command.Parse($"run --apphost {appHostFile.FullName}"); 787await File.WriteAllTextAsync(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj"), "fake"); 790await File.WriteAllTextAsync(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj"), "fake"); 855File.WriteAllText(projectFile.FullName, """ 891var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj")); 903var result = command.Parse($"run --apphost {appHostProjectFile.FullName}"); 917var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj")); 921Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 950var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj")); 981var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj")); 992var result = command.Parse($"run --apphost {appHostProjectFile.FullName}"); 1010var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj")); 1052var result = command.Parse($"run --apphost {appHostProjectFile.FullName}"); 1087var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 1088await File.WriteAllTextAsync(appHostFile.FullName, "<Project />", TestContext.Current.CancellationToken); 1105var parentResult = parentCommand.Parse($"run --detach --apphost {appHostFile.FullName}"); 1161File.WriteAllText(Path.Combine(propertiesDirectory.FullName, "launchSettings.json"), """ 1193"--apphost", appHostFile.FullName, 1280var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1281await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1326var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1356var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1357await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1396var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1420var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1421await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1464var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1482var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1483await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1521var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1540var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1541await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1578var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1602var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1603await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1641var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1663var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1664await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1708var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1726var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1727await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1769var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1787var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1788await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1821var result = command.Parse($"run --apphost {appHostFile.FullName}"); 1849var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 1850await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1893var result = command.Parse($"run --apphost {appHostFile.FullName}"); 2399var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "cli [run].log"); 2521var appHostDirectoryPath = Path.Combine(workspace.WorkspaceRoot.FullName, "src", "MyApp.AppHost"); 2523var appHostProjectPath = Path.Combine(appHostDirectory.FullName, "MyApp.AppHost.csproj"); 2525File.WriteAllText(appHostProjectFile.FullName, "<Project></Project>"); 3164var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3165await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3212var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3213await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3256var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3257await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3304var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3305await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3347var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3348await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3391var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3392await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3435var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 3436await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 3729var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 3791var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 3833var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 3891var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 3935var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 3996Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"), 4034Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"), 4069var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 4118var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 4162var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 4218Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"), 4260var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"); 4317var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 4318await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 4344var result = command.Parse(explicitAppHost ? $"run --apphost \"{appHostFile.FullName}\"" : "run"); 4349Assert.Equal(workspace.WorkspaceRoot.FullName, workingDirectory); 4350Assert.Equal(explicitAppHost ? appHostFile.FullName : null, projectFile); 4363workspace.WorkspaceRoot.FullName, 4364Path.Combine(workspace.WorkspaceRoot.FullName, "common", ".git")); 4366var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 4367File.WriteAllText(appHostFile.FullName, "<Project />"); 4382"--apphost", appHostFile.FullName, 4416"--capture-profile-output", new FileInfo(relativeCapturePath).FullName, 4430workspace.WorkspaceRoot.FullName, 4431Path.Combine(workspace.WorkspaceRoot.FullName, "common", ".git")); 4433var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 4434File.WriteAllText(appHostFile.FullName, "<Project />"); 4442var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--debug", "--", "--custom-arg", "value"]); 4458workspace.WorkspaceRoot.FullName, 4459Path.Combine(workspace.WorkspaceRoot.FullName, "common", ".git")); 4461var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 4462File.WriteAllText(appHostFile.FullName, "<Project />"); 4470var result = command.Parse(["run", "--apphost", appHostFile.FullName, "--debug", "--secret", "value"]); 4713var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 4714File.WriteAllText(appHostFile.FullName, "<Project />"); 4729var args = new List<string> { commandName, "--apphost", appHostFile.FullName }; 4754var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 4755File.WriteAllText(appHostFile.FullName, "<Project />"); 4762var backchannelsDirectory = Path.Combine(homeDirectory.FullName, ".aspire", "cli", "bch"); 4765var resolvedAppHostPath = PathNormalizer.ResolveSymlinks(appHostFile.FullName); 4766var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, homeDirectory.FullName);
Commands\SdkDumpCommandTests.cs (2)
384if (File.Exists(Path.Combine(currentDirectory.FullName, "Aspire.slnx"))) 386return currentDirectory.FullName;
Commands\SdkInstallerTests.cs (3)
29await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), projectContent); 116await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), projectContent); 154await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), projectContent);
Commands\SecretCommandTests.cs (7)
21var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 25await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 35var result = command.Parse($"secret path --apphost \"{appHostFile.FullName}\""); 47var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 48var userSecretsId = UserSecretsPathHelper.ComputeSyntheticUserSecretsId(appHostFile.FullName); 51await File.WriteAllTextAsync(appHostFile.FullName, "export {};"); 61var result = command.Parse($"secret path --apphost \"{appHostFile.FullName}\"");
Commands\StartCommandTests.cs (29)
153var result = command.Parse(["start", "--apphost", appHostFile.FullName, "--launch-profile", "E2E"]); 217File.WriteAllText(Path.Combine(propertiesDirectory.FullName, "launchSettings.json"), """ 248"--apphost", appHostFile.FullName, 268await File.WriteAllTextAsync(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj"), "fake"); 271await File.WriteAllTextAsync(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj"), "fake"); 299await File.WriteAllTextAsync(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj"), "fake"); 302await File.WriteAllTextAsync(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj"), "fake"); 330var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 331await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 360var result = command.Parse($"start --apphost {appHostFile.FullName}"); 383var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 384File.WriteAllText(appHostFile.FullName, "<Project />"); 404"--project", appHostFile.FullName, 424Assert.Equal(workspace.WorkspaceRoot.FullName, workingDirectory); 425Assert.Equal(appHostFile.FullName, projectFile); 505var result = command.Parse($"start --apphost {appHostFile.FullName} --start-debug-session"); 521workspace.WorkspaceRoot.FullName, 522Path.Combine(workspace.WorkspaceRoot.FullName, "common", ".git")); 530var result = provider.GetRequiredService<RootCommand>().Parse($"start --apphost {appHostFile.FullName}"); 568var result = command.Parse($"start --apphost {appHostFile.FullName}"); 604var result = command.Parse(string.Format(CultureInfo.InvariantCulture, commandTemplate, appHostFile.FullName)); 617workspace.WorkspaceRoot.FullName, 618Path.Combine(workspace.WorkspaceRoot.FullName, "common", ".git")); 650Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 667var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.csproj")); 668File.WriteAllText(appHostFile.FullName, "<Project />"); 675var backchannelsDirectory = Path.Combine(homeDirectory.FullName, ".aspire", "cli", "bch"); 678var resolvedAppHostPath = PathNormalizer.ResolveSymlinks(appHostFile.FullName); 679var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, homeDirectory.FullName);
Commands\StopCommandTests.cs (84)
87var resolvedProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Resolved.AppHost", "Resolved.AppHost.csproj")); 104var result = command.Parse($"stop --apphost \"{appHostDirectory.FullName}\""); 125var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "AppHost.cs"); 126var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "AppHost.cs"); 160var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost", "App1.AppHost.csproj"); 197var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost", "App1.AppHost.csproj"); 225Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 226var worktreeRoot = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".worktrees", "feature")).FullName; 229Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 235var primaryAppHost = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj"); 237Assert.True(AuxiliaryBackchannelMonitor.IsAppHostInScopeOfDirectory(primaryAppHost, workspace.WorkspaceRoot.FullName)); 238Assert.False(AuxiliaryBackchannelMonitor.IsAppHostInScopeOfDirectory(nestedAppHost, workspace.WorkspaceRoot.FullName)); 244isInScope: AuxiliaryBackchannelMonitor.IsAppHostInScopeOfDirectory(primaryAppHost, workspace.WorkspaceRoot.FullName)); 249isInScope: AuxiliaryBackchannelMonitor.IsAppHostInScopeOfDirectory(nestedAppHost, workspace.WorkspaceRoot.FullName)); 280var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 281await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 297var result = command.Parse($"stop --apphost \"{appHostFile.FullName}\""); 312var commonGitDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ".git"); 314var worktreeRoot = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".worktrees", "feature")).FullName; 363var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost", "App1.AppHost.csproj"); 398var appHostPath1 = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 399var appHostPath2 = Path.Combine(workspace.WorkspaceRoot.FullName, "App2", "App2.AppHost.csproj"); 474var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 475await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 492var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 508var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 509await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 526var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 540var runningAppHostFile = new FileInfo(Path.Combine(runningAppHostDirectory.FullName, "Running.AppHost.csproj")); 541await File.WriteAllTextAsync(runningAppHostFile.FullName, "<Project />"); 543var discoveredAppHostFile = new FileInfo(Path.Combine(discoveredAppHostDirectory.FullName, "Discovered.AppHost.csproj")); 544await File.WriteAllTextAsync(discoveredAppHostFile.FullName, "<Project />"); 550var connection = CreateConnection(runningAppHostFile.FullName, int.MaxValue - 11); 551connection.SocketPath = CreateMatchingSocketFile(runningAppHostFile.FullName, workspace, 11); 592var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 593await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 610var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 624var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 625await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 659var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 660await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 665var outOfScopeAppHostFile = Path.Combine(workspace.WorkspaceRoot.FullName, "OtherWorkspace", "Other.AppHost.csproj"); 699var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 700await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 720var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 734var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 735await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 757var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 774var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 775await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 797var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 814var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 815await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 836var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 853var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "apphost.ts")); 854await File.WriteAllTextAsync(appHostFile.FullName, ""); 880var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 899var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 900await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 922var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 936var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 937await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 964var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 981var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 982await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1002var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 1019var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 1020await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1040var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 1057var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 1058await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1074var result = command.Parse($"stop --force --apphost \"{appHostFile.FullName}\""); 1125var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 1126await File.WriteAllTextAsync(appHostFile.FullName, "<Project />"); 1131var connection = CreateConnection(appHostFile.FullName, int.MaxValue - 10); 1132connection.SocketPath = CreateMatchingSocketFile(appHostFile.FullName, workspace, 10); 1190var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "App1", "App1.AppHost.csproj"); 1228File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), ""); 1233LayoutPath = layoutRoot.FullName, 1298var homeDirectory = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".home")); 1299var backchannelsDirectory = Path.Combine(homeDirectory.FullName, ".aspire", "cli", "bch"); 1303var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, homeDirectory.FullName);
Commands\TelemetryTestHelper.cs (1)
78AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\TelemetryTracesCommandTests.cs (1)
87AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\TerminalCommandTests.cs (1)
626AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost", "TestAppHost.csproj"),
Commands\TypeScriptAppHostToolingCheckTests.cs (3)
156Path.Combine(workspace.WorkspaceRoot.FullName, "yarn.lock"), 173var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"); 175File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), packageJsonContent);
Commands\UpdateCommandTests.cs (98)
88var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 89await File.WriteAllTextAsync(appHostProjectFile.FullName, """ 124var result = command.Parse($"update --apphost {appHostProjectFile.FullName}"); 129Assert.Equal(appHostProjectFile.FullName, updatedProjectFile?.FullName); 186var targetExePath = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.exe"); 187var oldBackup1 = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.exe.old.1234567890"); 188var oldBackup2 = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.exe.old.9876543210"); 189var otherFile = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.exe.something"); 197FileDeleteHelper.TryCleanupOldItems(workspace.WorkspaceRoot.FullName, "aspire.exe"); 210var oldBackup = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.exe.old.1234567890"); 217FileDeleteHelper.TryCleanupOldItems(workspace.WorkspaceRoot.FullName, "aspire.exe"); 245FileDeleteHelper.TryCleanupOldItems(workspace.WorkspaceRoot.FullName, "aspire.exe"); 307return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 376var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 439var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 494var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 564return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 627var toolPath = Path.Combine(installDir.FullName, "custom tool path"); 643return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 720return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 793return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 836return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 877return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 961return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1014Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), pendingMigration.DetectedContext.AppHostFile.FullName); 1042Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), pendingMigration.DetectedContext.AppHostFile.FullName); 1044Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"), pendingMigration.AppliedContext.AppHostFile.FullName); 1119return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1220var processPath = CreateNixInstall(installDir.FullName); 1257var processPath = CreateNixInstall(installDir.FullName); 1258var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 1301UseOrFindAppHostProjectFileAsyncCallback = (_, _, _) => Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))) 1383var toolPath = Path.Combine(installDir.FullName, "custom tool path"); 1466var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 1492var processPath = Path.Combine(installDirectory.FullName, "aspire"); 1496var sidecarPath = Path.Combine(installDirectory.FullName, InstallSidecarReader.SidecarFileName); 1534var processPath = Path.Combine(installDirectory.FullName, "aspire"); 1539var sidecarPath = Path.Combine(installDirectory.FullName, InstallSidecarReader.SidecarFileName); 1591var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 1632var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 1666return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1731return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1795return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1853return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1930return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 1975return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 2031var localConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2050var globalDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 2070var localConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2088var globalDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 2092var localConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2112var globalDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 2133var localConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2142return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 2195Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))) 2248var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 2249var projectConfigPath = Path.Combine(projectDirectory.FullName, AspireConfigFile.FileName); 2254updateArgs: $"update --apphost {Path.Combine(projectDirectory.FullName, "AppHost.csproj")}", 2268Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 2271var globalDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 2275var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 2279updateArgs: $"update --apphost {Path.Combine(projectDirectory.FullName, "AppHost.csproj")}", 2296Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 2299var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 2301Path.Combine(projectDirectory.FullName, AspireConfigFile.FileName), 2306updateArgs: $"update --apphost {Path.Combine(projectDirectory.FullName, "AppHost.csproj")}", 2322Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 2325var globalDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 2329var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 2331Path.Combine(projectDirectory.FullName, AspireConfigFile.FileName), 2336updateArgs: $"update --apphost {Path.Combine(projectDirectory.FullName, "AppHost.csproj")}", 2379Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 2416return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 2502var resolved = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2587return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 2629var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "elsewhere")); 2630var appHostFile = new FileInfo(Path.Combine(projectDirectory.FullName, "AppHost.csproj")); 2631File.WriteAllText(appHostFile.FullName, string.Empty); 2633Path.Combine(projectDirectory.FullName, AspireConfigFile.FileName), 2669var result = command.Parse($"update --apphost \"{appHostFile.FullName}\""); 2776Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 2828return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(projectDirectory.FullName, "AppHost.csproj"))); 2865var hivesDirectory = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 2959var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 3004var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 3049var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 3082var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 3115return Task.FromResult<FileInfo?>(new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"))); 3269var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz"); 3291var executablePath = Path.Combine(contentDirectory.FullName, "aspire"); 3309var tarPath = Path.Combine(archiveDirectory.FullName, "aspire.tar"); 3310TarFile.CreateFromDirectory(contentDirectory.FullName, tarPath, includeBaseDirectory: false); 3312var archivePath = Path.Combine(archiveDirectory.FullName, "aspire.tar.gz"); 3435var archivePath = Path.Combine(workspace.WorkspaceRoot.FullName, "test-cli.tar.gz");
Commands\VsCodeExtensionCheckTests.cs (15)
37["VSCODE_EXTENSIONS"] = extensions.FullName 63Directory.CreateDirectory(Path.Combine(extensions.FullName, "microsoft-aspire.aspire-vscode-1.2.3")); 67["VSCODE_EXTENSIONS"] = extensions.FullName 91Directory.CreateDirectory(Path.Combine(extensions.FullName, "microsoft-aspire.aspire-vscode-1.2.3")); 96["VSCODE_EXTENSIONS"] = extensions.FullName 116Directory.CreateDirectory(Path.Combine(home.FullName, rootFolder, "extensions", "microsoft-aspire.aspire-vscode-1.2.3")); 137Directory.CreateDirectory(Path.Combine(home.FullName, ".vscode", "extensions", "microsoft-aspire.aspire-vscode-1.2.3")); 142["VSCODE_EXTENSIONS"] = overrideDirectory.FullName 188Directory.CreateDirectory(Path.Combine(extensions.FullName, "Microsoft-Aspire.Aspire-VSCode-9.9.9")); 193["VSCODE_EXTENSIONS"] = extensions.FullName 207Directory.CreateDirectory(Path.Combine(extensions.FullName, "ms-dotnettools.csharp-2.0.0")); 212["VSCODE_EXTENSIONS"] = extensions.FullName 229Directory.CreateDirectory(Path.Combine(extensions.FullName, "microsoft-aspire.aspire-vscode-extras-1.0.0")); 234["VSCODE_EXTENSIONS"] = extensions.FullName 250var missingExtensionsDirectory = Path.Combine(home.FullName, "does-not-exist");
Configuration\AppHostPathConfigurationPolicyTests.cs (5)
40var path = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 54var path = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 64var path = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 76var path = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 86var path = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName);
Configuration\AspireConfigFileTests.cs (44)
16var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 26var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 34var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 46var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 58var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 70var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 82var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 94var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 105var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 117var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 125var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 136var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 139var ex = Assert.Throws<JsonException>(() => AspireConfigFile.Load(workspace.WorkspaceRoot.FullName)); 150var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 153var ex = Assert.Throws<JsonException>(() => AspireConfigFile.Load(workspace.WorkspaceRoot.FullName)); 163var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 166var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 184config.Save(workspace.WorkspaceRoot.FullName); 186var filePath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 199var subDir = Path.Combine(workspace.WorkspaceRoot.FullName, "nested", "dir"); 212Assert.False(AspireConfigFile.Exists(workspace.WorkspaceRoot.FullName)); 220File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), "{}"); 222Assert.True(AspireConfigFile.Exists(workspace.WorkspaceRoot.FullName)); 361var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 368var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 382var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 389var result = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 411config.Save(workspace.WorkspaceRoot.FullName); 412var loaded = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 440config.Save(workspace.WorkspaceRoot.FullName); 441var loaded = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 454var root = workspace.WorkspaceRoot.FullName; 476var root = workspace.WorkspaceRoot.FullName; 496var root = workspace.WorkspaceRoot.FullName; 518var root = workspace.WorkspaceRoot.FullName; 544var root = workspace.WorkspaceRoot.FullName; 564var root = workspace.WorkspaceRoot.FullName; 586var root = workspace.WorkspaceRoot.FullName; 606var root = workspace.WorkspaceRoot.FullName; 626var root = workspace.WorkspaceRoot.FullName; 645var root = workspace.WorkspaceRoot.FullName; 665var root = workspace.WorkspaceRoot.FullName; 685var root = workspace.WorkspaceRoot.FullName; 705var root = workspace.WorkspaceRoot.FullName;
Configuration\ConfigurationHelperTests.cs (21)
17var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 21var globalSettingsFile = new FileInfo(Path.Combine(globalDir.FullName, AspireConfigFile.FileName)); 118var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 138var config = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 150Directory.CreateDirectory(Path.Combine(configRoot.FullName, "nested", "apphost")); 151File.WriteAllText(Path.Combine(configRoot.FullName, AspireConfigFile.FileName), "{}"); 154new DirectoryInfo(Path.Combine(configRoot.FullName, "nested", "apphost"))); 156Assert.Equal(configRoot.FullName, resolvedRoot.FullName); 164var appHostDirectory = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "nested", "apphost")); 170Path.Combine(workspace.WorkspaceRoot.FullName, AspireJsonConfiguration.SettingsFolder), 171aspireDirectory.FullName); 191var legacySettingsPath = Path.Combine(legacyDir.FullName, AspireJsonConfiguration.FileName); 199var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 203var globalSettingsFile = new FileInfo(Path.Combine(globalDir.FullName, AspireConfigFile.FileName)); 229var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 239var legacySettingsPath = Path.Combine(legacyDir.FullName, AspireJsonConfiguration.FileName); 245var globalSettingsFile = new FileInfo(Path.Combine(globalDir.FullName, AspireConfigFile.FileName)); 263var legacySettingsPath = Path.Combine(legacyDir.FullName, AspireJsonConfiguration.FileName); 267var globalSettingsFile = new FileInfo(Path.Combine(globalDir.FullName, AspireConfigFile.FileName)); 276var migratedPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName);
Configuration\ConfigurationServiceTests.cs (7)
20var globalSettingsFile = new FileInfo(Path.Combine(globalSettingsDir.FullName, AspireConfigFile.FileName)); 22var settingsFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 114var legacySettingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.json"); 224Path.Combine(srcDirectory.FullName, AspireConfigFile.FileName), 253Path.Combine(srcDirectory.FullName, AspireConfigFile.FileName), 316var config = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 339var config = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName);
Configuration\DotNetBasedAppHostServerChannelResolutionTests.cs (4)
29var appPath = workspace.WorkspaceRoot.FullName; 46var appPath = workspace.WorkspaceRoot.FullName; 67var appPath = workspace.WorkspaceRoot.FullName; 88var appPath = workspace.WorkspaceRoot.FullName;
Configuration\PrebuiltAppHostServerChannelResolutionTests.cs (11)
28var server = CreateServer(appHostDirectory.FullName); 39var config = AspireConfigFile.LoadOrCreate(appHostDirectory.FullName); 41config.Save(appHostDirectory.FullName); 43var server = CreateServer(appHostDirectory.FullName); 60legacy.Save(appHostDirectory.FullName); 64Assert.False(File.Exists(Path.Combine(appHostDirectory.FullName, AspireConfigFile.FileName))); 66var server = CreateServer(appHostDirectory.FullName); 81legacy.Save(appHostDirectory.FullName); 83var config = AspireConfigFile.LoadOrCreate(appHostDirectory.FullName); 85config.Save(appHostDirectory.FullName); 87var server = CreateServer(appHostDirectory.FullName);
DotNet\DotNetCliRunnerTests.cs (176)
45var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 46await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 64["run", "--no-launch-profile", "--project", projectFile.FullName, "--", "--operation", "inspect"], 94var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, appHostFileName)); 95await File.WriteAllTextAsync(appHostFile.FullName, "Not a real AppHost."); 107? ["run", "--launch-profile=--no-build", $"/p:{KnownConfigNames.SuppressCliRunHook}=true", "--file", appHostFile.FullName, "--"] 109? ["watch", "--non-interactive", "--launch-profile=--no-build", "--project", appHostFile.FullName, "--"] 110: ["run", "--launch-profile=--no-build", "--project", appHostFile.FullName, "--"]; 133var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 134await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 145["run", "--project", projectFile.FullName, "--", .. appHostArguments], 167var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 168var appHostCommand = Path.Combine(workspace.WorkspaceRoot.FullName, "bin", "Debug", "net10.0", "AppHost"); 169var runWorkingDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "run-cwd")); 170await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 186Assert.Equal(runWorkingDirectory.FullName, workingDirectory.FullName); 209var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 210var appHostAssembly = Path.Combine(workspace.WorkspaceRoot.FullName, "bin", "Debug", "net10.0", "AppHost.dll"); 211var runWorkingDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "run-cwd")); 212await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 229Assert.Equal(runWorkingDirectory.FullName, workingDirectory.FullName); 250var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 251await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 278var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 279await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 311var cliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "artifacts", "bin", "Aspire.Cli", "Debug", "net10.0")); 312var cliPath = Path.Combine(cliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.exe" : "aspire"); 314File.WriteAllText(Path.Combine(cliDirectory.FullName, "aspire.dll"), string.Empty); 324var cliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "artifacts", "bin", "Aspire.Cli", "Debug", "net10.0")); 325var cliPath = Path.Combine(cliDirectory.FullName, "aspire"); 327File.WriteAllText(Path.Combine(cliDirectory.FullName, "aspire.dll"), string.Empty); 329var linkDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "bin")); 330var linkPath = Path.Combine(linkDirectory.FullName, "aspire"); 340var dotnetDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "dotnet")); 341var dotnetPath = Path.Combine(dotnetDirectory.FullName, OperatingSystem.IsWindows() ? "dotnet.exe" : "dotnet"); 351var cliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "bin")); 352var cliPath = Path.Combine(cliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.exe" : "aspire"); 354File.WriteAllText(Path.Combine(cliDirectory.FullName, "aspire.dll"), string.Empty); 355File.WriteAllText(Path.Combine(cliDirectory.FullName, ".aspire-install.json"), """{"source":"script"}"""); 364var cliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "bin")); 365var cliPath = Path.Combine(cliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.exe" : "aspire"); 367File.WriteAllText(Path.Combine(cliDirectory.FullName, "aspire.dll"), string.Empty); 368Directory.CreateDirectory(Path.Combine(cliDirectory.FullName, "dcp")); 369Directory.CreateDirectory(Path.Combine(cliDirectory.FullName, "managed")); 370File.WriteAllText(Path.Combine(cliDirectory.FullName, "dcp", OperatingSystem.IsWindows() ? "dcp.exe" : "dcp"), string.Empty); 371File.WriteAllText(Path.Combine(cliDirectory.FullName, "managed", OperatingSystem.IsWindows() ? "aspire-managed.exe" : "aspire-managed"), string.Empty); 380var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 381await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 395Assert.Equal(projectFile.FullName, args[1]); 408var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 409await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 445var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 446await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 474var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 475await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 503var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 504await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 510[KnownConfigNames.CliDotnetBinlogDirectory] = binlogDirectory.FullName 527Assert.Equal(binlogDirectory.FullName, Path.GetDirectoryName(binlogPath)); 547[KnownConfigNames.CliDotnetBinlogDirectory] = workspace.WorkspaceRoot.CreateSubdirectory("binlogs").FullName 576var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 577await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 613var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 614await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 654var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 655await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 699var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 700await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 754var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 755await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 851var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 852await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 891var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 892await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 933var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 934await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 980var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 981await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1022[KnownConfigNames.UnixSocketPath] = Path.Combine(workspace.WorkspaceRoot.FullName, "cli.sock") 1043var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1044await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1077[KnownConfigNames.UnixSocketPath] = Path.Combine(workspace.WorkspaceRoot.FullName, "cli.sock") 1089var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1090await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1115[KnownConfigNames.UnixSocketPath] = Path.Combine(workspace.WorkspaceRoot.FullName, "cli.sock") 1131var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1132await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1157[KnownConfigNames.UnixSocketPath] = Path.Combine(workspace.WorkspaceRoot.FullName, "cli.sock") 1173var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1174await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1191Assert.Contains(appHostFile.FullName, args); 1199var filePathIndex = Array.IndexOf(args, appHostFile.FullName); 1226var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1227await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 1243Assert.Contains(projectFile.FullName, args); 1254var projectValueIndex = Array.IndexOf(args, projectFile.FullName); 1293var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1294await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 1314Assert.Contains(projectFile.FullName, args); 1324var projectValueIndex = Array.IndexOf(args, projectFile.FullName); 1359var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1360await File.WriteAllTextAsync(projectFile.FullName, "<Project></Project>"); 1380Assert.Contains(projectFile.FullName, args); 1392var projectValueIndex = Array.IndexOf(args, projectFile.FullName); 1432var solutionFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Test.sln")); 1433await File.WriteAllTextAsync(solutionFile.FullName, "Not a real solution file."); 1437var project1File = new FileInfo(Path.Combine(project1Dir.FullName, "Project1.csproj")); 1438await File.WriteAllTextAsync(project1File.FullName, "Not a real project file."); 1441var project2File = new FileInfo(Path.Combine(project2Dir.FullName, "Project2.csproj")); 1442await File.WriteAllTextAsync(project2File.FullName, "Not a real project file."); 1479var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1480await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1482var referencedProject = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Service.csproj")); 1483await File.WriteAllTextAsync(referencedProject.FullName, "Not a real project file."); 1497Assert.Contains(projectFile.FullName, args); 1499Assert.Contains(referencedProject.FullName, args); 1512var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1513await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1535arg => Assert.Equal(appHostFile.FullName, arg), 1559var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1560await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1581arg => Assert.Equal(appHostFile.FullName, arg), 1605var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1606await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1642var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1643await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1679var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1680await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1695arg => Assert.Equal(appHostFile.FullName, arg), 1720var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1721await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1765var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1766await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1793arg => Assert.Equal(appHostFile.FullName, arg), 1817var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1818await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1842arg => Assert.Equal(projectFile.FullName, arg), 1866var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1867await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1890arg => Assert.Equal(projectFile.FullName, arg), 1914var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1915await File.WriteAllTextAsync(appHostFile.FullName, "// Single-file AppHost"); 1951var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1952await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1986var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1987await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2029var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2030await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2071var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2072await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2111var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2112await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2150var projectDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "RunPropertiesApp")); 2151var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "RunPropertiesApp.csproj")); 2152await File.WriteAllTextAsync(projectFile.FullName, """ 2162await File.WriteAllTextAsync(Path.Combine(projectDirectory.FullName, "Program.cs"), "Console.WriteLine(\"Hello\");"); 2166WorkingDirectory = projectDirectory.FullName, 2172processStartInfo.ArgumentList.Add(projectFile.FullName); 2188Assert.Equal(Path.Combine(projectDirectory.FullName, "relative-working-directory"), properties.GetProperty("RunWorkingDirectory").GetString()); 2196var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2197await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2417var packagePath = Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{packageVersion}.nupkg"); 2430Assert.Equal(workspace.WorkspaceRoot.FullName, workingDirectory.FullName); 2487var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2488await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2525var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2526await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2563var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2564await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2603var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2604await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2642var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2643await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file.");
DotNet\ProcessExecutionDetachedTests.cs (27)
53var dcpPath = Path.Combine(workspace.WorkspaceRoot.FullName, "fake-dcp"); 54var capturePath = Path.Combine(workspace.WorkspaceRoot.FullName, "capture.txt"); 92workspace.WorkspaceRoot.FullName, 107$"cwd={PathNormalizer.ResolveSymlinks(workspace.WorkspaceRoot.FullName)}", 135var dcpPath = Path.Combine(workspace.WorkspaceRoot.FullName, "fake-dcp"); 136var startedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "dcp-started.txt"); 162workspace.WorkspaceRoot.FullName, 217var dcpPath = Path.Combine(workspace.WorkspaceRoot.FullName, "fake-dcp"); 240workspace.WorkspaceRoot.FullName, 255var dcpPath = Path.Combine(workspace.WorkspaceRoot.FullName, "fake-dcp"); 256var capturePath = Path.Combine(workspace.WorkspaceRoot.FullName, "child-pid.txt"); 282workspace.WorkspaceRoot.FullName, 309var dcpPath = BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName); 310var capturePath = Path.Combine(workspace.WorkspaceRoot.FullName, "bundle-version-dir.txt"); 332LayoutPath = versionDirectory.FullName 334var versionLease = BundleVersionLease.Acquire(versionDirectory.FullName, "test", "dcp-fork-process"); 340workspace.WorkspaceRoot.FullName, 352Assert.Equal(Path.GetFullPath(versionDirectory.FullName), (await File.ReadAllTextAsync(capturePath)).Trim()); 365var dcpPath = BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName); 386LayoutPath = versionDirectory.FullName 392workspace.WorkspaceRoot.FullName, 398Assert.True(BundleVersionLease.HasActiveLease(versionDirectory.FullName)); 402Assert.False(BundleVersionLease.HasActiveLease(versionDirectory.FullName)); 415var dcpPath = BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName); 436LayoutPath = versionDirectory.FullName 443workspace.WorkspaceRoot.FullName, 463Assert.False(BundleVersionLease.HasActiveLease(versionDirectory.FullName));
DotNet\ProcessExecutionFactoryEnvironmentTests.cs (1)
51WorkingDirectory = WorkingDirectory.FullName
DotNet\ProcessExecutionTests.cs (27)
40var outputFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "output.json")); 41await File.WriteAllTextAsync(outputFile.FullName, CreateJsonPayload(lineCount: 400)); 100var outputFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "output.json")); 101await File.WriteAllTextAsync(outputFile.FullName, CreateJsonPayload(lineCount: 400)); 290var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "emit-output.cmd")); 293$"type \"{outputFile.FullName}\"" + Environment.NewLine; 294await File.WriteAllTextAsync(scriptFile.FullName, content); 299var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "emit-output.sh")); 302$"cat \"{outputFile.FullName}\"" + Environment.NewLine; 303await File.WriteAllTextAsync(scriptFile.FullName, content); 306scriptFile.FullName, 319var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "emit-delayed-output.cmd")); 326$"type \"{outputFile.FullName}\"" + Environment.NewLine; 327await File.WriteAllTextAsync(scriptFile.FullName, content); 332var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "emit-delayed-output.sh")); 337$"cat \"{outputFile.FullName}\"" + Environment.NewLine; 338await File.WriteAllTextAsync(scriptFile.FullName, content); 341scriptFile.FullName, 354var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "long-running.cmd")); 358await File.WriteAllTextAsync(scriptFile.FullName, content); 363var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "long-running.sh")); 367await File.WriteAllTextAsync(scriptFile.FullName, content); 370scriptFile.FullName, 390WorkingDirectory = scriptFile.Directory!.FullName, 391ArgumentList = { "/d", "/c", scriptFile.FullName } 402WorkingDirectory = scriptFile.Directory!.FullName, 403ArgumentList = { scriptFile.FullName }
DotNetSdkInstallerTests.cs (4)
55var parentPidFile = Path.Combine(tempDirectory.FullName, "dotnet-parent.pid"); 56var childPidFile = Path.Combine(tempDirectory.FullName, "dotnet-child.pid"); 329var scriptFile = Path.Combine(directory.FullName, "dotnet-shim.ps1"); 352var shellFile = Path.Combine(directory.FullName, "dotnet");
Git\GitRepositoryTests.cs (16)
37await GitTestHelper.ConfigureGitIdentityAsync(workspace.WorkspaceRoot.FullName); 41var trackedFile = Path.Combine(appDir.FullName, "AppHost.csproj"); 46var untrackedFile = Path.Combine(samplesDir.FullName, "Sample.csproj"); 50var gitignorePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".gitignore"); 55var ignoredFile = Path.Combine(binDir.FullName, "Stale.csproj"); 59await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "add", "App/AppHost.csproj", ".gitignore"); 60await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "commit", "-m", "init"); 80await GitTestHelper.ConfigureGitIdentityAsync(workspace.WorkspaceRoot.FullName); 82var trackedFile = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"); 84await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "add", "AppHost.csproj"); 85await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "commit", "-m", "init"); 107await GitTestHelper.ConfigureGitIdentityAsync(workspace.WorkspaceRoot.FullName); 109var trackedFile = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj"); 111await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "add", "AppHost.csproj"); 112await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "commit", "-m", "init"); 135Assert.Equal(workspace.WorkspaceRoot.FullName, startedActivity.GetTagItem(ProfilingTelemetry.Tags.GitWorkingDirectory));
Git\GitWorktreeTests.cs (52)
17Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 18var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost", "AppHost.csproj"); 21Assert.Null(GitWorktree.TryGetLinkedWorktreeRoot(workspace.WorkspaceRoot.FullName)); 28var fixtureRoot = workspace.WorkspaceRoot.FullName; 29var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 47var fixtureRoot = workspace.WorkspaceRoot.FullName; 48var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 63var worktreeRoot = workspace.WorkspaceRoot.FullName; 79var fixtureRoot = workspace.WorkspaceRoot.FullName; 81Path.Combine(fixtureRoot, "physical", "checkouts", "feature")).FullName; 119var fixtureRoot = workspace.WorkspaceRoot.FullName; 120var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 139var fixtureRoot = workspace.WorkspaceRoot.FullName; 140var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "checkout")).FullName; 142Path.Combine(fixtureRoot, "physical", "primary", ".git", "worktrees", "feature")).FullName; 181var worktreeRoot = workspace.WorkspaceRoot.FullName; 199var fixtureRoot = workspace.WorkspaceRoot.FullName; 200var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 219var worktreeRoot = workspace.WorkspaceRoot.FullName; 240var fixtureRoot = workspace.WorkspaceRoot.FullName; 241var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 281var fixtureRoot = workspace.WorkspaceRoot.FullName; 282var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 286var submoduleRoot = Directory.CreateDirectory(Path.Combine(worktreeRoot, "extern", "dep")).FullName; 298var fixtureRoot = workspace.WorkspaceRoot.FullName; 299var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 313var fixtureRoot = workspace.WorkspaceRoot.FullName; 315var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 317var otherWorktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "other-worktree")).FullName; 332var fixtureRoot = workspace.WorkspaceRoot.FullName; 333var worktreeRoot = Directory.CreateDirectory(Path.Combine(fixtureRoot, "worktree")).FullName; 345Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".git")); 346var submoduleRoot = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "extern", "dep")).FullName; 349Path.Combine(workspace.WorkspaceRoot.FullName, ".git", "modules", "dep")); 360Assert.Null(GitWorktree.TryGetLinkedWorktreeRoot(workspace.WorkspaceRoot.FullName)); 369var primaryRoot = workspace.WorkspaceRoot.FullName; 371var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, ".worktrees", "feature")).FullName; 386var primaryRoot = workspace.WorkspaceRoot.FullName; 388var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, ".worktrees", "feature")).FullName; 390var submoduleRoot = Directory.CreateDirectory(Path.Combine(worktreeRoot, "extern", "dep")).FullName; 403var primaryRoot = workspace.WorkspaceRoot.FullName; 405var submoduleRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, "extern", "dep")).FullName; 442var repoBSubmoduleRoot = Directory.CreateDirectory(Path.Combine(repoBRoot, "extern", "dep")).FullName; 457var worktreeRoot = Directory.CreateDirectory(Path.Combine(primaryRoot, ".worktrees", "feature")).FullName; 468var workingDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "plain")).FullName; 469var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "other", "App.csproj"); 479var unmanagedDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "outside")).FullName; 493var root = Directory.CreateDirectory(Path.Combine(parent.FullName, name)).FullName;
Interaction\ConsoleInteractionServiceTests.cs (2)
710var logFilePath = Path.Combine(s_logsDirectory.FullName, "cli [dev team].log"); 738var logFilePath = Path.Combine(s_logsDirectory.FullName, "cli [dev team].log");
Interaction\ExtensionInteractionServiceTests.cs (5)
34var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "cli [extension].log"); 112var invalidPath = Path.Combine(workspace.WorkspaceRoot.FullName, "invalid"); 113var validPath = Path.Combine(workspace.WorkspaceRoot.FullName, "valid"); 154var invalidPath = Path.Combine(workspace.WorkspaceRoot.FullName, "invalid"); 222var logFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "cli [extension].log");
Layout\LayoutDiscoveryReparsePointTests.cs (11)
37workspace.WorkspaceRoot.FullName, 46var linksDir = Path.Combine(workspace.WorkspaceRoot.FullName, "WinGet", "Links"); 69var rawLayoutRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "custom-layout"); 72var realBinaryDir = Path.Combine(workspace.WorkspaceRoot.FullName, "real-binary"); 95var layoutRoot = workspace.WorkspaceRoot.FullName; 139var binaryDir = Path.Combine(workspace.WorkspaceRoot.FullName, "opt", "aspire", "bin"); 144var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "home", ".aspire"); 182var relativeLayoutRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "colocated"); 190var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "home", ".aspire"); 221var layoutRoot = workspace.WorkspaceRoot.FullName; 228Path.Combine(managedDir.FullName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)),
Mcp\ApiDocs\ApiDocsCacheTests.cs (3)
112new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")), 113new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache")), 120=> Directory.GetFiles(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", subdirectory))
Mcp\Docs\DocsCacheTests.cs (4)
37var cacheFiles = Directory.GetFiles(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "docs")) 87var cacheFiles = Directory.GetFiles(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache", "docs")) 125new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")), 126new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cache")),
Mcp\E2E\McpDocsE2ETests.cs (2)
289while (dir is not null && !File.Exists(Path.Combine(dir.FullName, "Aspire.slnx"))) 300var cliProjectPath = Path.Combine(dir.FullName, "src", "Aspire.Cli", "Aspire.Cli.csproj");
Mcp\ListAppHostsToolTests.cs (3)
34Assert.Contains($"App hosts within scope of working directory: {workspace.WorkspaceRoot.FullName}", text); 47var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "TestAppHost"); 111var inScopeAppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "InScopeAppHost");
Migrations\TypeScriptAppHostMigrationTests.cs (28)
54var appHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"); 71Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), 83await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"), "// legacy"); 84await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), "// modern"); 95await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"), "// csharp"); 106var appHostDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "external-apphost")); 108var appHostPath = Path.Combine(appHostDirectory.FullName, "apphost.ts"); 152await File.WriteAllTextAsync(Path.Combine(root.FullName, "apphost.ts"), LegacyAppHostContent); 154Path.Combine(root.FullName, "aspire.config.json"), 163Path.Combine(root.FullName, "tsconfig.apphost.json"), 171Path.Combine(root.FullName, "package.json"), 181await File.WriteAllTextAsync(Path.Combine(root.FullName, "eslint.config.mjs"), LegacyEslintConfigContent); 183var modulesDir = Directory.CreateDirectory(Path.Combine(root.FullName, ".modules")); 184await File.WriteAllTextAsync(Path.Combine(modulesDir.FullName, "aspire.ts"), "// generated"); 189var config = JsonNode.Parse(await File.ReadAllTextAsync(Path.Combine(root.FullName, "aspire.config.json")))!; 192var tsconfig = JsonNode.Parse(await File.ReadAllTextAsync(Path.Combine(root.FullName, "tsconfig.apphost.json")))!; 196var packageJson = JsonNode.Parse(await File.ReadAllTextAsync(Path.Combine(root.FullName, "package.json")))!; 201var eslintConfig = await File.ReadAllTextAsync(Path.Combine(root.FullName, "eslint.config.mjs")); 214Assert.False(File.Exists(Path.Combine(root.FullName, "apphost.ts"))); 215Assert.False(Directory.Exists(Path.Combine(root.FullName, ".modules"))); 217var modernContent = await File.ReadAllTextAsync(Path.Combine(root.FullName, "apphost.mts")); 229var appHostDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "external-apphost")); 232await CreateMigration(workspace).ApplyAsync(new MigrationContext(new FileInfo(Path.Combine(appHostDirectory.FullName, "apphost.ts"))), CancellationToken.None); 234Assert.False(File.Exists(Path.Combine(appHostDirectory.FullName, "apphost.ts"))); 235Assert.False(Directory.Exists(Path.Combine(appHostDirectory.FullName, ".modules"))); 236Assert.Equal(ExpectedModernAppHostContent, await File.ReadAllTextAsync(Path.Combine(appHostDirectory.FullName, "apphost.mts"))); 278var migratedContent = await File.ReadAllTextAsync(Path.Combine(root.FullName, "apphost.mts")); 282Assert.Equal(migratedContent, await File.ReadAllTextAsync(Path.Combine(root.FullName, "apphost.mts")));
Npm\AspireJsLauncherTests.cs (1)
410current = Directory.GetParent(current)?.FullName;
Npm\NpmRunnerTests.cs (5)
159var argumentsPath = Path.Combine(tempDirectory.FullName, "arguments.txt"); 161using var pathOverride = new EnvVarOverride("PATH", $"{tempDirectory.FullName}{Path.PathSeparator}{existingPath}"); 166var tarballPath = Path.Combine(tempDirectory.FullName, "playwright-cli.tgz"); 252Path.Combine(directory.FullName, "npm.cmd"), 265var npmPath = Path.Combine(directory.FullName, "npm");
NuGet\BundleNuGetPackageCacheTests.cs (3)
21LayoutPath = workspace.WorkspaceRoot.FullName, 76LayoutPath = workspace.WorkspaceRoot.FullName, 125LayoutPath = workspace.WorkspaceRoot.FullName,
NuGet\BundleNuGetServiceTests.cs (39)
25managedDirectory.FullName, 36new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 44workingDirectory: appHostDirectory.FullName); 46var restoreRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "package-restore"); 47var restoreDirectory = Directory.GetParent(manifestPath)!.FullName; 66managedDirectory.FullName, 72new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 81workingDirectory: appHostDirectory.FullName); 86workingDirectory: appHostDirectory.FullName); 100managedDirectory.FullName, 104var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 114new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 122workingDirectory: appHostDirectory.FullName, 137managedDirectory.FullName, 144workspace.WorkspaceRoot.FullName, 160new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 166var result = await service.RestorePackagesAsync(packageList, workingDirectory: appHostDirectory.FullName); 181managedDirectory.FullName, 188workspace.WorkspaceRoot.FullName, 211new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 217var result = await service.RestorePackagesAsync(packageList, workingDirectory: appHostDirectory.FullName); 234managedDirectory.FullName, 240new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 248workingDirectory: appHostDirectory.FullName); 254workingDirectory: appHostDirectory.FullName); 269managedDirectory.FullName, 275new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 281var restoreRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "package-restore"); 286workingDirectory: firstAppHost.FullName); 289workingDirectory: secondAppHost.FullName); 298workingDirectory: secondAppHost.FullName); 313managedDirectory.FullName, 354new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 361var firstRestoreTask = service.RestorePackagesAsync(packageList, workingDirectory: appHostDirectory.FullName); 364var secondRestoreTask = service.RestorePackagesAsync(packageList, workingDirectory: appHostDirectory.FullName); 384managedDirectory.FullName, 390var restoreDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "package-restore", packageHash); 403new FixedLayoutDiscovery(new LayoutConfiguration { LayoutPath = layoutRoot.FullName }), 411var result = await service.RestorePackagesAsync(packageList, workingDirectory: appHostDirectory.FullName);
Packaging\NuGetConfigMergerSnapshotTests.cs (11)
34var path = Path.Combine(dir.FullName, "nuget.config"); 73var updated = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 80var hivePath = Path.Combine(hivesDir.FullName, channelName).Replace('\\', '/'); 135var updated = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 142var hivePath = Path.Combine(hivesDir.FullName, channelName).Replace('\\', '/'); 196var updated = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 203var hivePath = Path.Combine(hivesDir.FullName, channelName).Replace('\\', '/'); 255var updated = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 262var hivePath = Path.Combine(hivesDir.FullName, channelName).Replace('\\', '/'); 319var updated = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 326var hivePath = Path.Combine(hivesDir.FullName, channelName).Replace('\\', '/');
Packaging\NuGetConfigMergerTests.cs (23)
24var path = Path.Combine(dir.FullName, "nuget.config"); 46var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 50var expected = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 70var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 114var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 153var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 197var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 237var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 347var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 397var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 466var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 530var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 586var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 668var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 718var xml = XDocument.Load(Path.Combine(root.FullName, "nuget.config")); 759var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 761Assert.Equal(targetConfigPath, callbackTargetFile.FullName); 789var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 839var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 841Assert.Equal(targetConfigPath, callbackTargetFile.FullName); 861var originalContent = await File.ReadAllTextAsync(Path.Combine(root.FullName, "nuget.config")).DefaultTimeout(); 882var targetConfigPath = Path.Combine(root.FullName, "nuget.config"); 904var targetConfigPath = Path.Combine(root.FullName, "nuget.config");
Packaging\PackageChannelTests.cs (61)
142packagesDirectory.FullName, 147Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.13.6.0.nupkg"), 150var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 176var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 178File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), string.Empty); 182File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{pinnedVersion}.nupkg"), string.Empty); 223var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 225File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), string.Empty); 228File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{pinnedVersion}.nupkg"), string.Empty); 266File.WriteAllText(Path.Combine(channelPackagesDirectory.FullName, "Aspire.ProjectTemplates.13.4.0-preview.1.nupkg"), string.Empty); 269var nestedDirectory = Directory.CreateDirectory(Path.Combine(overridePackagesDirectory.FullName, "aspire.projecttemplates", "13.5.0-preview.2")); 270File.WriteAllText(Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.13.5.0-preview.2.nupkg"), string.Empty); 276var channelSource = channelPackagesDirectory.FullName.Replace('\\', '/'); 277var overrideSource = overridePackagesDirectory.FullName.Replace('\\', '/'); 304var nestedDirectory = Directory.CreateDirectory(Path.Combine(packagesDirectory.FullName, "aspire.projecttemplates", "13.5.0-preview.2")); 305File.WriteAllText(Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.13.5.0-preview.2.nupkg"), string.Empty); 312var source = packagesDirectory.FullName.Replace('\\', '/'); 332File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Redis.{pinnedVersion}.nupkg"), string.Empty); 333File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.PostgreSQL.{pinnedVersion}.nupkg"), string.Empty); 334File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"CommunityToolkit.Aspire.Hosting.NodeJS.{pinnedVersion}.nupkg"), string.Empty); 337File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.SqlServer.13.3.0.nupkg"), string.Empty); 340File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{pinnedVersion}.nupkg"), string.Empty); 347File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.AppHost.{pinnedVersion}.nupkg"), string.Empty); 348File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Sdk.{pinnedVersion}.nupkg"), string.Empty); 349File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Orchestration.linux-arm64.{pinnedVersion}.nupkg"), string.Empty); 350File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Testing.{pinnedVersion}.nupkg"), string.Empty); 351File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Msi.{pinnedVersion}.nupkg"), string.Empty); 352File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Integration.Analyzers.{pinnedVersion}.nupkg"), string.Empty); 355File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.Dapr.{pinnedVersion}.nupkg"), string.Empty); 356File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.GitHub.Models.{pinnedVersion}.nupkg"), string.Empty); 357File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.Hosting.NodeJs.{pinnedVersion}.nupkg"), string.Empty); 363var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 411var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 434var config = AspireConfigFile.LoadOrCreate(workspace.WorkspaceRoot.FullName); 437config.Save(workspace.WorkspaceRoot.FullName); 439var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 469var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 640File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.4.0.nupkg"), string.Empty); 641File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.5.0-preview.1.nupkg"), string.Empty); 642File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.PostgreSQL.13.4.0-preview.1.nupkg"), string.Empty); 659File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.4.0.nupkg"), string.Empty); 660File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.5.0-preview.1.nupkg"), string.Empty); 661File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.PostgreSQL.13.4.0.nupkg"), string.Empty); 678File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.5.0.nupkg"), string.Empty); 679File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Redis.13.6.0-preview.1.nupkg"), string.Empty); 680File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Azure.Kubernetes.13.6.0-pr.19404.gf51e8e1d.nupkg"), string.Empty); 709File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Dapr.13.4.0.nupkg"), string.Empty); 710File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Sql.13.4.0.nupkg"), string.Empty); 729File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Dapr.13.4.0.nupkg"), string.Empty); 730File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.Hosting.Sql.13.4.0.nupkg"), string.Empty); 749var config = AspireConfigFile.LoadOrCreate(workspace.WorkspaceRoot.FullName); 752config.Save(workspace.WorkspaceRoot.FullName); 754var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 780var config = AspireConfigFile.LoadOrCreate(workspace.WorkspaceRoot.FullName); 783config.Save(workspace.WorkspaceRoot.FullName); 785var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 908new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/')), 925new PackageMapping("Aspire*", new Uri(packagesDirectory.FullName).AbsoluteUri), 1000var packageSource = packagesDirectory.FullName.Replace('\\', '/'); 1012CreatePackageWithTags(Path.Combine(packagesDirectory.FullName, $"{packageId}.{version}.nupkg"), packageId, version, tags); 1017var packagePath = Path.Combine(packagesDirectory.FullName, packageId.ToLowerInvariant(), version, $"{packageId}.{version}.nupkg");
Packaging\PackageSourceOverrideMappingsTests.cs (2)
18Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, "relative:feed"), result); 31Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, source), result);
Packaging\PackagingServiceTests.cs (135)
27var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 60var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 96var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 200var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 237var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 270var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 304var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 360var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 425var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 457var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 487var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 512var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 540var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 567var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 593var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 613var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 634var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 664var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 696var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 718var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 746var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 771var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 815var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 839var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 882var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 914var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 946var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 977var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1007var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1037var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1067var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1121var nugetConfigPath = Path.Combine(tempDir.FullName, "nuget.config"); 1146var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1150Directory.CreateDirectory(Path.Combine(hivesDir.FullName, "pr-10167")); 1151Directory.CreateDirectory(Path.Combine(hivesDir.FullName, "pr-11832")); 1202var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1206Directory.CreateDirectory(Path.Combine(hivesDir.FullName, "pr-12345")); 1242var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1277var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1312var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1376var nugetConfigPath = Path.Combine(tempDir.FullName, "nuget.config"); 1393var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1425var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1455var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1486var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1488var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, "local", "packages")); 1492File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.ProjectTemplates.{localVersion}.nupkg"), string.Empty); 1493File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.{localVersion}.nupkg"), string.Empty); 1513var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1514var processPath = Path.Combine(installPrefix.FullName, "dogfood", prChannelName, "bin", "aspire"); 1518var packagesDirectory = Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", prChannelName, "packages")); 1519File.WriteAllText(Path.Combine(packagesDirectory.FullName, $"Aspire.ProjectTemplates.{prVersion}.nupkg"), string.Empty); 1524var defaultHivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1543mapping.Source == packagesDirectory.FullName.Replace('\\', '/')); 1556var defaultHivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1557var defaultPackagesDirectory = Directory.CreateDirectory(Path.Combine(defaultHivesDir.FullName, prChannelName, "packages")); 1558File.WriteAllText(Path.Combine(defaultPackagesDirectory.FullName, $"Aspire.ProjectTemplates.{defaultHiveVersion}.nupkg"), string.Empty); 1560var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1561var processPath = Path.Combine(installPrefix.FullName, "dogfood", prChannelName, "bin", "aspire"); 1565var dogfoodPackagesDirectory = Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", prChannelName, "packages")); 1566File.WriteAllText(Path.Combine(dogfoodPackagesDirectory.FullName, $"Aspire.ProjectTemplates.{dogfoodHiveVersion}.nupkg"), string.Empty); 1586mapping.Source == dogfoodPackagesDirectory.FullName.Replace('\\', '/')); 1596var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1597var processPath = Path.Combine(installPrefix.FullName, "dogfood", prChannelName, "bin", "aspire"); 1601var packagesDirectory = Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", prChannelName, "packages")); 1602File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.not-a-semver.nupkg"), string.Empty); 1606hivesDirectory: new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")), 1622mapping.Source == packagesDirectory.FullName.Replace('\\', '/')); 1632var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1633var processPath = Path.Combine(installPrefix.FullName, "dogfood", prChannelName, "bin", "aspire"); 1639hivesDirectory: new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")), 1662var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1663var processPath = Path.Combine(installPrefix.FullName, "dogfood", installedPrChannelName, "bin", "aspire"); 1666Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", identityPrChannelName, "packages")); 1670hivesDirectory: new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")), 1694hivesDirectory: new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")), 1718var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1719var processPath = Path.Combine(installPrefix.FullName, "dogfood", prChannelName, "bin", "aspire"); 1722Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", prChannelName, "packages")); 1726hivesDirectory: new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")), 1754var installPrefix = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "custom-aspire-prefix")); 1755var processPath = Path.Combine(installPrefix.FullName, "bin", "aspire"); 1758Directory.CreateDirectory(Path.Combine(installPrefix.FullName, "hives", prChannelName, "packages")); 1774var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1776var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, "local", "packages")); 1780File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.ProjectTemplates.{localVersion}.nupkg"), string.Empty); 1793Assert.Equal(localPackagesDir.FullName.Replace('\\', '/'), package.Source); 1815var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1867var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1918var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1964var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 1968var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, localHiveName, "packages")); 1972File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.ProjectTemplates.{pinnedVersion}.nupkg"), string.Empty); 1998var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2001var runPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, runHiveName, "packages")); 2005File.WriteAllText(Path.Combine(runPackagesDir.FullName, $"Aspire.ProjectTemplates.{pinnedVersion}.nupkg"), string.Empty); 2032var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2035var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, "local", "packages")); 2040File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.{localVersion}.nupkg"), string.Empty); 2042File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.Redis.{localVersion}.nupkg"), string.Empty); 2043File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.Hosting.JavaScript.{localVersion}.nupkg"), string.Empty); 2045File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.ProjectTemplates.{localVersion}.nupkg"), string.Empty); 2046File.WriteAllText(Path.Combine(localPackagesDir.FullName, $"Aspire.AppHost.Sdk.{localVersion}.nupkg"), string.Empty); 2072var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2075var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, PackageChannelNames.Local, "packages")); 2077File.WriteAllText(Path.Combine(localPackagesDir.FullName, "Aspire.Hosting.13.4.0-pr.16820.g1a99aa46.nupkg"), string.Empty); 2087var expectedLocalPath = localPackagesDir.FullName.Replace('\\', '/'); 2112var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2116var localHiveDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, PackageChannelNames.Local)); 2131var expectedLocalPackagesPath = Path.Combine(localHiveDir.FullName, "packages").Replace('\\', '/'); 2142var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2145var localPackagesDir = new DirectoryInfo(Path.Combine(hivesDir.FullName, PackageChannelNames.Local, "packages")); 2165var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2167var packagesOverrideDir = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "shipping")); 2169File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, $"Aspire.ProjectTemplates.{overrideVersion}.nupkg"), string.Empty); 2170File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, $"Aspire.Hosting.{overrideVersion}.nupkg"), string.Empty); 2184Assert.Equal(packagesOverrideDir.FullName.Replace('\\', '/'), aspireMapping.Source); 2194var hivesDir = new DirectoryInfo(Path.Combine(tempDir.FullName, ".aspire", "hives")); 2196var staleHiveDir = Directory.CreateDirectory(Path.Combine(hivesDir.FullName, PackageChannelNames.Daily, "packages")); 2197File.WriteAllText(Path.Combine(staleHiveDir.FullName, "Aspire.Hosting.13.4.0.nupkg"), string.Empty); 2199var packagesOverrideDir = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "shipping")); 2201File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, $"Aspire.Hosting.{overrideVersion}.nupkg"), string.Empty); 2214Assert.Equal(packagesOverrideDir.FullName.Replace('\\', '/'), aspireMapping.Source); 2226var packagesOverrideDir = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "shipping")); 2227File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, "Aspire.Hosting.13.4.1.nupkg"), string.Empty); 2228File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, "Aspire.Hosting.13.4.2.nupkg"), string.Empty); 2230File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, "Aspire.ProjectTemplates.13.4.2.nupkg"), string.Empty); 2254var packagesOverrideDir = Directory.CreateDirectory(Path.Combine(tempDir.FullName, "shipping")); 2255File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, "Aspire.Hosting.13.4.1.nupkg"), string.Empty); 2256var nestedDir = Directory.CreateDirectory(Path.Combine(packagesOverrideDir.FullName, "nested")); 2257File.WriteAllText(Path.Combine(nestedDir.FullName, "Aspire.Hosting.13.4.2.nupkg"), string.Empty); 2259File.WriteAllText(Path.Combine(nestedDir.FullName, "Aspire.ProjectTemplates.13.4.2.nupkg"), string.Empty); 2260File.WriteAllText(Path.Combine(packagesOverrideDir.FullName, "Aspire.ProjectTemplates.13.4.2.nupkg"), string.Empty); 2281var missingDir = new DirectoryInfo(Path.Combine(tempDir.FullName, "does-not-exist")); 2289Assert.Contains(missingDir.FullName, ex.Message);
Packaging\TemporaryNuGetConfigTests.cs (7)
26var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 65var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 96var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 119var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 141var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 160var configContent = await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName); 194xmlDoc.LoadXml(await File.ReadAllTextAsync(tempConfig.ConfigFile.FullName));
Processes\ProcessTreeGracefulShutdownServiceTests.cs (23)
25File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 38var signaler = CreateService(workspace, dcpDirectory.FullName, executionFactory); 46Assert.Equal(workspace.WorkspaceRoot.FullName, capturedWorkingDirectory.FullName); 62File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 69var signaler = CreateService(workspace, dcpDirectory.FullName, executionFactory); 87File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(mutableDcpDirectory.FullName), string.Empty); 91var leasedDcpPath = BundleDiscovery.GetDcpExecutablePath(leasedDcpDirectory.FullName); 97Layout = new LayoutConfiguration { LayoutPath = versionRoot.FullName } 99var signaler = CreateService(workspace, mutableDcpDirectory.FullName, executionFactory, bundleService); 150File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 168dcpDirectory.FullName, 175AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"), 206File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 213dcpDirectory.FullName, 220AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"), 245File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 252dcpDirectory.FullName, 259AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"), 284File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty); 291dcpDirectory.FullName, 297AppHostPath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"), 330Path.Combine(workspace.WorkspaceRoot.FullName, "test.log"),
ProfileCaptureOptionsTests.cs (11)
39var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "profiles", "startup.zip"); 64Assert.StartsWith(workspace.WorkspaceRoot.FullName, options.OutputPath, StringComparison.Ordinal); 74var outputDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "profiles")); 77["--capture-profile", "--capture-profile-output", outputDirectory.FullName], 83Assert.Equal(outputDirectory.FullName, Path.GetDirectoryName(options.OutputPath)); 92var outputDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "profiles") + Path.DirectorySeparatorChar; 111workspace.WorkspaceRoot.FullName, 118managedBaseDirectory.FullName, 132workspace.WorkspaceRoot.FullName, 139managedBaseDirectory.FullName, 143var resolvedPath = ProfileCaptureService.ResolveRepoLocalManagedPath(workspace.WorkspaceRoot.FullName);
ProfileCaptureServiceTests.cs (9)
93var managedPath = Path.Combine(managedDirectory.FullName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)); 98Layout = new LayoutConfiguration { LayoutPath = layoutRoot.FullName } 321var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nested", "profile.zip"); 463var managedPath = Path.Combine(managedDirectory.FullName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)); 467CreateConfiguration((BundleDiscovery.ManagedPathEnvVar, managedDirectory.FullName))); 476var missingPath = Path.Combine(workspace.WorkspaceRoot.FullName, "missing"); 488var logPath = Path.Combine(workspace.WorkspaceRoot.FullName, "profile-service.log"); 675var path = Path.Combine(workspace.WorkspaceRoot.FullName, fileName); 686outputPath ?? Path.Combine(workspace.WorkspaceRoot.FullName, "profile.zip"),
ProgramTests.cs (5)
83}, versionDirectory.FullName); 86Assert.False(BundleVersionLease.HasActiveLease(versionDirectory.FullName)); 93var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 110var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 127var settingsPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName);
Projects\AppHostCandidateFinderTests.cs (99)
48var gitRepository = CreateGitRepository(gitListedAppHost.FullName); 53var path = Assert.Single(result.Files).FullName; 54Assert.Equal(gitListedAppHost.FullName, path); 55Assert.DoesNotContain(result.Files, file => file.FullName == diskOnlyAppHost.FullName); 73appHost.FullName 81var path = Assert.Single(result.Files).FullName; 82Assert.Equal(appHost.FullName, path); 83Assert.Equal(searchDirectory.FullName, capturedSearchRoot?.FullName); 92var missingAppHost = Path.Combine(workspace.WorkspaceRoot.FullName, "Removed", "AppHost.csproj"); 93var gitRepository = CreateGitRepository(appHost.FullName, skipListedAppHost.FullName, missingAppHost); 98var path = Assert.Single(result.Files).FullName; 99Assert.Equal(appHost.FullName, path); 111var gitRepository = CreateGitRepository(agentSkillSnippetAppHost.FullName, claudeSkillSnippetAppHost.FullName); 129var gitRepository = CreateGitRepository(gitHubSkillSnippetAppHost.FullName, openCodeSkillSnippetAppHost.FullName, gitHubNonSkillAppHost.FullName); 134var path = Assert.Single(result.Files).FullName; 135Assert.Equal(gitHubNonSkillAppHost.FullName, path); 156var paths = result.Files.Select(file => file.FullName).ToHashSet(); 158Assert.Equal(nonSkillAppHost.FullName, path); 168var searchRoot = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "obj")); 170var gitRepository = CreateGitRepository(appHost.FullName); 175var path = Assert.Single(result.Files).FullName; 176Assert.Equal(appHost.FullName, path); 186var gitRepository = CreateGitRepository(appHostNamedLikeExcludedDirectory.FullName, appHostInExcludedDirectory.FullName); 191var path = Assert.Single(result.Files).FullName; 192Assert.Equal(appHostNamedLikeExcludedDirectory.FullName, path); 193Assert.DoesNotContain(result.Files, file => file.FullName == appHostInExcludedDirectory.FullName); 203var gitRepository = CreateGitRepository(appHost.FullName, cachedAppHost.FullName); 205var nugetCachePath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget-cache"); 209var path = Assert.Single(result.Files).FullName; 210Assert.Equal(appHost.FullName, path); 225var gitRepository = CreateGitRepository(appHost.FullName); 264var path = Assert.Single(result.Files).FullName; 265Assert.Equal(appHost.FullName, path); 291Assert.Equal(appHost.FullName, file.FullName); 315var nugetCachePath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget-cache"); 319var paths = result.Files.Select(file => file.FullName).ToHashSet(); 321Assert.Contains(appHost.FullName, paths); 322Assert.Contains(siblingAppHost.FullName, paths); 323Assert.DoesNotContain(cachedAppHost.FullName, paths); 339var differentlyCasedNuGetCachePath = Path.Combine(workspace.WorkspaceRoot.FullName, "NUGET-CACHE"); 343var path = Assert.Single(result.Files).FullName; 344Assert.Equal(appHost.FullName, path); 345Assert.DoesNotContain(result.Files, file => file.FullName == cachedAppHost.FullName); 368var paths = result.Files.Select(file => file.FullName).ToHashSet(); 370Assert.Contains(appHost.FullName, paths); 371Assert.Contains(skipListedAppHost.FullName, paths); 383var nugetCachePath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget-cache"); 387var paths = result.Files.Select(file => file.FullName).ToHashSet(); 389Assert.Contains(appHost.FullName, paths); 390Assert.DoesNotContain(cachedAppHost.FullName, paths); 413var path = Assert.Single(result.Files).FullName; 414Assert.Equal(appHost.FullName, path); 429var path = Assert.Single(result.Files).FullName; 430Assert.Equal(directAppHost.FullName, path); 431Assert.DoesNotContain(result.Files, file => file.FullName == nestedAppHost.FullName); 445Assert.DoesNotContain(result.Files, file => file.FullName == nestedAppHost.FullName); 455var gitRepository = CreateGitRepository(directAppHost.FullName, nestedAppHost.FullName); 460var path = Assert.Single(result.Files).FullName; 461Assert.Equal(directAppHost.FullName, path); 462Assert.DoesNotContain(result.Files, file => file.FullName == nestedAppHost.FullName); 477var paths = result.Files.Select(file => file.FullName).ToHashSet(); 479Assert.Contains(csAppHost.FullName, paths); 480Assert.Contains(tsAppHost.FullName, paths); 492var gitRepository = CreateGitRepository(appHost.FullName); 524var path = Assert.Single(result.Files).FullName; 525Assert.Equal(appHost.FullName, path); 535await GitTestHelper.ConfigureGitIdentityAsync(workspace.WorkspaceRoot.FullName); 541await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, ".gitignore"), "legacy/\n"); 543await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "add", "App/AppHost.csproj", ".gitignore"); 544await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "commit", "-m", "init"); 550var paths = result.Files.Select(file => file.FullName).ToHashSet(); 552Assert.Contains(trackedAppHost.FullName, paths); 553Assert.Contains(untrackedTypeScriptAppHost.FullName, paths); 554Assert.DoesNotContain(ignoredAppHost.FullName, paths); 555Assert.DoesNotContain(skipListedAppHost.FullName, paths); 566await GitTestHelper.ConfigureGitIdentityAsync(workspace.WorkspaceRoot.FullName); 570await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "add", "src/App/AppHost.csproj", "Other/AppHost.csproj"); 571await GitTestHelper.RunGitAsync(workspace.WorkspaceRoot.FullName, "commit", "-m", "init"); 573var searchDirectory = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "src")); 578var path = Assert.Single(result.Files).FullName; 579Assert.Equal(scopedAppHost.FullName, path); 580Assert.DoesNotContain(result.Files, file => file.FullName == outsideAppHost.FullName); 607var fullPath = Path.Combine(root.FullName, relativePath.Replace('/', Path.DirectorySeparatorChar));
Projects\AppHostInfoResolverTests.cs (1)
206var path = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.AppHost.csproj");
Projects\AppHostServerProjectTests.cs (14)
32appPath ??= _workspace.WorkspaceRoot.FullName; 41var repoRoot = _workspace.WorkspaceRoot.FullName; 212var integrationProjectPath = Path.Combine(integrationDirectory.FullName, "Aspire.Hosting.Redis.csproj"); 238var appPath = _workspace.WorkspaceRoot.FullName; 284var appPath = _workspace.WorkspaceRoot.FullName; 311var appPath = _workspace.WorkspaceRoot.FullName; 320var aspireConfigPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 331var prOldHivePath = prOldHive.FullName; 332var prNewHivePath = prNewHive.FullName; 409Assert.Contains(prNewHive.FullName, restoreSources); 410Assert.DoesNotContain(prOldHive.FullName, restoreSources); 422var appPath = _workspace.WorkspaceRoot.FullName; 477var appPath = _workspace.WorkspaceRoot.FullName; 533DumpDirectoryTree(dir.FullName, output, indent + " ");
Projects\AppHostServerSessionTests.cs (5)
450var appPath = workspace.CreateDirectory("apphost").FullName; 451var integrationCachePathBlockedByFile = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations"); 455var versionLease = BundleVersionLease.Acquire(versionDirectory.FullName, "test", "apphost-server"); 461Assert.True(BundleVersionLease.HasActiveLease(versionDirectory.FullName)); 471Assert.False(BundleVersionLease.HasActiveLease(versionDirectory.FullName));
Projects\AppHostWorkloadIdTests.cs (18)
14var target = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 15File.WriteAllText(target.FullName, "<Project />"); 17var linkPath = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.Link.csproj"); 18TryCreateSymlink(linkPath, target.FullName, isDirectory: false); 31var target = new FileInfo(Path.Combine(nestedDirectory.FullName, "AppHost.csproj")); 32File.WriteAllText(target.FullName, "<Project />"); 34var linkDirectoryPath = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 35TryCreateSymlink(linkDirectoryPath, realDirectory.FullName, isDirectory: true); 49var target = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 50File.WriteAllText(target.FullName, "<Project />"); 53AppHostWorkloadId.Create(target.FullName), 54AppHostWorkloadId.Create(Path.Combine(nestedDirectory.FullName, "..", "AppHost.csproj"))); 61var target = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 62File.WriteAllText(target.FullName, "<Project />"); 64var actual = AppHostWorkloadId.Create(target.FullName); 65var differentCasing = AppHostWorkloadId.Create(target.FullName.ToUpperInvariant()); 81var target = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 82File.WriteAllText(target.FullName, "<Project />");
Projects\DotNetAppHostProjectTests.cs (115)
324Assert.Equal(appHostFile.FullName, projectFile.FullName); 357Assert.Equal(appHostFile.FullName, projectFile.FullName); 387var socketPath = CreateMatchingSocketFile(appHostFile.FullName, int.MaxValue - 1); 404var socketPath = CreateMatchingSocketFile(appHostFile.FullName, Environment.ProcessId); 445Assert.Equal(appHostFile.FullName, projectFile.FullName); 449Assert.Equal(bundleRoot.FullName, env!["AspireCliBundlePath"]); 450Assert.Equal(Path.Combine(bundleRoot.FullName, BundleDiscovery.DcpDirectoryName), env![BundleDiscovery.DcpPathEnvVar]); 452Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 458Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 482var customDcpDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "custom-dcp")); 483File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(customDcpDirectory.FullName), ""); 485_workspace.WorkspaceRoot.FullName, 508Assert.Equal(customDcpDirectory.FullName, env![BundleDiscovery.DcpPathEnvVar]); 521[BundleDiscovery.DcpPathEnvVar] = customDcpDirectory.FullName, 535var inheritedDcpDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "inherited-dcp")).FullName; 537var inheritedDashboardPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "inherited-dashboard"); 568Assert.Equal(bundleRoot.FullName, env["AspireCliBundlePath"]); 598: Path.Combine(_workspace.WorkspaceRoot.FullName, "missing-dcp"); 601: Path.Combine(_workspace.WorkspaceRoot.FullName, "missing-dashboard"); 833Assert.Equal(appHostFile.FullName, projectFile.FullName); 842Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 870var repoLocalManaged = Path.Combine(_workspace.WorkspaceRoot.FullName, "repo-local-aspire-managed"); 899Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 928var customTerminalHost = Path.Combine(_workspace.WorkspaceRoot.FullName, "my-custom-terminal-host"); 981var runWorkingDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "run-cwd")); 982var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 983var targetPathJson = JsonSerializer.Serialize(targetPath.FullName); 984var runWorkingDirectoryJson = JsonSerializer.Serialize(runWorkingDirectory.FullName); 1037Assert.Equal(appHostFile.FullName, projectFile.FullName); 1038Assert.Equal(appHostCommand.FullName, command); 1039Assert.Equal(runWorkingDirectory.FullName, workingDirectory.FullName); 1110GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1121"--apphost", appHostFile.FullName, 1122"--log-file", Path.Combine(_workspace.WorkspaceRoot.FullName, "child.log"), 1131Assert.Equal(appHostCommand.FullName, command); 1181GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1220GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1263GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1304GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1352GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1396GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1447GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1454Assert.Equal(appHostCommand.FullName, command); 1481var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 1512Assert.Equal(appHostFile.FullName, projectFile.FullName); 1536var missingTargetPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "bin", "missing", "AppHost.dll"); 1547var outputDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "bin", Guid.NewGuid().ToString("N"))); 1548var targetPath = Path.Combine(outputDirectory.FullName, "AppHost.dll"); 1560var missingRunCommand = Path.Combine(_workspace.WorkspaceRoot.FullName, "bin", "missing", "AppHost"); 1574() => CreateAppHostInfoJson(runCommand: appHostCommand.FullName, targetFrameworks: "net10.0;net9.0")); 1603() => CreateAppHostInfoJson(runCommand: appHostCommand.FullName), 1616() => CreateAppHostInfoJson(runCommand: appHostCommand.FullName), 1631var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 1668Assert.Equal(appHostCommand.FullName, command); 1717GetProjectItemsAndPropertiesAsyncCallback = (_, _, _, _, _) => (0, CreateAppHostInfoJson(runCommand: appHostCommand.FullName)), 1752var escapedTargetPath = targetPath.FullName.Replace("\\", "\\\\", StringComparison.Ordinal).Replace("\"", "\\\"", StringComparison.Ordinal); 1780Assert.Equal(["exec", targetPath.FullName, "--from-msbuild", "--explicit", "1"], args); 1802var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 1841Assert.Equal(appHostCommand.FullName, command); 1867var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 1904Assert.Equal(appHostCommand.FullName, command); 1928var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 1965Assert.Equal(appHostFile.FullName, projectFile.FullName); 1993var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 2025Assert.Equal(appHostFile.FullName, projectFile.FullName); 2050var appHostCommandJson = JsonSerializer.Serialize(appHostCommand.FullName); 2091Assert.Equal(appHostCommand.FullName, command); 2122Assert.Equal(appHostFile.FullName, projectFile.FullName); 2127Assert.Equal(appHostFile.FullName, projectFile.FullName); 2144Assert.Equal(appHostFile.FullName, projectFile.FullName); 2149Assert.Equal(Path.Combine(bundleRoot.FullName, BundleDiscovery.DcpDirectoryName), env![BundleDiscovery.DcpPathEnvVar]); 2151Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 2154Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 2198Assert.Equal(appHostFile.FullName, projectFile.FullName); 2233Assert.Equal(appHostFile.FullName, projectFile.FullName); 2278Assert.Equal(appHostFile.FullName, projectFile.FullName); 2532var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.cs"); 2547var backchannelsDir = Path.Combine(_workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 2551var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, _workspace.WorkspaceRoot.FullName); 2562var outputDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "bin", Guid.NewGuid().ToString("N"))); 2563var targetPath = Path.Combine(outputDirectory.FullName, fileName); 2571var outputDirectory = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "bin", Guid.NewGuid().ToString("N"))); 2572var commandPath = Path.Combine(outputDirectory.FullName, fileName); 2594Assert.Equal(appHostFile.FullName, projectFile.FullName); 3241Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, "outer", "inner-repo", ".git")); 3725var externalAnchor = Path.Combine(_workspace.WorkspaceRoot.FullName, "external", "anchor"); 4155while (dir is not null && !File.Exists(Path.Combine(dir.FullName, "Aspire.slnx"))) 4159return dir?.FullName; 4171Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, ".git")); 4173var path = Path.Combine(_workspace.WorkspaceRoot.FullName, fileName); 4208var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, fileName); 4225var projectPath = Path.Combine(_workspace.WorkspaceRoot.FullName, fileName); 4239var bundleRoot = Directory.CreateDirectory(Path.Combine(_workspace.WorkspaceRoot.FullName, Guid.NewGuid().ToString())); 4240var dcpDirectory = Directory.CreateDirectory(Path.Combine(bundleRoot.FullName, BundleDiscovery.DcpDirectoryName)); 4241var managedDirectory = Directory.CreateDirectory(Path.Combine(bundleRoot.FullName, BundleDiscovery.ManagedDirectoryName)); 4242File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), ""); 4244Path.Combine(managedDirectory.FullName, BundleDiscovery.GetExecutableFileName(BundleDiscovery.ManagedExecutableName)), 4249LayoutPath = bundleRoot.FullName,
Projects\DotNetBasedAppHostServerScaffoldCacheTests.cs (5)
26var appPath = workspace.WorkspaceRoot.FullName; 44var appPath = workspace.WorkspaceRoot.FullName; 72var appPath = workspace.WorkspaceRoot.FullName; 94var appPath = workspace.WorkspaceRoot.FullName; 121var appPath = workspace.WorkspaceRoot.FullName;
Projects\ExtensionGuestLauncherTests.cs (1)
58Assert.Equal(appHostFile.FullName, capturedProjectFile);
Projects\FallbackProjectParserTests.cs (14)
24var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 46var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 71var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 96var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 121var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 147var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 186var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.csproj"); 208var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 232var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 262var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 285var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 309var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 332var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.cs"); 354var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Test.txt");
Projects\GuestAppHostProjectTests.cs (60)
51var outputPath = Path.Combine(_workspace.WorkspaceRoot.FullName, ".aspire", "modules"); 79var outputPath = Path.Combine(_workspace.WorkspaceRoot.FullName, ".aspire", "modules"); 95var filePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "Generated.java"); 111var filePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "Generated.java"); 125var filePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "New.java"); 136var filePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "aspire_app.py"); 164var directory = _workspace.WorkspaceRoot.FullName; 178var settingsPath = Path.Combine(settingsDir.FullName, "settings.json"); 187var config = AspireJsonConfiguration.LoadOrCreate(_workspace.WorkspaceRoot.FullName, "13.1.0"); 198var settingsPath = Path.Combine(settingsDir.FullName, "settings.json"); 210var config = AspireJsonConfiguration.Load(_workspace.WorkspaceRoot.FullName); 213config.Save(_workspace.WorkspaceRoot.FullName); 216var reloaded = AspireJsonConfiguration.Load(_workspace.WorkspaceRoot.FullName); 384var settingsPath = Path.Combine(settingsDir.FullName, "settings.json"); 397var config = AspireJsonConfiguration.Load(_workspace.WorkspaceRoot.FullName); 400config.Save(_workspace.WorkspaceRoot.FullName); 428config.Save(_workspace.WorkspaceRoot.FullName); 431var settingsPath = AspireJsonConfiguration.GetFilePath(_workspace.WorkspaceRoot.FullName); 444var launchSettingsPath = Path.Combine(propertiesDir.FullName, "launchSettings.json"); 533var aspireConfigPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 725var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 733var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 767var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 778var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 786var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 808var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 819var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 829var socketPath = CreateMatchingSocketFile(_workspace.WorkspaceRoot.FullName, int.MaxValue - 1); 843var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 852var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 889var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 899var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 907var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 944var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 954var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 963var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 995var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 1024var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1041var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1066var reloaded = AspireConfigFile.Load(_workspace.WorkspaceRoot.FullName); 1138var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1180var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1229var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1259var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1267var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1348var configPath = Path.Combine(_workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1356var appHostPath = Path.Combine(_workspace.WorkspaceRoot.FullName, "apphost.ts"); 1437var backchannelsDir = Path.Combine(_workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 1441var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, _workspace.WorkspaceRoot.FullName); 1471var logFilePath = Path.Combine(_workspace.WorkspaceRoot.FullName, $"test-guest-{Guid.NewGuid()}.log"); 1536var devCertificatePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "aspire-dev-cert.pem"); 1552Assert.False(Directory.Exists(Path.Combine(_workspace.WorkspaceRoot.FullName, "bundles"))); 1558var devCertificatePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "aspire-dev-cert.pem"); 1579var lowerCaseDirectory = Path.Combine(_workspace.WorkspaceRoot.FullName, "certificates"); 1580var upperCaseDirectory = Path.Combine(_workspace.WorkspaceRoot.FullName, "CERTIFICATES"); 1633var existingBundlePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "existing-ca-certs.pem"); 1634var inheritedBundlePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "inherited-ca-certs.pem"); 1635var devCertificateDirectory = Path.Combine(homeDirectory.FullName, ".aspire", "dev-certs"); 1658homeDirectory.FullName, 1708var devCertificatePath = Path.Combine(_workspace.WorkspaceRoot.FullName, "aspire-dev-cert.pem");
Projects\GuestRuntimeTests.cs (33)
134Assert.Contains(appHostFile.FullName, launcher.LastArgs); 195Assert.Equal(["--project", directory.FullName], launcher.Calls[0].Args); 220Assert.Equal(["--no-install", "tsx", "--tsconfig", "tsconfig.apphost.json", appHostFile.FullName], call.Args); 285var appHostFile = new FileInfo(Path.Combine(directory.FullName, "apphost.ts")); 312Assert.Equal(new[] { "tsx", "--tsconfig", "tsconfig.apphost.json", appHostFile.FullName }, Assert.IsType<string[]>(executeActivity.GetTagItem(ProfilingTelemetry.Tags.ProcessCommandArgs))); 491Assert.Equal(["--no-install", "tsx", "--tsconfig", "tsconfig.apphost.json", appHostFile.FullName, "--operation", "publish"], call.Args); 565Assert.Equal(new[] { "tsx", appHostFile.FullName }, launcher.LastArgs); 583Assert.Equal(new[] { "--dir", directory.FullName }, launcher.LastArgs); 601Assert.Equal(appHostFile.FullName, launcher.LastArgs[0]); 1059Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "classes", ".aspire-compile-stamp"))); 1089var input = Path.Combine(workspace.WorkspaceRoot.FullName, relativeInput.Replace('/', Path.DirectorySeparatorChar)); 1110var classFile = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.class"); 1138File.Delete(Path.Combine(workspace.WorkspaceRoot.FullName, relativeInput.Replace('/', Path.DirectorySeparatorChar))); 1153var pom = Path.Combine(workspace.WorkspaceRoot.FullName, "pom.xml"); 1175var dependencies = Path.Combine(workspace.WorkspaceRoot.FullName, "target", "dependency"); 1204var dependencies = Path.Combine(workspace.WorkspaceRoot.FullName, "target", "dependency"); 1233var unrelated = Path.Combine(workspace.WorkspaceRoot.FullName, "vendor", "nested", "Vendored.java"); 1275var nested = Path.Combine(workspace.WorkspaceRoot.FullName, "config", "Resources.java"); 1299Path.Combine(workspace.WorkspaceRoot.FullName, "classes", "config", "Resources.class"), 1300Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "vendor", "Vendored.java"), 1301Path.Combine(workspace.WorkspaceRoot.FullName, ".gradle", "caches", "Cached.java") 1346var unreadable = Path.Combine(workspace.WorkspaceRoot.FullName, "src", "main", "java", "locked"); 1389Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "classes", ".aspire-compile-stamp"))); 1414var appHostFile = new FileInfo(Path.Combine(root.FullName, "AppHost.java")); 1415File.WriteAllText(appHostFile.FullName, "class AppHost { }"); 1416File.WriteAllText(Path.Combine(root.FullName, "Helper.java"), "class Helper { }"); 1418var generated = Path.Combine(root.FullName, ".aspire", "modules", "com", "example"); 1422var sources = Path.Combine(root.FullName, "src", "main", "java", "com", "example"); 1426Directory.CreateDirectory(Path.Combine(root.FullName, "classes")); 1437foreach (var file in Directory.EnumerateFiles(root.FullName, "*", SearchOption.AllDirectories)) 1443foreach (var directory in Directory.EnumerateDirectories(root.FullName, "*", SearchOption.AllDirectories)) 1448Directory.SetLastWriteTimeUtc(root.FullName, timestampUtc); 1453var stamp = Path.Combine(root.FullName, "classes", ".aspire-compile-stamp");
Projects\JavaAppHostToolchainResolverTests.cs (6)
347File.WriteAllText(Path.Combine(moduleDirectory.FullName, useMaven ? "pom.xml" : "build.gradle"), ""); 375Directory.CreateDirectory(Path.Combine(innerCheckout.FullName, ".git")); 376File.WriteAllText(Path.Combine(innerCheckout.FullName, useMaven ? "pom.xml" : "build.gradle"), ""); 381Assert.Contains(innerCheckout.FullName, ex.Message); 510Assert.Equal(workspace.Path, resolution.ProjectDirectory.FullName); 583Assert.Equal(scriptPath, Path.GetFullPath(Path.Combine(appHostDirectory.FullName, initScriptArgument)));
Projects\LanguageInfoTests.cs (9)
65File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"), ""); 67var result = s_typescript.FindInDirectory(workspace.WorkspaceRoot.FullName); 76File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "MyApp.csproj"), ""); 78var result = s_csharp.FindInDirectory(workspace.WorkspaceRoot.FullName); 87var nested = Path.Combine(workspace.WorkspaceRoot.FullName, "src", "AppHost"); 91var result = s_csharp.FindInDirectory(workspace.WorkspaceRoot.FullName); 101var deep = Path.Combine(workspace.WorkspaceRoot.FullName, "a", "b", "c", "d", "e", "f"); 105var result = s_csharp.FindInDirectory(workspace.WorkspaceRoot.FullName); 114var result = s_csharp.FindInDirectory(workspace.WorkspaceRoot.FullName);
Projects\LegacyTypeScriptAppHostHelperTests.cs (6)
14File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"), "// legacy"); 16Assert.True(LegacyTypeScriptAppHost.IsLegacyLayout(workspace.WorkspaceRoot.FullName)); 23File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts"), "// legacy"); 24File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), "// modern"); 26Assert.False(LegacyTypeScriptAppHost.IsLegacyLayout(workspace.WorkspaceRoot.FullName)); 34Assert.False(LegacyTypeScriptAppHost.IsLegacyLayout(workspace.WorkspaceRoot.FullName));
Projects\PrebuiltAppHostServerTests.cs (79)
31var path = Path.Combine(workspace.WorkspaceRoot.FullName, "IntegrationRestore.csproj"); 48var path = Path.Combine(workspace.WorkspaceRoot.FullName, "IntegrationRestore.csproj"); 61var path = Path.Combine(workspace.WorkspaceRoot.FullName, "IntegrationRestore.csproj"); 87Assert.False(PrebuiltAppHostServer.CanSkipIntegrationRestore(workspace.WorkspaceRoot.FullName, "fingerprint", NullLogger.Instance)); 94WriteRestoreState(workspace.WorkspaceRoot.FullName, fingerprint: "fingerprint", writeAssets: false); 96Assert.False(PrebuiltAppHostServer.CanSkipIntegrationRestore(workspace.WorkspaceRoot.FullName, "fingerprint", NullLogger.Instance)); 103WriteRestoreState(workspace.WorkspaceRoot.FullName, fingerprint: "old-fingerprint"); 105Assert.False(PrebuiltAppHostServer.CanSkipIntegrationRestore(workspace.WorkspaceRoot.FullName, "new-fingerprint", NullLogger.Instance)); 112WriteRestoreState(workspace.WorkspaceRoot.FullName, fingerprint: "fingerprint"); 114Assert.True(PrebuiltAppHostServer.CanSkipIntegrationRestore(workspace.WorkspaceRoot.FullName, "fingerprint", NullLogger.Instance)); 121var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 139var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 144var packagesProps = Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props"); 160var leaf = Path.Combine(workspace.WorkspaceRoot.FullName, "Leaf.csproj"); 162var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 180var leaf = Path.Combine(workspace.WorkspaceRoot.FullName, "Leaf.csproj"); 182var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 195var first = Path.Combine(workspace.WorkspaceRoot.FullName, "First.csproj"); 196var second = Path.Combine(workspace.WorkspaceRoot.FullName, "Second.csproj"); 212var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 226var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 241var referencedProject = Path.Combine(workspace.WorkspaceRoot.FullName, "Aspire.Hosting.Java.csproj"); 571var server = CreatePrebuiltAppHostServer(workspace, appPath: appHostDirectory.FullName); 578var rootDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "apphosts"); 608var firstServer = CreateServer(firstAppHost.FullName); 609var secondServer = CreateServer(secondAppHost.FullName); 616var appHostsRoot = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "apphosts"); 760var doc = XDocument.Load(result.ConfigFile.FullName); 770var tempConfigDir = result.ConfigFile.Directory!.FullName; 819var doc = XDocument.Load(result.ConfigFile.FullName); 827var tempConfigDir = result.ConfigFile.Directory!.FullName; 879var doc = XDocument.Load(result.ConfigFile.FullName); 908var doc = XDocument.Load(result.ConfigFile.FullName); 937var doc = XDocument.Load(result.ConfigFile.FullName); 950var tempConfigDir = result.ConfigFile.Directory!.FullName; 984var doc = XDocument.Load(result.ConfigFile.FullName); 1030var doc = XDocument.Load(result.ConfigFile.FullName); 1053var doc = XDocument.Load(result.ConfigFile.FullName); 1288appPath ?? workspace.WorkspaceRoot.FullName, 1372var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1434Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "integrations", "package-restore"), 1563var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1573mappings: [new PackageMapping("Aspire*", packageSource.FullName)], 1603Assert.Equal([packageSource.FullName, NuGetOrgSource], GetSourceArguments(restoreArgs!)); 1619var packageSourceUri = new Uri(packageSource.FullName).AbsoluteUri; 1622var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1682var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1694new PackageMapping("Aspire*", hivePackageSource.FullName), 1720packageSourceOverride: explicitPackageSource.FullName); 1724Assert.Equal([explicitPackageSource.FullName, channelSource], GetSourceArguments(restoreArgs!)); 1725Assert.DoesNotContain(hivePackageSource.FullName, restoreArgs!); 1741var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1801var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1852var missingPackageSource = Path.Combine(workspace.WorkspaceRoot.FullName, "this-hive-was-deleted"); 1856var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1921var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2004var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2093var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2108generatedProject = XDocument.Load(projectFilePath.FullName); 2173var localHive = workspace.CreateDirectory("local-aspire-hive").FullName; 2175var aspireConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2249generatedProject = XDocument.Load(projectFilePath.FullName); 2297var config = AspireConfigFile.LoadOrCreate(projectDirectory.FullName); 2299config.Save(projectDirectory.FullName); 2346appPath: projectDirectory.FullName, 2364Assert.Contains(projectDirectory.FullName, restoreInvocation!); 2675var firstSourcePath = Path.Combine(firstPackageRoot.FullName, "Aspire.Hosting.Redis.dll"); 2676var secondSourcePath = Path.Combine(secondPackageRoot.FullName, "Aspire.Hosting.Redis.dll"); 2720var firstPackagePath = Path.Combine(firstPackageRoot.FullName, "Aspire.Hosting.Redis.dll"); 2721var secondPackagePath = Path.Combine(secondPackageRoot.FullName, "Aspire.Hosting.Redis.dll"); 2722var projectPath = Path.Combine(projectRoot.FullName, "MyIntegration.dll"); 2860managedDirectory.FullName, 2864return new LayoutConfiguration { LayoutPath = layoutRoot.FullName }; 2880var sourcePath = Path.Combine(sourceRoot.FullName, relativePath.Replace('/', Path.DirectorySeparatorChar)); 2900File.WriteAllLines(Path.Combine(restoreDirectory.FullName, PrebuiltAppHostServer.ClosureMetadataFileName), metadataLines); 2901File.WriteAllLines(Path.Combine(restoreDirectory.FullName, PrebuiltAppHostServer.ClosureSourcesFileName), sourcePaths); 2902File.WriteAllLines(Path.Combine(restoreDirectory.FullName, PrebuiltAppHostServer.ClosureTargetsFileName), targetPaths); 2903File.WriteAllLines(Path.Combine(restoreDirectory.FullName, PrebuiltAppHostServer.ProjectRefAssemblyNamesFileName), projectReferenceAssemblyNames); 2946File.WriteAllText(Path.Combine(objDirectory.FullName, "project.assets.json"), projectAssetsContent);
Projects\ProcessGuestLauncherTests.cs (12)
207var descendantPidFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "descendant.pid")); 334var scriptFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "spawn-descendant.ps1")); 341$"Set-Content -Path '{descendantPidFile.FullName}' -Value $child.Id" + Environment.NewLine + 343await File.WriteAllTextAsync(scriptFile.FullName, content); 345return ("powershell.exe", ["-NoProfile", "-ExecutionPolicy", "Bypass", "-File", scriptFile.FullName]); 348var shellFile = new FileInfo(Path.Combine(workspaceRoot.FullName, "spawn-descendant.sh")); 352$"echo $! > \"{descendantPidFile.FullName}\"" + Environment.NewLine + 354await File.WriteAllTextAsync(shellFile.FullName, shellContent); 356shellFile.FullName, 361return ("/bin/bash", [shellFile.FullName]); 378using var stream = new FileStream(pidFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 396throw new TimeoutException($"Timed out waiting for descendant pid file '{pidFile.FullName}'.");
Projects\ProjectLocatorTests.cs (729)
38var appHostFile = new FileInfo(Path.Combine(directory.FullName, "apphost.cs")); 50appHostFile.FullName, 64var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 65await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 68var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 69await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 71var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 85Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 95var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 96await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 99var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 100await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 102var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 114Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 124var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 125await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 128var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 129await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 131var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 145Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 157var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 158await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 161var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 162await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 164var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 177Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 190var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 191await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 194var firstAlternative = new FileInfo(Path.Combine(alternativesDirectory.FullName, "FirstAlternative.csproj")); 195await File.WriteAllTextAsync(firstAlternative.FullName, "Not a real apphost"); 196var secondAlternative = new FileInfo(Path.Combine(alternativesDirectory.FullName, "SecondAlternative.csproj")); 197await File.WriteAllTextAsync(secondAlternative.FullName, "Not a real apphost"); 199var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 207new FileInfo(alternativesDirectory.FullName), 212Assert.Equal(firstAlternative.FullName, result.SelectedProjectFile?.FullName); 223var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 224await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 227var alternativeAppHost = new FileInfo(Path.Combine(alternativeDirectory.FullName, "Alternative.csproj")); 228await File.WriteAllTextAsync(alternativeAppHost.FullName, "Not a real apphost"); 230var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 237new FileInfo(alternativeDirectory.FullName), 242Assert.Equal(alternativeAppHost.FullName, result.SelectedProjectFile?.FullName); 252var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 253await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 255var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 266Assert.Equal(appHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 276var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 277await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 279var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 288Assert.Equal(appHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 301var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, $"AppHost{index}.csproj")); 302await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 306var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 333appHostProjectFiles.Select(appHostProjectFile => appHostProjectFile.FullName), 334results.Select(result => result.SelectedProjectFile?.FullName)); 371var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 372await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 375var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 376await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 378var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 392Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 402var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 403await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 406var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 407await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 409var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 415ValidateAppHostCallback = file => new AppHostValidationResult(IsValid: file.FullName == secondAppHostProjectFile.FullName) 428Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 438var firstAppHostProjectFile = new FileInfo(Path.Combine(firstAppHostDirectory.FullName, "FirstAppHost.csproj")); 439await File.WriteAllTextAsync(firstAppHostProjectFile.FullName, "Not a real apphost"); 442var secondAppHostProjectFile = new FileInfo(Path.Combine(secondAppHostDirectory.FullName, "SecondAppHost.csproj")); 443await File.WriteAllTextAsync(secondAppHostProjectFile.FullName, "Not a real apphost"); 445var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 457Assert.Equal(secondAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 487var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 508var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 509await File.WriteAllTextAsync(projectFile.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 524Assert.Equal(projectFile.FullName, result.SelectedProjectFile?.FullName); 525Assert.Equal(projectFile.FullName, Assert.Single(result.AllProjectFileCandidates).FullName); 529Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 540var brokenAppHost = new FileInfo(Path.Combine(brokenDirectory.FullName, "BrokenAppHost.csproj")); 541await File.WriteAllTextAsync(brokenAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 544var decoyAppHost = new FileInfo(Path.Combine(decoyDirectory.FullName, "HealthyAppHost.csproj")); 545await File.WriteAllTextAsync(decoyAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 547var aspireSettingsDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire")); 549var aspireSettingsFile = new FileInfo(Path.Combine(aspireSettingsDir.FullName, "settings.json")); 550await File.WriteAllTextAsync(aspireSettingsFile.FullName, JsonSerializer.Serialize(new 552appHostPath = Path.GetRelativePath(aspireSettingsDir.FullName, brokenAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 557ValidateAppHostCallback = file => file.FullName == brokenAppHost.FullName 565var globalSettingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json")); 575Assert.Equal(brokenAppHost.FullName, result.SelectedProjectFile?.FullName); 579Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 590var outsideAppHost = new FileInfo(Path.Combine(outsideDirectory.FullName, "OutsideAppHost.csproj")); 591await File.WriteAllTextAsync(outsideAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 594var configPath = Path.Combine(workingDirectory.FullName, AspireConfigFile.FileName); 599path = Path.GetRelativePath(workingDirectory.FullName, outsideAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 616Assert.Equal(outsideAppHost.FullName, result.SelectedProjectFile?.FullName); 628var appHostFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 629await File.WriteAllTextAsync(appHostFile.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 660var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Missing.csproj")); 691var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "WebApp.csproj")); 692await File.WriteAllTextAsync(projectFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk.Web\"></Project>"); 720var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 721await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 724var otherAppHostProjectFile = new FileInfo(Path.Combine(otherAppHostDirectory.FullName, "OtherAppHost.csproj")); 725await File.WriteAllTextAsync(otherAppHostProjectFile.FullName, "Not a real apphost"); 728var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 733appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, targetAppHostProjectFile.FullName) 744Assert.Equal(targetAppHostProjectFile.FullName, foundAppHost?.FullName); 753var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 754await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 757var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 762appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, targetAppHostProjectFile.FullName) 772Assert.Equal(targetAppHostProjectFile.FullName, foundAppHost?.FullName); 784var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 785await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 788var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 793appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, targetAppHostProjectFile.FullName) 802Assert.Equal(targetAppHostProjectFile.FullName, foundAppHost?.FullName); 811var realAppHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "RealAppHost.csproj")); 812await File.WriteAllTextAsync(realAppHostProjectFile.FullName, "Not a real apphost project"); 816var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 829if (projectFile.FullName == realAppHostProjectFile.FullName) 843Assert.Equal(realAppHostProjectFile.FullName, foundAppHost?.FullName); 852var staleProjectFile = new FileInfo(Path.Combine(staleProjectDirectory.FullName, "StaleProject.csproj")); 853await File.WriteAllTextAsync(staleProjectFile.FullName, "Not a real apphost project"); 855var realAppHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "RealAppHost.csproj")); 856await File.WriteAllTextAsync(realAppHostProjectFile.FullName, "Not a real apphost project"); 859var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 864appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, staleProjectFile.FullName) 872if (projectFile.FullName == realAppHostProjectFile.FullName) 886Assert.Equal(realAppHostProjectFile.FullName, foundAppHost?.FullName); 905var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 906await File.WriteAllTextAsync(aspireSettingsFile.FullName, JsonSerializer.Serialize(new 916Assert.Equal(appHostFile.FullName, foundAppHost?.FullName); 928var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 939Assert.Equal(appHostFile.FullName, foundAppHost?.FullName); 963var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 964await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 967var decoyAppHostProjectFile = new FileInfo(Path.Combine(decoyAppHostDirectory.FullName, "DecoyAppHost.csproj")); 968await File.WriteAllTextAsync(decoyAppHostProjectFile.FullName, "Not a real apphost"); 970var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 975path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, targetAppHostProjectFile.FullName).Replace(Path.DirectorySeparatorChar, '/') 990Assert.Equal(targetAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 992Assert.Equal(targetAppHostProjectFile.FullName, candidate.FullName); 1001var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 1002await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 1005var decoyAppHostProjectFile = new FileInfo(Path.Combine(decoyAppHostDirectory.FullName, "DecoyAppHost.csproj")); 1006await File.WriteAllTextAsync(decoyAppHostProjectFile.FullName, "Not a real apphost"); 1008var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1013path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, targetAppHostProjectFile.FullName).Replace(Path.DirectorySeparatorChar, '/') 1028Assert.Equal(targetAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 1030Assert.Equal(targetAppHostProjectFile.FullName, candidate.FullName); 1038var guestAppHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 1039await File.WriteAllTextAsync(guestAppHostFile.FullName, "// guest apphost"); 1041var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1064Assert.Equal(guestAppHostFile.FullName, result.SelectedProjectFile?.FullName); 1066Assert.Equal(guestAppHostFile.FullName, candidate.FullName); 1075var configuredAppHostProjectFile = new FileInfo(Path.Combine(configuredAppHostDirectory.FullName, "ConfiguredAppHost.csproj")); 1076await File.WriteAllTextAsync(configuredAppHostProjectFile.FullName, "Not a real apphost"); 1078var realAppHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "RealAppHost.csproj")); 1079await File.WriteAllTextAsync(realAppHostProjectFile.FullName, "Not a real apphost"); 1081var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1086path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, configuredAppHostProjectFile.FullName).Replace(Path.DirectorySeparatorChar, '/') 1094if (projectFile.FullName == realAppHostProjectFile.FullName) 1098if (projectFile.FullName == configuredAppHostProjectFile.FullName) 1115Assert.Equal(realAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 1128var configuredAppHostProjectFile = new FileInfo(Path.Combine(configuredAppHostDirectory.FullName, "ConfiguredAppHost.csproj")); 1129await File.WriteAllTextAsync(configuredAppHostProjectFile.FullName, "Not a real apphost"); 1131var realAppHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "RealAppHost.csproj")); 1132await File.WriteAllTextAsync(realAppHostProjectFile.FullName, "Not a real apphost"); 1134var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1139path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, configuredAppHostProjectFile.FullName).Replace(Path.DirectorySeparatorChar, '/') 1147if (projectFile.FullName == realAppHostProjectFile.FullName) 1151if (projectFile.FullName == configuredAppHostProjectFile.FullName) 1168Assert.Equal(configuredAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 1170[realAppHostProjectFile.FullName, configuredAppHostProjectFile.FullName], 1171result.AllProjectFileCandidates.Select(f => f.FullName)); 1180var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 1181await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 1184var otherAppHostProjectFile = new FileInfo(Path.Combine(otherAppHostDirectory.FullName, "OtherAppHost.csproj")); 1185await File.WriteAllTextAsync(otherAppHostProjectFile.FullName, "Not a real apphost"); 1187var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1192path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, targetAppHostProjectFile.FullName).Replace(Path.DirectorySeparatorChar, '/') 1205Assert.Equal(targetAppHostProjectFile.FullName, result.SelectedProjectFile?.FullName); 1207Assert.Contains(result.AllProjectFileCandidates, file => file.FullName == targetAppHostProjectFile.FullName); 1208Assert.Contains(result.AllProjectFileCandidates, file => file.FullName == otherAppHostProjectFile.FullName); 1217var settingsAppHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "SettingsAppHost.csproj")); 1218await File.WriteAllTextAsync(settingsAppHostFile.FullName, "Not a real apphost"); 1223var configPath = Path.Combine(workingDirectory.FullName, AspireConfigFile.FileName); 1246Assert.Equal(settingsAppHostFile.FullName, result.SelectedProjectFile?.FullName); 1247Assert.Contains(result.AllProjectFileCandidates, file => file.FullName == settingsAppHostFile.FullName); 1256var settingsAppHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.custom")); 1257await File.WriteAllTextAsync(settingsAppHostFile.FullName, "Not a supported apphost type"); 1259var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1291var targetAppHostProjectFile = new FileInfo(Path.Combine(targetAppHostDirectory.FullName, "TargetAppHost.csproj")); 1292await File.WriteAllTextAsync(targetAppHostProjectFile.FullName, "Not a real apphost"); 1295var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 1298var relativePath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, targetAppHostProjectFile.FullName); 1314Assert.Equal(targetAppHostProjectFile.FullName, foundAppHost?.FullName); 1321var projectFile1 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost1.csproj")); 1322await File.WriteAllTextAsync(projectFile1.FullName, "Not a real project file."); 1324var projectFile2 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost2.csproj")); 1325await File.WriteAllTextAsync(projectFile2.FullName, "Not a real project file."); 1332Assert.Equal(projectFile1.FullName, selectedProjectFile!.FullName); 1339var appHostProject = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1340await File.WriteAllTextAsync(appHostProject.FullName, "Not a real apphost project."); 1342var webProject = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "WebProject.csproj")); 1343await File.WriteAllTextAsync(webProject.FullName, "Not a real web project."); 1349if (projectFile.FullName == appHostProject.FullName) 1360Assert.Equal(appHostProject.FullName, foundAppHost?.FullName); 1385var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectFileExtension}")); 1386await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1403var onDiskProjectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyAppHost.csproj")); 1404await File.WriteAllTextAsync(onDiskProjectFile.FullName, "Not a real project file."); 1411var mismatchedCasePath = ToggleCase(onDiskProjectFile.FullName); 1412Assert.False(string.Equals(onDiskProjectFile.FullName, mismatchedCasePath, StringComparison.Ordinal)); 1425Assert.Equal(onDiskProjectFile.FullName, result.SelectedProjectFile!.FullName); 1432var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1433await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1439Assert.Equal(projectFile.FullName, returnedProjectFile!.FullName); 1447var legacyAppHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.ts")); 1448var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts")); 1449await File.WriteAllTextAsync(appHostFile.FullName, "// TypeScript AppHost"); 1451await File.WriteAllTextAsync(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), JsonSerializer.Serialize(new 1460var globalSettingsFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json"); 1472Assert.Equal(appHostFile.FullName, returnedProjectFile!.FullName); 1474var updatedConfig = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 1486var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 1487await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real project file."); 1495var globalSettingsFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json"); 1506var settingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName)); 1509var settingsJson = await File.ReadAllTextAsync(settingsFile.FullName); 1523var appHostFile = new FileInfo(Path.Combine(srcDirectory.FullName, "apphost.ts")); 1524await File.WriteAllTextAsync(appHostFile.FullName, "// TypeScript apphost"); 1526var adjacentConfigPath = Path.Combine(srcDirectory.FullName, AspireConfigFile.FileName); 1550var globalSettingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json")); 1570Assert.Equal(appHostFile.FullName, result.SelectedProjectFile?.FullName); 1571Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 1590var appHost1File = new FileInfo(Path.Combine(appHost1Directory.FullName, "apphost.ts")); 1591await File.WriteAllTextAsync(appHost1File.FullName, "// TypeScript apphost"); 1592var appHost1ConfigPath = Path.Combine(appHost1Directory.FullName, AspireConfigFile.FileName); 1602var appHost2File = new FileInfo(Path.Combine(appHost2Directory.FullName, "apphost.ts")); 1603await File.WriteAllTextAsync(appHost2File.FullName, "// TypeScript apphost"); 1604var appHost2ConfigPath = Path.Combine(appHost2Directory.FullName, AspireConfigFile.FileName); 1619var globalSettingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json")); 1640Assert.Equal(appHost2File.FullName, result.SelectedProjectFile?.FullName); 1641Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 1660var appHostFile = new FileInfo(Path.Combine(srcDirectory.FullName, "apphost.ts")); 1661await File.WriteAllTextAsync(appHostFile.FullName, "// TypeScript apphost"); 1671staleConfig.Save(srcDirectory.FullName); 1674var globalSettingsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json")); 1694Assert.Equal(appHostFile.FullName, result.SelectedProjectFile?.FullName); 1695Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 1697var healedConfig = AspireConfigFile.Load(srcDirectory.FullName); 1709var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "MyAppHost.csproj")); 1710await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 1716var aspireSettingsDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire")); 1717var aspireSettingsFile = new FileInfo(Path.Combine(aspireSettingsDir.FullName, "settings.json")); 1719.GetRelativePath(aspireSettingsDir.FullName, appHostProjectFile.FullName) 1721await File.WriteAllTextAsync(aspireSettingsFile.FullName, JsonSerializer.Serialize(new { appHostPath = relativeAppHostPath })); 1724var globalSettingsFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "settings.global.json"); 1736Assert.Equal(appHostProjectFile.FullName, foundAppHost.FullName); 1739var aspireConfigFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 1753var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1755appHostFile.FullName, 1766var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1769Assert.Equal(appHostFile.FullName, foundFiles[0].FullName); 1778var appHostFile = new FileInfo(Path.Combine(subDir.FullName, "apphost.cs")); 1780appHostFile.FullName, 1791var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1794Assert.Equal(appHostFile.FullName, foundFiles[0].FullName); 1804var appHostFile = new FileInfo(Path.Combine(dirWithBoth.FullName, "apphost.cs")); 1806appHostFile.FullName, 1814var csprojFile = new FileInfo(Path.Combine(dirWithBoth.FullName, "RegularProject.csproj")); 1815await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 1819var validAppHostFile = new FileInfo(Path.Combine(dirWithOnlyAppHost.FullName, "apphost.cs")); 1821validAppHostFile.FullName, 1833if (projectFile.FullName == csprojFile.FullName) 1840var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1847var foundPaths = foundFiles.Select(f => f.FullName).ToHashSet(); 1848Assert.Contains(validAppHostFile.FullName, foundPaths); 1849Assert.Contains(csprojFile.FullName, foundPaths); 1850Assert.DoesNotContain(appHostFile.FullName, foundPaths); 1859var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1860await File.WriteAllTextAsync(appHostFile.FullName, @"using Aspire.Hosting 1867var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1879var csprojFile = new FileInfo(Path.Combine(subDir1.FullName, "AppHost.csproj")); 1880await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 1884var appHostFile = new FileInfo(Path.Combine(subDir2.FullName, "apphost.cs")); 1886appHostFile.FullName, 1897if (projectFile.FullName == csprojFile.FullName) 1904var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1908Assert.True(foundFiles[0].FullName.CompareTo(foundFiles[1].FullName) < 0); 1910var foundPaths = foundFiles.Select(f => f.FullName).ToHashSet(); 1911Assert.Contains(csprojFile.FullName, foundPaths); 1912Assert.Contains(appHostFile.FullName, foundPaths); 1920var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1921await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 1936var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 1939Assert.Equal(projectFile.FullName, foundFile.FullName); 1947var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1949appHostFile.FullName, 1962Assert.Equal(appHostFile.FullName, result!.FullName); 1971var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1972await File.WriteAllTextAsync(appHostFile.FullName, @"using Aspire.Hosting; 1992var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 1993await File.WriteAllTextAsync(appHostFile.FullName, "using Aspire.Hosting;"); 1995var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 1996await File.WriteAllTextAsync(projectFile.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2009Assert.Equal(projectFile.FullName, result.SelectedProjectFile?.FullName); 2018var appHostFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs")); 2020appHostFile.FullName, 2029var csprojFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "SomeProject.csproj")); 2030await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 2044var txtFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "readme.txt")); 2045await File.WriteAllTextAsync(txtFile.FullName, "Some text file"); 2064var csprojFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2065await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 2069var appHostFile = new FileInfo(Path.Combine(subDir.FullName, "apphost.cs")); 2071appHostFile.FullName, 2082if (projectFile.FullName == csprojFile.FullName) 2095Assert.True(result.FullName == csprojFile.FullName || result.FullName == appHostFile.FullName); 2141? Path.Combine(executionContext.HomeDirectory.FullName, ".aspire", AspireConfigFile.FileName) 2142: Path.Combine(executionContext.WorkingDirectory.FullName, AspireConfigFile.FileName); 2256var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "MyAppHost.csproj")); 2257await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2263if (file.FullName == projectFile.FullName) 2275var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2278Assert.Equal(projectFile.FullName, returnedProjectFile!.FullName); 2293var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2311var projectFile = new FileInfo(Path.Combine(projectDirectory.FullName, "UnbuildableAppHost.csproj")); 2312await File.WriteAllTextAsync(projectFile.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2320var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2328Assert.Equal(projectFile.FullName, result.SelectedProjectFile?.FullName); 2329Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName))); 2341var first = new FileInfo(Path.Combine(firstProjectDirectory.FullName, "FirstAppHost.csproj")); 2342await File.WriteAllTextAsync(first.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2344var second = new FileInfo(Path.Combine(secondProjectDirectory.FullName, "SecondAppHost.csproj")); 2345await File.WriteAllTextAsync(second.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2353var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2381var brokenAppHost = new FileInfo(Path.Combine(brokenDirectory.FullName, "BrokenAppHost.csproj")); 2382await File.WriteAllTextAsync(brokenAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2386var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2391path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, brokenAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 2405new FileInfo(emptyDirectory.FullName), 2423var healthyAppHost = new FileInfo(Path.Combine(healthyDirectory.FullName, "HealthyAppHost.csproj")); 2424await File.WriteAllTextAsync(healthyAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2428var brokenAppHost = new FileInfo(Path.Combine(brokenDirectory.FullName, "BrokenAppHost.csproj")); 2429await File.WriteAllTextAsync(brokenAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2431var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2436path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, healthyAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 2442ValidateAppHostCallback = file => file.FullName == healthyAppHost.FullName 2450new FileInfo(servicesDirectory.FullName), 2455Assert.Equal(brokenAppHost.FullName, result.SelectedProjectFile?.FullName); 2464var configuredAppHost = new FileInfo(Path.Combine(configuredDirectory.FullName, "ConfiguredAppHost.csproj")); 2465await File.WriteAllTextAsync(configuredAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2469var firstAppHost = new FileInfo(Path.Combine(firstDirectory.FullName, "FirstAppHost.csproj")); 2470await File.WriteAllTextAsync(firstAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2472var secondAppHost = new FileInfo(Path.Combine(secondDirectory.FullName, "SecondAppHost.csproj")); 2473await File.WriteAllTextAsync(secondAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2475var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2480path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, configuredAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 2492new FileInfo(servicesDirectory.FullName), 2499[firstAppHost.FullName, secondAppHost.FullName], 2500result.AllProjectFileCandidates.Select(file => file.FullName)); 2509var unsupportedAppHost = new FileInfo(Path.Combine(unsupportedDirectory.FullName, "UnsupportedAppHost.csproj")); 2510await File.WriteAllTextAsync(unsupportedAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2514var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2519path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, unsupportedAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 2533new FileInfo(emptyDirectory.FullName), 2563var brokenAppHost = new FileInfo(Path.Combine(brokenDirectory.FullName, "BrokenAppHost.csproj")); 2564await File.WriteAllTextAsync(brokenAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2567var firstHealthy = new FileInfo(Path.Combine(firstHealthyDirectory.FullName, "FirstHealthyAppHost.csproj")); 2568await File.WriteAllTextAsync(firstHealthy.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2571var secondHealthy = new FileInfo(Path.Combine(secondHealthyDirectory.FullName, "SecondHealthyAppHost.csproj")); 2572await File.WriteAllTextAsync(secondHealthy.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 2574var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 2579path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, brokenAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 2585ValidateAppHostCallback = file => file.FullName == brokenAppHost.FullName 2600Assert.Equal(brokenAppHost.FullName, result.SelectedProjectFile?.FullName); 2602new[] { firstHealthy.FullName, secondHealthy.FullName, brokenAppHost.FullName }, 2603result.AllProjectFileCandidates.Select(f => f.FullName).ToArray()); 2613var projectFile1 = new FileInfo(Path.Combine(projectDirectory.FullName, "Project1.csproj")); 2614await File.WriteAllTextAsync(projectFile1.FullName, "Not a real project file."); 2615var projectFile2 = new FileInfo(Path.Combine(projectDirectory.FullName, "Project2.csproj")); 2616await File.WriteAllTextAsync(projectFile2.FullName, "Not a real project file."); 2623if (file.FullName == projectFile1.FullName || file.FullName == projectFile2.FullName) 2635var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2640Assert.Equal(projectFile1.FullName, returnedProjectFile!.FullName); 2650var appHostFile = new FileInfo(Path.Combine(projectDirectory.FullName, "apphost.cs")); 2652appHostFile.FullName, 2664var directoryAsFileInfo = new FileInfo(projectDirectory.FullName); 2667Assert.Equal(appHostFile.FullName, returnedProjectFile!.FullName); 2678var projectFile = new FileInfo(Path.Combine(subDirectory.FullName, "Mongo.AppHost.csproj")); 2679await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2685if (file.FullName == projectFile.FullName) 2697var directoryAsFileInfo = new FileInfo(topDirectory.FullName); 2700Assert.Equal(projectFile.FullName, returnedProjectFile!.FullName); 2717var csprojFile = new FileInfo(Path.Combine(appHostDir.FullName, "MyApp.AppHost.csproj")); 2718await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 2722var appHostCsFile = new FileInfo(Path.Combine(appHostDir.FullName, "AppHost.cs")); 2723await File.WriteAllTextAsync(appHostCsFile.FullName, """ 2740var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2744Assert.Equal(csprojFile.FullName, foundFiles[0].FullName); 2760var csprojFile = new FileInfo(Path.Combine(appHostDir.FullName, "MyApp.AppHost.csproj")); 2761await File.WriteAllTextAsync(csprojFile.FullName, "<Project Sdk=\"Microsoft.NET.Sdk\"></Project>"); 2764var appHostCsFile = new FileInfo(Path.Combine(appHostDir.FullName, "apphost.cs")); 2765await File.WriteAllTextAsync(appHostCsFile.FullName, """ 2784var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2788Assert.Equal(csprojFile.FullName, foundFiles[0].FullName); 2802var appHostCsFile = new FileInfo(Path.Combine(appHostDir.FullName, "apphost.cs")); 2803await File.WriteAllTextAsync(appHostCsFile.FullName, """ 2813var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2817Assert.Equal(appHostCsFile.FullName, foundFiles[0].FullName); 2825var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2826await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2836var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2846var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2847await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2857var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2860Assert.Equal(projectFile.FullName, foundFiles[0].FullName); 2868var projectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 2869await File.WriteAllTextAsync(projectFile.FullName, "Not a real project file."); 2908var foundFiles = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2920var normalProject = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "MyApp", "AppHost.csproj")); 2922await File.WriteAllTextAsync(normalProject.FullName, "Not a real project file."); 2925var nugetCacheDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".nuget", "packages", 2929await File.WriteAllTextAsync(cachedProject.FullName, "Not a real project file."); 2938["NUGET_PACKAGES"] = Path.Combine(workspace.WorkspaceRoot.FullName, ".nuget", "packages") 2944workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2948Assert.Equal(normalProject.FullName, foundFiles[0].FullName); 2957var project1 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "src", "App1", "AppHost.csproj")); 2959await File.WriteAllTextAsync(project1.FullName, "Not a real project file."); 2961var project2 = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "samples", "App2", "AppHost.csproj")); 2963await File.WriteAllTextAsync(project2.FullName, "Not a real project file."); 2974workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 2977var foundPaths = foundFiles.Select(f => f.FullName).ToHashSet(); 2978Assert.Contains(project1.FullName, foundPaths); 2979Assert.Contains(project2.FullName, foundPaths); 2988var normalProject = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "MyApp", "AppHost.csproj")); 2990await File.WriteAllTextAsync(normalProject.FullName, "Not a real project file."); 2993var customCacheDir = Path.Combine(workspace.WorkspaceRoot.FullName, "custom-nuget-cache"); 2997await File.WriteAllTextAsync(cachedProject.FullName, "Not a real project file."); 3012workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 3016Assert.Equal(normalProject.FullName, foundFiles[0].FullName); 3025var customCacheDir = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget-cache"); 3028var siblingDir = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget-cache-extra", "MyApp"); 3031await File.WriteAllTextAsync(siblingProject.FullName, "Not a real project file."); 3037await File.WriteAllTextAsync(cachedProject.FullName, "Not a real project file."); 3052workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 3056Assert.Equal(siblingProject.FullName, foundFiles[0].FullName); 3066var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "MyAppHost.csproj")); 3067await File.WriteAllTextAsync(appHostFile.FullName, "Not a real apphost"); 3071config.Save(workspace.WorkspaceRoot.FullName); 3079Assert.Equal(appHostFile.FullName, result.SelectedProjectFile!.FullName); 3089var appHost1File = new FileInfo(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj")); 3090await File.WriteAllTextAsync(appHost1File.FullName, "Not a real apphost"); 3092config1.Save(appHost1Dir.FullName); 3095var appHost2File = new FileInfo(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj")); 3096await File.WriteAllTextAsync(appHost2File.FullName, "Not a real apphost"); 3098config2.Save(appHost2Dir.FullName); 3119var appHostFile = new FileInfo(Path.Combine(appHostDir.FullName, "RealAppHost.csproj")); 3120await File.WriteAllTextAsync(appHostFile.FullName, "Not a real apphost"); 3124config.Save(workspace.WorkspaceRoot.FullName); 3133Assert.Equal(appHostFile.FullName, result.SelectedProjectFile!.FullName); 3143await File.WriteAllTextAsync(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj"), "Not a real apphost"); 3146await File.WriteAllTextAsync(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj"), "Not a real apphost"); 3164var appHost1File = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost1.csproj")); 3165await File.WriteAllTextAsync(appHost1File.FullName, "Not a real apphost"); 3167var appHost2File = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost2.csproj")); 3168await File.WriteAllTextAsync(appHost2File.FullName, "Not a real apphost"); 3170var slowValidationFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "SlowValidation.csproj")); 3171await File.WriteAllTextAsync(slowValidationFile.FullName, "Not a real apphost"); 3180if (string.Equals(projectFile.FullName, slowValidationFile.FullName, StringComparison.Ordinal)) 3195if (string.Equals(projectFile.FullName, appHost2File.FullName, StringComparison.Ordinal)) 3223var appHost1File = new FileInfo(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj")); 3224await File.WriteAllTextAsync(appHost1File.FullName, "Not a real apphost"); 3227var appHost2File = new FileInfo(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj")); 3228await File.WriteAllTextAsync(appHost2File.FullName, "Not a real apphost"); 3231var aspireSettingsDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire")); 3233var aspireSettingsFile = new FileInfo(Path.Combine(aspireSettingsDir.FullName, "settings.json")); 3235.GetRelativePath(aspireSettingsDir.FullName, appHost1File.FullName) 3237await File.WriteAllTextAsync(aspireSettingsFile.FullName, JsonSerializer.Serialize(new { appHostPath = relativeAppHostPath })); 3246Assert.Equal(appHost1File.FullName, result.SelectedProjectFile!.FullName); 3256var appHost1File = new FileInfo(Path.Combine(appHost1Dir.FullName, "AppHost1.csproj")); 3257await File.WriteAllTextAsync(appHost1File.FullName, "Not a real apphost"); 3260var appHost2File = new FileInfo(Path.Combine(appHost2Dir.FullName, "AppHost2.csproj")); 3261await File.WriteAllTextAsync(appHost2File.FullName, "Not a real apphost"); 3264var aspireSettingsDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire")); 3266var aspireSettingsFile = new FileInfo(Path.Combine(aspireSettingsDir.FullName, "settings.json")); 3268.GetRelativePath(aspireSettingsDir.FullName, appHost1File.FullName) 3270await File.WriteAllTextAsync(aspireSettingsFile.FullName, JsonSerializer.Serialize(new { appHostPath = relativeAppHostPath })); 3279Assert.Equal(appHost1File.FullName, result.SelectedProjectFile!.FullName); 3281Assert.Equal(appHost1File.FullName, candidate.FullName); 3290var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3292await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3295var staleAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "foo", "AppHost.csproj")); 3297await File.WriteAllTextAsync(staleAppHost.FullName, "Not a real project file."); 3310Assert.Equal(realAppHost.FullName, found[0].AppHostFile.FullName); 3318var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3320await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3322var staleAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "foo", "AppHost.csproj")); 3324await File.WriteAllTextAsync(staleAppHost.FullName, "Not a real project file."); 3337var paths = found.Select(c => c.AppHostFile.FullName).ToHashSet(); 3338Assert.Contains(realAppHost.FullName, paths); 3339Assert.Contains(staleAppHost.FullName, paths); 3347var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3349await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3351var skipListedAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "foo", "AppHost.csproj")); 3353await File.WriteAllTextAsync(skipListedAppHost.FullName, "Not a real project file."); 3363var found = await projectLocator.FindAppHostProjectFilesAsync(workspace.WorkspaceRoot.FullName, CancellationToken.None).DefaultTimeout(); 3365var paths = found.Select(file => file.FullName).ToHashSet(); 3367Assert.Contains(realAppHost.FullName, paths); 3368Assert.Contains(skipListedAppHost.FullName, paths); 3376var buildableAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Buildable", "AppHost.csproj")); 3378await File.WriteAllTextAsync(buildableAppHost.FullName, "Not a real project file."); 3380var unbuildableAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Unbuildable", "AppHost.csproj")); 3382await File.WriteAllTextAsync(unbuildableAppHost.FullName, "Not a real project file."); 3386ValidateAppHostCallback = projectFile => projectFile.FullName == buildableAppHost.FullName 3396Assert.Collection(found.OrderBy(candidate => candidate.AppHostFile.FullName), 3399Assert.Equal(buildableAppHost.FullName, candidate.AppHostFile.FullName); 3404Assert.Equal(unbuildableAppHost.FullName, candidate.AppHostFile.FullName); 3415var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3417await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3420var staleAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "foo", "AppHost.csproj")); 3422await File.WriteAllTextAsync(staleAppHost.FullName, "Not a real project file."); 3435realAppHost.FullName, 3436staleAppHost.FullName 3446Assert.Equal(realAppHost.FullName, found[0].AppHostFile.FullName); 3455var configuredAppHost = new FileInfo(Path.Combine(configuredDirectory.FullName, "ConfiguredAppHost.csproj")); 3456await File.WriteAllTextAsync(configuredAppHost.FullName, "<Project Sdk=\"Aspire.AppHost.Sdk\"></Project>"); 3459var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 3464path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, configuredAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 3490var trackedAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3492await File.WriteAllTextAsync(trackedAppHost.FullName, "Not a real project file."); 3494var ignoredAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "legacy", "Stale.csproj")); 3496await File.WriteAllTextAsync(ignoredAppHost.FullName, "Not a real project file."); 3507trackedAppHost.FullName 3517Assert.Equal(trackedAppHost.FullName, found[0].AppHostFile.FullName); 3525var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3527await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3530var nodeModulesAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "foo", "AppHost.csproj")); 3532await File.WriteAllTextAsync(nodeModulesAppHost.FullName, "Not a real project file."); 3543realAppHost.FullName, 3544nodeModulesAppHost.FullName 3554Assert.Equal(realAppHost.FullName, found[0].AppHostFile.FullName); 3562var realAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "App", "AppHost.csproj")); 3564await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 3567var phantomAppHost = Path.Combine(workspace.WorkspaceRoot.FullName, "Removed", "AppHost.csproj"); 3578realAppHost.FullName, 3589Assert.Equal(realAppHost.FullName, found[0].AppHostFile.FullName); 3619var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 3620await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 3623var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3629appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, appHostProjectFile.FullName) 3648Assert.Equal(appHostProjectFile.FullName, foundAppHost!.FullName); 3657var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3686var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.unknown")); 3687await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 3690var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3696appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, appHostProjectFile.FullName) 3719var appHostProjectFile = new FileInfo(Path.Combine(appHostDirectory.FullName, "AppHost.csproj")); 3720await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real apphost"); 3723var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3729appHostPath = Path.GetRelativePath(aspireSettingsFile.Directory!.FullName, appHostProjectFile.FullName) 3767var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3785Assert.Contains(aspireSettingsFile.FullName, warning.Message); 3802var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 3833var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3834await File.WriteAllTextAsync(aspireSettingsFile.FullName, """ 3845Assert.Contains(aspireSettingsFile.FullName, error); 3860var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 3885var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 3886await File.WriteAllTextAsync(aspireSettingsFile.FullName, """ 3897Assert.Contains(aspireSettingsFile.FullName, error); 3910var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 3940var settingsPath = Path.Combine(workspaceSettingsDirectory.FullName, "settings.json"); 3967var settingsPath = Path.Combine(workspaceSettingsDirectory.FullName, "settings.json"); 3994var settingsPath = Path.Combine(workspaceSettingsDirectory.FullName, "settings.json"); 4032var realAppHost = new FileInfo(Path.Combine(realAppDirectory.FullName, "AppHost.csproj")); 4033await File.WriteAllTextAsync(realAppHost.FullName, "Not a real project file."); 4039var linkDirectory = Path.Combine(nodeModulesDir.FullName, "link"); 4042Directory.CreateSymbolicLink(linkDirectory, realAppDirectory.FullName); 4058Assert.NotEqual(realAppHost.FullName, pathThroughLink); 4061var aspireSettingsFile = new FileInfo(Path.Combine(workspaceSettingsDirectory.FullName, "settings.json")); 4094var appHostProjectFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost.csproj")); 4095await File.WriteAllTextAsync(appHostProjectFile.FullName, "Not a real project file."); 4097var differentlyCasedPath = Path.Combine(workspace.WorkspaceRoot.FullName, "APPHOST.csproj"); 4103Assert.NotEqual(appHostProjectFile.FullName, differentlyCasedPath); 4105var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 4128var configuredAppHost = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "node_modules", "Configured", "AppHost.csproj")); 4130await File.WriteAllTextAsync(configuredAppHost.FullName, "Not a real project file."); 4132var configPath = Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName); 4137path = Path.GetRelativePath(workspace.WorkspaceRoot.FullName, configuredAppHost.FullName).Replace(Path.DirectorySeparatorChar, '/') 4154Assert.Equal(configuredAppHost.FullName, candidate.AppHostFile.FullName);
Projects\ProjectUpdaterTests.cs (227)
31var serviceDefaultsProjectFile = new FileInfo(Path.Combine(serviceDefaultsFolder.FullName, "UpdateTester.ServiceDefaults.csproj")); 34var webAppProjectFile = new FileInfo(Path.Combine(webAppFolder.FullName, "UpdateTester.WebApp.csproj")); 37var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 40appHostProjectFile.FullName, 74if (projectFile.FullName == appHostProjectFile.FullName) 79itemsAndProperties.WithProjectReference(webAppProjectFile.FullName); 81else if (projectFile.FullName == webAppProjectFile.FullName) 84itemsAndProperties.WithProjectReference(serviceDefaultsProjectFile.FullName); 86else if (projectFile.FullName == serviceDefaultsProjectFile.FullName) 141var serviceDefaultsProjectFile = new FileInfo(Path.Combine(serviceDefaultsFolder.FullName, "UpdateTester.ServiceDefaults.csproj")); 144var webAppProjectFile = new FileInfo(Path.Combine(webAppFolder.FullName, "UpdateTester.WebApp.csproj")); 147var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 150appHostProjectFile.FullName, 160var aspireConfigFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire.config.json")); 162aspireConfigFile.FullName, 199if (projectFile.FullName == appHostProjectFile.FullName) 204itemsAndProperties.WithProjectReference(webAppProjectFile.FullName); 206else if (projectFile.FullName == webAppProjectFile.FullName) 209itemsAndProperties.WithProjectReference(serviceDefaultsProjectFile.FullName); 211else if (projectFile.FullName == serviceDefaultsProjectFile.FullName) 270Assert.Equal(appHostProjectFile.FullName, item.ProjectFile.FullName); 281Assert.Equal(webAppProjectFile.FullName, item.ProjectFile.FullName); 288var updatedConfig = await File.ReadAllTextAsync(aspireConfigFile.FullName); 305var serviceDefaultsProjectFile = new FileInfo(Path.Combine(serviceDefaultsFolder.FullName, "UpdateTester.ServiceDefaults.csproj")); 308var webAppProjectFile = new FileInfo(Path.Combine(webAppFolder.FullName, "UpdateTester.WebApp.csproj")); 311var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 314appHostProjectFile.FullName, 323var aspireConfigFile = new FileInfo(Path.Combine(appHostFolder.FullName, "aspire.config.json")); 354if (projectFile.FullName == appHostProjectFile.FullName) 359itemsAndProperties.WithProjectReference(webAppProjectFile.FullName); 361else if (projectFile.FullName == webAppProjectFile.FullName) 364itemsAndProperties.WithProjectReference(serviceDefaultsProjectFile.FullName); 366else if (projectFile.FullName == serviceDefaultsProjectFile.FullName) 412var serviceDefaultsProjectFile = new FileInfo(Path.Combine(serviceDefaultsFolder.FullName, "UpdateTester.ServiceDefaults.csproj")); 415var webAppProjectFile = new FileInfo(Path.Combine(webAppFolder.FullName, "UpdateTester.WebApp.csproj")); 418var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 421appHostProjectFile.FullName, 428var aspireConfigFile = new FileInfo(Path.Combine(appHostFolder.FullName, "aspire.config.json")); 430aspireConfigFile.FullName, 473if (projectFile.FullName == appHostProjectFile.FullName) 479itemsAndProperties.WithProjectReference(webAppProjectFile.FullName); 481else if (projectFile.FullName == webAppProjectFile.FullName) 484itemsAndProperties.WithProjectReference(serviceDefaultsProjectFile.FullName); 486else if (projectFile.FullName == serviceDefaultsProjectFile.FullName) 545Assert.Equal(appHostProjectFile.FullName, item.ProjectFile.FullName); 556Assert.Equal(appHostProjectFile.FullName, item.ProjectFile.FullName); 567Assert.Equal(webAppProjectFile.FullName, item.ProjectFile.FullName); 571var updatedConfig = await File.ReadAllTextAsync(aspireConfigFile.FullName); 582var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 585appHostProjectFile.FullName, 626if (projectFile.FullName == appHostProjectFile.FullName) 677Assert.Equal(appHostProjectFile.FullName, item.ProjectFile.FullName); 702var sharedProjectFile = new FileInfo(Path.Combine(sharedProjectFolder.FullName, "SharedProject.csproj")); 705var projectAFile = new FileInfo(Path.Combine(projectAFolder.FullName, "ProjectA.csproj")); 708var projectBFile = new FileInfo(Path.Combine(projectBFolder.FullName, "ProjectB.csproj")); 711var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "DiamondTest.AppHost.csproj")); 714appHostProjectFile.FullName, 746if (projectFile.FullName == appHostProjectFile.FullName) 751itemsAndProperties.WithProjectReference(projectAFile.FullName); 752itemsAndProperties.WithProjectReference(projectBFile.FullName); 754else if (projectFile.FullName == projectAFile.FullName) 759itemsAndProperties.WithProjectReference(sharedProjectFile.FullName); 761else if (projectFile.FullName == projectBFile.FullName) 766itemsAndProperties.WithProjectReference(sharedProjectFile.FullName); 768else if (projectFile.FullName == sharedProjectFile.FullName) 775throw new InvalidOperationException($"Unexpected project file: {projectFile.FullName}"); 815var sharedProjectUpdates = packagesAddsExecuted.Where(p => p.ProjectFile.FullName == sharedProjectFile.FullName).ToList(); 823var appHostUpdates = packagesAddsExecuted.Where(p => p.ProjectFile.FullName == appHostProjectFile.FullName).ToList(); 835var serviceDefaultsProjectFile = new FileInfo(Path.Combine(serviceDefaultsFolder.FullName, "UpdateTester.ServiceDefaults.csproj")); 838var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 840var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 844appHostProjectFile.FullName, 853serviceDefaultsProjectFile.FullName, 867directoryPackagesPropsFile.FullName, 907if (projectFile.FullName == appHostProjectFile.FullName) 910itemsAndProperties.WithProjectReference(serviceDefaultsProjectFile.FullName); 912else if (projectFile.FullName == serviceDefaultsProjectFile.FullName) 958var updatedContent = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 971var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 973var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 977appHostProjectFile.FullName, 989directoryPackagesPropsFile.FullName, 1063var updatedContent = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 1073var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1075var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 1079appHostProjectFile.FullName, 1091directoryPackagesPropsFile.FullName, 1166var content = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 1195var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1197var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 1202appHostProjectFile.FullName, 1217directoryPackagesPropsFile.FullName, 1253if (projectFile.FullName == appHostProjectFile.FullName) 1291var updatedContent = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 1306var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1309appHostProjectFile.FullName, 1371var updatedContent = await File.ReadAllTextAsync(appHostProjectFile.FullName); 1385var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1396await File.WriteAllTextAsync(appHostProjectFile.FullName, ProjectContent); 1445var unchangedContent = await File.ReadAllTextAsync(appHostProjectFile.FullName); 1462var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1463var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 1466appHostProjectFile.FullName, 1481directoryPackagesPropsFile.FullName, 1540var updatedProject = await File.ReadAllTextAsync(appHostProjectFile.FullName); 1541var updatedProps = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 1562Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"))); 1577var nugetConfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"); 1631Assert.True(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"))); 1637var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1640appHostProjectFile.FullName, 1774var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1776var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 1780appHostProjectFile.FullName, 1792directoryPackagesPropsFile.FullName, 1877var content = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 1887var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 1889var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 1893appHostProjectFile.FullName, 1906directoryPackagesPropsFile.FullName, 2000var content = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 2011var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2013var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 2017appHostProjectFile.FullName, 2029directoryPackagesPropsFile.FullName, 2125var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2127var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 2131appHostProjectFile.FullName, 2143directoryPackagesPropsFile.FullName, 2236var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2240appHostProjectFile.FullName, 2274if (projectFile.FullName == appHostProjectFile.FullName) 2330var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2332var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 2336appHostProjectFile.FullName, 2348directoryPackagesPropsFile.FullName, 2382if (projectFile.FullName == appHostProjectFile.FullName) 2432var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2436appHostProjectFile.FullName, 2466if (projectFile.FullName == appHostProjectFile.FullName) 2511var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2514appHostProjectFile.FullName, 2545if (projectFile.FullName == appHostProjectFile.FullName) 2593var appHostFile = new FileInfo(Path.Combine(appHostFolder.FullName, "apphost.cs")); 2597appHostFile.FullName, 2665var updatedContent = await File.ReadAllTextAsync(appHostFile.FullName); 2686var appHostFile = new FileInfo(Path.Combine(appHostFolder.FullName, "apphost.cs")); 2689appHostFile.FullName, 2760var updatedContent = await File.ReadAllTextAsync(appHostFile.FullName); 2780var appHostFile = new FileInfo(Path.Combine(appHostFolder.FullName, "apphost.cs")); 2783appHostFile.FullName, 2845var updatedContent = await File.ReadAllTextAsync(appHostFile.FullName); 2856var appHostFile = new FileInfo(Path.Combine(appHostFolder.FullName, "apphost.cs")); 2860appHostFile.FullName, 2928var updatedContent = await File.ReadAllTextAsync(appHostFile.FullName); 2938var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 2941appHostProjectFile.FullName, 3024var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3028appHostProjectFile.FullName, 3091var updatedContent = await File.ReadAllTextAsync(appHostProjectFile.FullName); 3102var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3106appHostProjectFile.FullName, 3170var updatedContent = await File.ReadAllTextAsync(appHostProjectFile.FullName); 3180var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3183appHostProjectFile.FullName, 3304var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3306var directoryPackagesPropsFile = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props")); 3310appHostProjectFile.FullName, 3327directoryPackagesPropsFile.FullName, 3416Assert.Equal(appHostProjectFile.FullName, packageUpdate.ProjectFile.FullName); 3419var directoryPackagesContent = await File.ReadAllTextAsync(directoryPackagesPropsFile.FullName); 3431var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3464var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3496var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3533var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3569var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3602var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3639var projectFile = Path.Combine(workspace.WorkspaceRoot.FullName, $"AppHost{projectExtension}"); 3657var directoryPackagesPropsFile = Path.Combine(workspace.WorkspaceRoot.FullName, "Directory.Packages.props"); 3710var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "Issue15891.AppHost.csproj")); 3713appHostProjectFile.FullName, 3749if (projectFile.FullName == appHostProjectFile.FullName) 3764throw new InvalidOperationException($"Unexpected project file: {projectFile.FullName}"); 3824var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3827appHostProjectFile.FullName, 3901var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3904appHostProjectFile.FullName, 3955var existingConfigFile = new FileInfo(Path.Combine(executionContext.WorkingDirectory.FullName, "nuget.config")); 3957existingConfigFile.FullName, 3980var updatedContent = await File.ReadAllTextAsync(existingConfigFile.FullName); 3991var appHostProjectFile = new FileInfo(Path.Combine(appHostFolder.FullName, "UpdateTester.AppHost.csproj")); 3994appHostProjectFile.FullName, 4057var content = await File.ReadAllTextAsync(createdConfig.FullName);
Projects\RunningInstanceManagerTests.cs (1)
42var socketPath = Path.Combine(socketDirectory.FullName, "a.sock");
Projects\TypeScriptAppHostToolchainResolverTests.cs (39)
18File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"packageManager\": \"bun@1.2.0\" }"); 29File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 30File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "pnpm-lock.yaml"), "lockfileVersion: '9.0'"); 41var packageJsonPath = Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"); 53File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"packageManager\": \"yarn@4.14.1\" }"); 64File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 65var yarnLockPath = Path.Combine(workspace.WorkspaceRoot.FullName, "yarn.lock"); 79File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 80File.WriteAllText(Path.Combine(parentDirectory.FullName, "package.json"), "{ \"name\": \"workspace\" }"); 81var yarnLockPath = Path.Combine(parentDirectory.FullName, "yarn.lock"); 95File.WriteAllText(Path.Combine(parentDirectory.FullName, "package.json"), "{ \"name\": \"workspace\" }"); 96File.WriteAllText(Path.Combine(parentDirectory.FullName, "yarn.lock"), string.Empty); 97File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 98File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package-lock.json"), "{}"); 103Assert.Equal($"package-lock.json found in {appHostDirectory.FullName}", resolution.Reason); 110File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 111File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package-lock.json"), "{}"); 112File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "yarn.lock"), string.Empty); 117Assert.Equal($"yarn.lock found in {workspace.WorkspaceRoot.FullName}", resolution.Reason); 124File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 125Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".yarn")); 136File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 147File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 148File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "yarn.lock"), string.Empty); 158Assert.Equal($"Selected TypeScript AppHost package manager 'yarn' because yarn.lock found in {workspace.WorkspaceRoot.FullName}.", write.Message); 167File.WriteAllText(Path.Combine(appHostDirectory.Parent!.FullName, "package.json"), "{ \"packageManager\": \"pnpm@10.12.1\" }"); 168File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 181File.WriteAllText(Path.Combine(appHostDirectory.Parent!.FullName, "package.json"), "{ \"packageManager\": \"pnpm@10.12.1\" }"); 182File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"packageManager\": \"bun@1.2.0\" }"); 187Assert.Equal($"packageManager 'bun@1.2.0' found in {Path.Combine(appHostDirectory.FullName, "package.json")}", resolution.Reason); 196File.WriteAllText(Path.Combine(appHostDirectory.Parent!.FullName, "package.json"), "{ \"packageManager\": \"yarn@4.14.1\" }"); 197File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"name\": \"apphost\" }"); 198File.WriteAllText(Path.Combine(appHostDirectory.FullName, "pnpm-lock.yaml"), "lockfileVersion: '9.0'"); 203Assert.Equal($"pnpm-lock.yaml found in {appHostDirectory.FullName}", resolution.Reason); 210File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"packageManager\": \"bun@1.2.0\" }"); 237homeDirectory: workspace.WorkspaceRoot.FullName); 250homeDirectory: InvertCasing(workspace.WorkspaceRoot.FullName)); 263homeDirectory: InvertCasing(workspace.WorkspaceRoot.FullName)); 276homeDirectory: InvertCasing(workspace.WorkspaceRoot.FullName));
Scaffolding\ChannelReseedTests.cs (2)
66var reloaded = AspireConfigFile.Load(workspace.WorkspaceRoot.FullName); 81var appHostServerProject = new CapturingAppHostServerProject(workspace.WorkspaceRoot.FullName);
Scaffolding\ScaffoldingServiceTests.cs (19)
36File.WriteAllText(Path.Combine(rootDirectory.FullName, "package.json"), "{}"); 41Path.Combine(rootDirectory.FullName, ScaffoldingService.BrownfieldTypeScriptAppHostDirectoryName), 42scaffoldDirectory.FullName); 59Assert.Equal(rootDirectory.FullName, scaffoldDirectory.FullName); 74File.WriteAllText(Path.Combine(rootDirectory.FullName, "package.json"), "{}"); 78Assert.Equal(rootDirectory.FullName, scaffoldDirectory.FullName); 140var appHostDirectory = Directory.CreateDirectory(Path.Combine(rootDirectory.FullName, ScaffoldingService.BrownfieldTypeScriptAppHostDirectoryName)); 141File.WriteAllText(Path.Combine(rootDirectory.FullName, "package.json"), "{ \"packageManager\": \"npm@10.0.0\" }"); 142File.WriteAllText(Path.Combine(appHostDirectory.FullName, "package.json"), "{ \"packageManager\": \"pnpm@10.0.0\" }"); 212var scaffoldDirectory = Directory.CreateDirectory(Path.Combine(rootDirectory.FullName, ScaffoldingService.BrownfieldTypeScriptAppHostDirectoryName)); 235File.WriteAllText(Path.Combine(rootDirectory.FullName, ".gitignore"), "node_modules/\n"); 236File.WriteAllText(Path.Combine(rootDirectory.FullName, "package.json"), "{}"); 237File.WriteAllText(Path.Combine(rootDirectory.FullName, "apphost.mts"), string.Empty); 240rootDirectory.FullName, 274Directory.CreateDirectory(Path.Combine(rootDirectory.FullName, ".vscode")); 275File.WriteAllText(Path.Combine(rootDirectory.FullName, ".vscode", "settings.json"), "{}"); 278rootDirectory.FullName,
Templating\DotNetTemplateFactoryTests.cs (17)
39var path = Path.Combine(dir.FullName, "nuget.config"); 64var nugetConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 96var nugetConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 109var outputDir = Directory.CreateDirectory(Path.Combine(workingDir.FullName, "MyProject")); 134var parentConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 140var outputConfigPath = Path.Combine(outputDir.FullName, "nuget.config"); 153var outputDir = Directory.CreateDirectory(Path.Combine(workingDir.FullName, "MyProject")); 176var outputConfigPath = Path.Combine(outputDir.FullName, "nuget.config"); 190var outputDir = Directory.CreateDirectory(Path.Combine(workingDir.FullName, "MyProject")); 203var workingConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 207var outputConfigPath = Path.Combine(outputDir.FullName, "nuget.config"); 220var outputDir = Directory.CreateDirectory(Path.Combine(workingDir.FullName, "MyProject")); 229var workingConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 230var outputConfigPath = Path.Combine(outputDir.FullName, "nuget.config"); 241var outputDir = Directory.CreateDirectory(Path.Combine(workingDir.FullName, "MyProject")); 250var workingConfigPath = Path.Combine(workingDir.FullName, "nuget.config"); 251var outputConfigPath = Path.Combine(outputDir.FullName, "nuget.config");
Templating\JavaStarterScaffoldTests.cs (1)
113return new ScaffoldedTemplate(workspace, Path.Combine(workspace.WorkspaceRoot.FullName, outputDirectoryName));
Templating\OutputPathHelperTests.cs (22)
15var result = OutputPathHelper.GetUniqueDefaultOutputPath("aspire-starter", workspace.WorkspaceRoot.FullName); 26var result = OutputPathHelper.GetUniqueDefaultOutputPath("aspire-starter", workspace.WorkspaceRoot.FullName); 36File.WriteAllText(Path.Combine(dir.FullName, "file.txt"), "content"); 38var result = OutputPathHelper.GetUniqueDefaultOutputPath("aspire-starter", workspace.WorkspaceRoot.FullName); 52File.WriteAllText(Path.Combine(dir.FullName, "file.txt"), "content"); 55var result = OutputPathHelper.GetUniqueDefaultOutputPath("aspire-starter", workspace.WorkspaceRoot.FullName); 67File.WriteAllText(Path.Combine(dir.FullName, "file.txt"), "content"); 70var result = OutputPathHelper.GetUniqueDefaultOutputPath("aspire-starter", workspace.WorkspaceRoot.FullName); 80var result = OutputPathHelper.GetUniqueDefaultOutputPath("my\0app", workspace.WorkspaceRoot.FullName); 90var result = OutputPathHelper.GetUniqueDefaultOutputPath("\0", workspace.WorkspaceRoot.FullName); 99var path = Path.Combine(workspace.WorkspaceRoot.FullName, "new-dir"); 101var result = OutputPathHelper.ValidateOutputPath(path, workspace.WorkspaceRoot.FullName); 112var result = OutputPathHelper.ValidateOutputPath(dir.FullName, workspace.WorkspaceRoot.FullName); 122File.WriteAllText(Path.Combine(dir.FullName, "file.txt"), "content"); 124var result = OutputPathHelper.ValidateOutputPath(dir.FullName, workspace.WorkspaceRoot.FullName); 127Assert.Contains(dir.FullName, result); 134var validator = OutputPathHelper.CreateOutputPathValidator(workspace.WorkspaceRoot.FullName); 147var validator = OutputPathHelper.CreateOutputPathValidator(workspace.WorkspaceRoot.FullName); 159File.WriteAllText(Path.Combine(dir.FullName, "file.txt"), "content"); 161var validator = OutputPathHelper.CreateOutputPathValidator(workspace.WorkspaceRoot.FullName);
Templating\TemplateNuGetConfigServiceTests.cs (59)
31Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"), 58Assert.True(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride, channelName: null, outputDirectory.FullName, CancellationToken.None)); 60var doc = XDocument.Load(Path.Combine(outputDirectory.FullName, "nuget.config")); 99Assert.True(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride, channelName: "daily", outputDirectory.FullName, CancellationToken.None)); 101var doc = XDocument.Load(Path.Combine(outputDirectory.FullName, "nuget.config")); 115Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"), 125Path.Combine(outputDirectory.FullName, "nuget.config"), 143Assert.True(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride, channelName: null, outputDirectory.FullName, CancellationToken.None)); 145var doc = XDocument.Load(Path.Combine(outputDirectory.FullName, "nuget.config")); 162Assert.False(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride: null, channelName: "daily", workspace.WorkspaceRoot.FullName, CancellationToken.None)); 163Assert.False(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride: "", channelName: "daily", workspace.WorkspaceRoot.FullName, CancellationToken.None)); 164Assert.False(await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride: " ", channelName: "daily", workspace.WorkspaceRoot.FullName, CancellationToken.None)); 177async () => await service.CreateOrUpdateNuGetConfigForSourceOverrideAsync(sourceOverride, channelName: null, workspace.WorkspaceRoot.FullName, CancellationToken.None)); 179Assert.False(File.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, "nuget.config"))); 189await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: null, outputPath: Directory.CreateTempSubdirectory().FullName, CancellationToken.None); 190await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: "", outputPath: Directory.CreateTempSubdirectory().FullName, CancellationToken.None); 191await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: " ", outputPath: Directory.CreateTempSubdirectory().FullName, CancellationToken.None); 204Assert.False(await service.CreateOrUpdateNuGetConfigWithoutPromptAsync(channelName: null, outputPath: dir.FullName, CancellationToken.None)); 205Assert.False(await service.CreateOrUpdateNuGetConfigWithoutPromptAsync(channelName: "", outputPath: dir.FullName, CancellationToken.None)); 206Assert.False(await service.CreateOrUpdateNuGetConfigWithoutPromptAsync(channelName: " ", outputPath: dir.FullName, CancellationToken.None)); 333var doc = XDocument.Load(nugetConfigFile.FullName); 392var doc = XDocument.Load(nugetConfigFile.FullName); 445packagesDirectory.FullName, 449Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), 452var sourceOverride = packagesDirectory.FullName.Replace('\\', '/'); 513var doc = XDocument.Load(nugetConfigFile.FullName); 589var hivesDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "hives")); 647File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), string.Empty); 648File.WriteAllText(Path.Combine(prPackagesDirectory.FullName, "Aspire.ProjectTemplates.13.6.0-dev.nupkg"), string.Empty); 682[new PackageMapping("Aspire*", prPackagesDirectory.FullName.Replace('\\', '/'))], 690[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 721File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), string.Empty); 722File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.6.0.nupkg"), string.Empty); 730[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 759packagesDirectory.FullName, 763Path.Combine(nestedDirectory.FullName, "Aspire.ProjectTemplates.13.6.0.nupkg"), 773[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 800File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.6.0-dev.nupkg"), string.Empty); 801File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.99.0.0.nupkg"), string.Empty); 809[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 836File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.99.0.0.nupkg"), string.Empty); 844[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 877File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.6.0-dev.nupkg"), string.Empty); 878File.WriteAllText(Path.Combine(packagesDirectory.FullName, "Aspire.ProjectTemplates.13.7.0-dev.nupkg"), string.Empty); 899[new PackageMapping("Aspire*", packagesDirectory.FullName.Replace('\\', '/'))], 978File.WriteAllText(Path.Combine(packagesDir.FullName, "Aspire.ProjectTemplates.13.5.0.nupkg"), string.Empty); 1000[new PackageMapping("Aspire*", packagesDir.FullName.Replace('\\', '/'))], 1030packagesDir.FullName, 1049[new PackageMapping("Aspire*", new Uri(packagesDir.FullName).AbsoluteUri)], 1120await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: "daily", outputDir.FullName, CancellationToken.None); 1123var configPath = Path.Combine(outputDir.FullName, "nuget.config"); 1158await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: "stable", outputDir.FullName, CancellationToken.None); 1161Assert.False(File.Exists(Path.Combine(outputDir.FullName, "nuget.config"))); 1172Path.Combine(outputDir.FullName, "nuget.config"), 1203await service.PromptToCreateOrUpdateNuGetConfigAsync(channelName: "stable", outputDir.FullName, CancellationToken.None); 1206var configPath = Path.Combine(outputDir.FullName, "nuget.config"); 1233Path.Combine(outputDir.FullName, "nuget.config"), 1260var result = await service.CreateOrUpdateNuGetConfigWithoutPromptAsync(channelName: "stable", outputDir.FullName, CancellationToken.None); 1262var configPath = Path.Combine(outputDir.FullName, "nuget.config");
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
TestServices\FakePlaywrightServices.cs (4)
63_bundleDirectory = new DirectoryInfo(Path.Combine(executionContext.WorkingDirectory.FullName, ".fake-aspire-skills-bundle")); 149var path = Path.Combine(_bundleDirectory.FullName, "skills", skillName, relativePath); 174await File.WriteAllTextAsync(Path.Combine(_bundleDirectory.FullName, "skill-manifest.json"), manifestJson, cancellationToken); 189Sha512 = ComputeSha512(Path.Combine(_bundleDirectory.FullName, "skills", skillName, entry.Key.RelativePath))
TestServices\TestAuxiliaryBackchannelMonitor.cs (1)
101.Where(c => IsAppHostInScopeOfDirectory(c.AppHostInfo?.AppHostPath, workingDirectory.FullName))
TestServices\TestCliDownloader.cs (1)
37var path = Path.Combine(_tempDirectory.FullName, filename);
TestServices\TestLanguageDiscovery.cs (2)
48directory.FullName, 65if (language.FindInDirectory(directory.FullName) is not null)
Utils\AppHostHelperTests.cs (33)
247var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 252var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(appHostPath, workspace.WorkspaceRoot.FullName); 263var sockets = BackchannelConstants.FindMatchingSockets(appHostPath, workspace.WorkspaceRoot.FullName); 275var legacyBackchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "backchannels"); 288var sockets = BackchannelConstants.FindMatchingSockets(appHostPath, workspace.WorkspaceRoot.FullName); 300var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 305var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(appHostPath, workspace.WorkspaceRoot.FullName); 316var sockets = BackchannelConstants.FindMatchingSockets(appHostPath, workspace.WorkspaceRoot.FullName); 326var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 335var sockets = BackchannelConstants.FindMatchingSockets(appHostPath, workspace.WorkspaceRoot.FullName); 344var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 349var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(appHostPath, workspace.WorkspaceRoot.FullName); 376var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 385var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(resolvedAppHostPath, workspace.WorkspaceRoot.FullName); 399workspace.WorkspaceRoot.FullName, 420var symlinkDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 421Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName); 427var prefix = AppHostHelper.ComputeAuxiliarySocketPrefix(canonicalProjectPath, workspace.WorkspaceRoot.FullName); 430var liveSocket = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch", $"{appHostId}a1b2C3d4.{currentPid}"); 436workspace.WorkspaceRoot.FullName, 450var homeDirectory = workspace.WorkspaceRoot.FullName; 457var symlinkDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 458Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName); 460var realProjectPath = Path.Combine(realDirectory.FullName, "TestAppHost.csproj"); 562var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 572var found = BackchannelConstants.FindMatchingSockets(mixedPath, workspace.WorkspaceRoot.FullName); 584var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "bch"); 594var upperPrefix = AppHostHelper.ComputeAuxiliarySocketPrefix(upperDrivePath, workspace.WorkspaceRoot.FullName); 595var lowerPrefix = AppHostHelper.ComputeAuxiliarySocketPrefix(lowerDrivePath, workspace.WorkspaceRoot.FullName); 604var fromUpper = BackchannelConstants.FindMatchingSockets(upperDrivePath, workspace.WorkspaceRoot.FullName); 605var fromLower = BackchannelConstants.FindMatchingSockets(lowerDrivePath, workspace.WorkspaceRoot.FullName); 620var backchannelsDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire", "cli", "backchannels"); 637var found = BackchannelConstants.FindMatchingSockets(appHostPath, workspace.WorkspaceRoot.FullName);
Utils\AspireRepositoryDetectorTests.cs (4)
43var nestedDirectory = Directory.CreateDirectory(Path.Combine(repoRoot, "src", "Project")).FullName; 72var nestedDirectory = Directory.CreateDirectory(Path.Combine(repoRoot, "playground", "polyglot")).FullName; 90var nestedDirectory = Directory.CreateDirectory(Path.Combine(repoRoot, "src", "Project")).FullName; 99var directory = Directory.CreateTempSubdirectory("aspire-repo-detector-tests-").FullName;
Utils\CliPathHelperTests.cs (15)
151var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire"); 164var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-pr-test"); 182var binaryPath = WriteBinaryWithSidecar(workspace.WorkspaceRoot.FullName, source); 193var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "portable"); 254var target = Path.Combine(workspace.WorkspaceRoot.FullName, "target-aspire"); 257var link = Path.Combine(workspace.WorkspaceRoot.FullName, "aspire"); 329var realPath = Path.Combine(workspace.WorkspaceRoot.FullName, "binary-under-test"); 345var realPath = Path.Combine(workspace.WorkspaceRoot.FullName, "binary-under-test"); 365var installPrefix = Path.Combine(workspace.WorkspaceRoot.FullName, "portable"); 397var staleFile = BackchannelConstants.ComputeCliSocketPath(tempRoot.FullName, "cli.sock"); 400var freshFile = BackchannelConstants.ComputeCliSocketPath(tempRoot.FullName, "cli.sock"); 426var matching = BackchannelConstants.ComputeCliSocketPath(tempRoot.FullName, "cli.sock"); 429var unrelated = BackchannelConstants.ComputeCliSocketPath(tempRoot.FullName, "apphost.sock"); 454var missingDir = probe.FullName; 468var deleted = CliPathHelper.CleanupStaleCliSockets(tempDir.FullName, TimeSpan.FromHours(24));
Utils\CliTestHelper.cs (4)
113var globalSettingsFilePath = Path.Combine(options.WorkingDirectory.FullName, ".aspire", "settings.global.json"); 125var testLogsDirectory = Path.Combine(options.WorkingDirectory.FullName, ".aspire", "logs"); 454var globalSettingsFilePath = Path.Combine(workingDirectory.FullName, ".aspire", "settings.global.json"); 657var tmpDirectory = new DirectoryInfo(Path.Combine(executionContext.WorkingDirectory.FullName, "tmp"));
Utils\CliTestHelperTests.cs (1)
19workspacePath = workspace.WorkspaceRoot.FullName;
Utils\CliUpdateNotificationServiceTests.cs (1)
219var toolPath = Path.Combine(workspace.CreateDirectory("install").FullName, "custom tool path");
Utils\DcpConnectionHealthCheckTests.cs (7)
47new FixedLayoutDiscovery(LayoutComponent.Dcp, dcpDirectory.FullName), 94() => checker.TestConnectionAsync(dcpDirectory.FullName, useDeveloperCertificate: false, cancellation.Token)); 112Assert.Equal(dcpDirectory.FullName, path); 118new FixedLayoutDiscovery(LayoutComponent.Dcp, dcpDirectory.FullName), 147new FixedLayoutDiscovery(LayoutComponent.Dcp, dcpDirectory.FullName), 189var kubeconfigPath = Path.Combine(workspace.WorkspaceRoot.FullName, "kubeconfig"); 249File.WriteAllText(BundleDiscovery.GetDcpExecutablePath(dcpDirectory.FullName), string.Empty);
Utils\DevCertsCheckTests.cs (52)
68var certUtilPath = Path.Combine(directory.FullName, CertificateHelpers.CertUtilCommand); 81? Path.Combine(directory.FullName, "openssl.cmd") 82: Path.Combine(directory.FullName, "openssl"); 116File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), certificatePem); 117File.WriteAllText(Path.Combine(trustDirectory.FullName, hashEntryName), certificatePem); 378["PATH"] = tempDirectory.FullName 406var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 424["PATH"] = tempDirectory.FullName, 425[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 450var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 468["PATH"] = tempDirectory.FullName, 469[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 501var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 519["PATH"] = tempDirectory.FullName, 520[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 556var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 557File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), certificate.ExportCertificatePem()); 574["PATH"] = tempDirectory.FullName, 575[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 606var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 607File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), certificate.ExportCertificatePem()); 624["PATH"] = tempDirectory.FullName, 625[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 665var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 666File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), certificate.ExportCertificatePem()); 683["PATH"] = tempDirectory.FullName, 684[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 722var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 723File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), certificate.ExportCertificatePem()); 740["PATH"] = tempDirectory.FullName, 741[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 764var trustDirectory = Path.Combine(tempDirectory.FullName, "missing-trust"); 781["PATH"] = tempDirectory.FullName, 808var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 825["PATH"] = tempDirectory.FullName, 826[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 852var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 854File.WriteAllText(Path.Combine(trustDirectory.FullName, corruptCertificateFileName), "not a certificate"); 871["PATH"] = tempDirectory.FullName, 872[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 898var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 900File.WriteAllText(Path.Combine(trustDirectory.FullName, corruptCertificateFileName), "not a certificate"); 917["PATH"] = tempDirectory.FullName, 918[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 944var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 946File.WriteAllText(Path.Combine(trustDirectory.FullName, "unrelated.pem"), "not a certificate"); 963["PATH"] = tempDirectory.FullName, 964[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName 988var trustDirectory = Directory.CreateDirectory(Path.Combine(tempDirectory.FullName, "trust")); 989File.WriteAllText(Path.Combine(trustDirectory.FullName, GetOpenSslCertificateFileName(certificate)), staleCertificate.ExportCertificatePem()); 1006["PATH"] = tempDirectory.FullName, 1007[CertificateHelpers.DevCertsOpenSslCertDirEnvVar] = trustDirectory.FullName
Utils\FileSystemHelperTests.cs (35)
16var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 19File.WriteAllText(Path.Combine(sourceDir.FullName, "file1.txt"), "content1"); 20File.WriteAllText(Path.Combine(sourceDir.FullName, "file2.txt"), "content2"); 21File.WriteAllText(Path.Combine(sourceDir.FullName, "file3.cs"), "using System;"); 24FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir); 43var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 49File.WriteAllText(Path.Combine(sourceDir.FullName, "root.txt"), "root content"); 50File.WriteAllText(Path.Combine(subDir1.FullName, "level1.txt"), "level 1 content"); 51File.WriteAllText(Path.Combine(subDir2.FullName, "level2.txt"), "level 2 content"); 54FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir); 75var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "empty_destination"); 78FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir); 91var nonExistentSource = Path.Combine(workspace.WorkspaceRoot.FullName, "nonexistent"); 92var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 104var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 120FileSystemHelper.CopyDirectory(sourceDir.FullName, null!)); 128var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 144FileSystemHelper.CopyDirectory(sourceDir.FullName, string.Empty)); 153var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 156var binaryFilePath = Path.Combine(sourceDir.FullName, "binary.dat"); 162FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir); 178var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 185File.WriteAllText(Path.Combine(current.FullName, $"file{i}.txt"), $"content at level {i}"); 189FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir); 209var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 212File.WriteAllText(Path.Combine(sourceDir.FullName, "file1.txt"), "new content 1"); 213File.WriteAllText(Path.Combine(sourceDir.FullName, "file2.txt"), "new content 2"); 216File.WriteAllText(Path.Combine(subDir.FullName, "project.assets.json"), "new assets"); 217File.WriteAllText(Path.Combine(subDir.FullName, "project.csproj.nuget.dgspec.json"), "new dgspec"); 225File.WriteAllText(Path.Combine(destSubDir.FullName, "project.assets.json"), "old assets"); 226File.WriteAllText(Path.Combine(destSubDir.FullName, "project.csproj.nuget.dgspec.json"), "old dgspec"); 229FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir, overwrite: true); 244var destDir = Path.Combine(workspace.WorkspaceRoot.FullName, "destination"); 247File.WriteAllText(Path.Combine(sourceDir.FullName, "file1.txt"), "new content"); 255FileSystemHelper.CopyDirectory(sourceDir.FullName, destDir, overwrite: false));
Utils\FirstTimeUseNoticeSentinelTests.cs (8)
15var sentinel = new FirstTimeUseNoticeSentinel(workspace.WorkspaceRoot.FullName); 29var cliDir = Path.Combine(workspace.WorkspaceRoot.FullName, "cli"); 33var sentinel = new FirstTimeUseNoticeSentinel(workspace.WorkspaceRoot.FullName); 47var sentinel = new FirstTimeUseNoticeSentinel(workspace.WorkspaceRoot.FullName); 53var sentinelFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "cli", "cli.firstUseSentinel"); 62var cliDir = Path.Combine(workspace.WorkspaceRoot.FullName, "cli"); 66var sentinel = new FirstTimeUseNoticeSentinel(workspace.WorkspaceRoot.FullName); 81var nonExistentDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "non-existent-dir");
Utils\LegacySettingsFileCheckTests.cs (13)
15var legacyDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 21var subDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "src")); 43Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 60var legacyDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 64Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 83Path.Combine(workspace.WorkspaceRoot.FullName, AspireConfigFile.FileName), 88var subDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "src")); 105var legacyDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 111var subDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "src", "MyProject")); 131var legacyDir = Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"); 136var childDir = new DirectoryInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "project")); 139Path.Combine(childDir.FullName, AspireConfigFile.FileName), 143var workingDir = new DirectoryInfo(Path.Combine(childDir.FullName, "src"));
Utils\MissingJavaScriptToolWarningTests.cs (1)
51File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "package.json"), "{ \"packageManager\": \"bun@1.2.0\" }");
Utils\PathNormalizerTests.cs (15)
19var file = new FileInfo(Path.Combine(subdir.FullName, "app.csproj")); 20File.WriteAllText(file.FullName, "<Project />"); 22var firstPass = PathNormalizer.ResolveSymlinks(file.FullName); 39var target = new FileInfo(Path.Combine(workspace.WorkspaceRoot.FullName, "target.csproj")); 40File.WriteAllText(target.FullName, "<Project />"); 42var linkPath = Path.Combine(workspace.WorkspaceRoot.FullName, "link.csproj"); 43TryCreateSymlink(linkPath, target.FullName, isDirectory: false); 50Assert.Equal(PathNormalizer.ResolveSymlinks(target.FullName), resolved); 64var file = new FileInfo(Path.Combine(nested.FullName, "app.csproj")); 65File.WriteAllText(file.FullName, "<Project />"); 67var linkDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "link"); 68TryCreateSymlink(linkDirectory, realDirectory.FullName, isDirectory: true); 75var resolvedThroughReal = PathNormalizer.ResolveSymlinks(file.FullName); 85var missingTarget = Path.Combine(workspace.WorkspaceRoot.FullName, "missing.csproj"); 86var linkPath = Path.Combine(workspace.WorkspaceRoot.FullName, "broken-link.csproj");
Utils\ReparsePointTests.cs (16)
14var root = workspace.WorkspaceRoot.FullName; 41var root = workspace.WorkspaceRoot.FullName; 75var root = workspace.WorkspaceRoot.FullName; 97var dir = Path.Combine(workspace.WorkspaceRoot.FullName, "plain"); 107Assert.False(ReparsePoint.IsReparsePoint(Path.Combine(workspace.WorkspaceRoot.FullName, "nope"))); 114var root = workspace.WorkspaceRoot.FullName; 134var dir = Path.Combine(workspace.WorkspaceRoot.FullName, "plain"); 147ReparsePoint.RemoveIfExists(Path.Combine(workspace.WorkspaceRoot.FullName, "missing")); 154var root = workspace.WorkspaceRoot.FullName; 168var root = workspace.WorkspaceRoot.FullName; 208var root = workspace.WorkspaceRoot.FullName; 239var root = workspace.WorkspaceRoot.FullName; 278var root = workspace.WorkspaceRoot.FullName; 302var root = workspace.WorkspaceRoot.FullName; 346var root = workspace.WorkspaceRoot.FullName; 399var root = workspace.WorkspaceRoot.FullName;
Utils\TemporaryWorkspaceTests.cs (2)
12var workspacePath = workspace.WorkspaceRoot.FullName; 28var workspacePath = workspace.WorkspaceRoot.FullName;
Utils\TestExecutionContextHelper.cs (2)
60var root = rootDirectory.FullName; 66logFilePath ??= Path.Combine(logsDirectory.FullName, "test.log");
Aspire.Dashboard (2)
ServiceClient\DashboardRunStore.cs (2)
121_temporaryDirectory = Directory.CreateTempSubdirectory(TemporaryDirectoryPrefix).FullName; 196var temporaryRoot = Directory.GetParent(RunDirectory)!.FullName;
Aspire.Dashboard.Components.Tests (13)
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Dashboard.Tests (34)
BlazorAssetsTests.cs (2)
29while (directory is not null && !File.Exists(Path.Combine(directory.FullName, "Aspire.slnx"))) 35return directory.FullName;
Integration\StartupTests.cs (8)
213var configFilePath = Path.Combine(tempDirectory.FullName, Path.GetRandomFileName()); 228Directory.Delete(tempDirectory.FullName, recursive: true); 244.AddInMemoryCollection(new Dictionary<string, string?> { [dashboardFileConfigDirectoryNameKey] = fileConfigDirectory.FullName }) 279.AddInMemoryCollection(new Dictionary<string, string?> { [DashboardConfigNames.DashboardFileConfigDirectoryName.ConfigKey] = fileConfigDirectory.FullName }) 317var fileConfigDirectory = Directory.CreateTempSubdirectory().FullName; 635var configFilePath = Path.Combine(tempDirectory.FullName, Path.GetRandomFileName()); 671Directory.Delete(tempDirectory.FullName, recursive: true); 1145var browserTokenConfigFile = Path.Combine(fileConfigDirectory.FullName, DashboardConfigNames.DashboardFrontendBrowserTokenName.EnvVarName);
Model\DashboardDataSourceTests.cs (4)
39Assert.Equal(expectedRunsDirectory, Directory.GetParent(runStore.RunDirectory)!.FullName); 211$"Dashboard run discovery completed in directory '{Directory.GetParent(runStore.RunDirectory)!.FullName}'. Run count: 1. Run IDs: {runStore.RunId}.", 296var abandonedDirectory = Directory.CreateTempSubdirectory("aspire-dashboard-").FullName; 333var otherDirectory = Directory.CreateTempSubdirectory("unrelated-").FullName;
Model\ResourceMenuBuilderTests.cs (1)
49var runStore = new TestDashboardRunStore(databasePath: Path.Combine(temporaryDirectory.FullName, "dashboard.db"));
Model\TelemetryExportServiceTests.cs (1)
1269var runStore = new TestDashboardRunStore(databasePath: Path.Combine(temporaryDirectory.FullName, "dashboard.db"));
Shared\SqliteRepositoryTestHelpers.cs (1)
42Path.Combine(temporaryDirectory.FullName, "dashboard.db"),
TelemetryRepositoryTests\TelemetryRepositoryTestBase.cs (1)
42var temporaryDirectory = Directory.CreateTempSubdirectory("aspire-tests-dashboard-telemetry-").FullName;
tests\Shared\Playwright\PlaywrightProvider.cs (1)
55var probePath = Path.Combine(repoRoot.FullName, "artifacts", "bin", "playwright-deps");
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Deployment.EndToEnd.Tests (147)
AcaCompactNamingDeploymentTests.cs (4)
75output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 105var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 229output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 253var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AcaCompactNamingUpgradeDeploymentTests.cs (2)
73output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 221var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AcaCustomRegistryDeploymentTests.cs (2)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 104var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AcaDeploymentErrorOutputTests.cs (3)
60var deployOutputFile = Path.Combine(workspace.WorkspaceRoot.FullName, "deploy-output.txt"); 65output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 94var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AcaExistingRegistryDeploymentTests.cs (2)
74output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 132var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AcaManagedRedisDeploymentTests.cs (2)
63output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 71var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AcaStarterDeploymentTests.cs (2)
63output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 101var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AcrPurgeTaskDeploymentTests.cs (3)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 107var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 159var projectDir2 = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksAzureKubernetesEnvironmentCertManagerDeploymentTests.cs (2)
76output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 109var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksAzureKubernetesEnvironmentCertManagerTypeScriptDeploymentTests.cs (2)
78output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 130var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksAzureKubernetesEnvironmentGatewayDeploymentTests.cs (2)
66output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 108var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksBlazorRedisDeploymentTests.cs (2)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 98var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksMultipleNodePoolsDeploymentTests.cs (2)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 98var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksPersistentVolumeDeploymentTests.cs (1)
75var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksStarterDeploymentTests.cs (2)
70output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 179var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksStarterWithRedisHelmDeploymentTests.cs (2)
72output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 179var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksVnetInfraDeploymentTests.cs (2)
57output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 93var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AksVnetWithAzureResourcesDeploymentTests.cs (3)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 123var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 178var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksWithAzureResourcesDeploymentTests.cs (3)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 121var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 164var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AksWithHelmChartDeploymentTests.cs (2)
67output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 102var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AppServicePythonDeploymentTests.cs (2)
64output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 111var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AppServiceReactDeploymentTests.cs (2)
64output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 108var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AppServiceStoragePrivateEndpointDeploymentTests.cs (2)
56output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 99var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AzureAppConfigDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 101var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureContainerRegistryDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 87var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureEventHubsDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 101var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureKeyVaultDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 101var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureLogAnalyticsDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 87var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureResourceScopeDeploymentTests.cs (2)
60output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 86var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureRoleAssignmentRunModeTests.cs (4)
69output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 93var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 112var validateScriptPath = Path.Combine(workspace.WorkspaceRoot.FullName, "validate-role-assignment.py"); 221await DeploymentE2ETestHelpers.StopAppHostAsync(workspace.WorkspaceRoot.FullName, output.WriteLine);
AzureSandboxesDeploymentTests.cs (10)
62var firstDeployOutputFile = Path.Combine(workspace.WorkspaceRoot.FullName, "first-deploy-output.txt"); 63var secondDeployOutputFile = Path.Combine(workspace.WorkspaceRoot.FullName, "second-deploy-output.txt"); 64var firstUrlFile = Path.Combine(workspace.WorkspaceRoot.FullName, "first-url.txt"); 65var secondUrlFile = Path.Combine(workspace.WorkspaceRoot.FullName, "second-url.txt"); 66var stateMarkerFile = Path.Combine(workspace.WorkspaceRoot.FullName, "state-marker"); 71output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 233var siteDir = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "site")); 234File.WriteAllText(Path.Combine(siteDir.FullName, "Dockerfile"), """ 239File.WriteAllText(Path.Combine(siteDir.FullName, "index.html"), $$""" 247File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), """
AzureServiceBusDeploymentTests.cs (2)
58output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 102var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
AzureStorageDeploymentTests.cs (4)
69output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 113var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 225output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 258var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
AzureStorageRunModeTests.cs (4)
57output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 82var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs"); 96var validateScriptPath = Path.Combine(workspace.WorkspaceRoot.FullName, "validate-get-resource.py"); 201await DeploymentE2ETestHelpers.StopAppHostAsync(workspace.WorkspaceRoot.FullName, output.WriteLine);
FoundryHostedAgentDeploymentTests.cs (2)
64output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 102var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
FrontDoorDeploymentTests.cs (2)
62output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 110var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
Helpers\DeploymentE2EAutomatorHelpers.cs (1)
22await auto.PrepareBashEnvironmentAsync(workspace.WorkspaceRoot.FullName, counter, TimeSpan.FromSeconds(10));
KubernetesGatewayTlsDeploymentTests.cs (2)
78output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 261var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
KubernetesHelmChartDeploymentTests.cs (2)
73output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 149var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
NspStorageKeyVaultDeploymentTests.cs (3)
61output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 129var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 191var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
PythonFastApiDeploymentTests.cs (2)
64output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 113var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
RadiusAzureResourcesDeploymentTests.cs (1)
72workspace.WorkspaceRoot.FullName,
RadiusStarterDeploymentTests.cs (3)
92output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 107var wsRoot = workspace.WorkspaceRoot.FullName; 325var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
TypeScriptAzureContainerAppJobDeploymentTests.cs (2)
53output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 126File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), """
TypeScriptExpressDeploymentTests.cs (2)
60output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 107var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
TypeScriptJavaScriptHostingDeploymentTests.cs (8)
53output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 123var apiDir = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "api")); 124File.WriteAllText(Path.Combine(apiDir.FullName, "package.json"), """ 134File.WriteAllText(Path.Combine(apiDir.FullName, "server.js"), """ 144var staticSiteDir = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "staticsite")); 145File.WriteAllText(Path.Combine(staticSiteDir.FullName, "package.json"), """ 155File.WriteAllText(Path.Combine(staticSiteDir.FullName, "index.html"), """ 168File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts"), """
TypeScriptVnetSqlServerInfraDeploymentTests.cs (2)
57output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 178var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.mts");
VnetKeyVaultConnectivityDeploymentTests.cs (3)
59output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 113var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 155var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
VnetKeyVaultInfraDeploymentTests.cs (2)
56output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 99var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
VnetSqlServerConnectivityDeploymentTests.cs (3)
64output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 118var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 161var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
VnetSqlServerInfraDeploymentTests.cs (2)
56output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 99var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
VnetStorageBlobConnectivityDeploymentTests.cs (3)
59output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 115var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName); 160var projectDir = Path.Combine(workspace.WorkspaceRoot.FullName, projectName);
VnetStorageBlobInfraDeploymentTests.cs (2)
56output.WriteLine($"Workspace: {workspace.WorkspaceRoot.FullName}"); 100var appHostFilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "apphost.cs");
Aspire.EndToEnd.Tests (6)
IntegrationServicesFixture.cs (1)
56_testProjectPath = Path.Combine(BuildEnvironment.RepoRoot.FullName, "tests", "testproject");
tests\Shared\Playwright\PlaywrightProvider.cs (1)
55var probePath = Path.Combine(repoRoot.FullName, "artifacts", "bin", "playwright-deps");
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
tests\Shared\TemplatesTesting\BuildEnvironment.cs (2)
82var sdkFromArtifactsPath = Path.Combine(RepoRoot!.FullName, "artifacts", "bin", sdkDirName); 114BuiltNuGetsPath = Path.Combine(RepoRoot.FullName, "artifacts", "packages", "Debug", "Shipping");
Aspire.Hosting (12)
Dcp\ContainerCreator.cs (1)
957FileInfo filePath => filePath.FullName,
Dcp\KubernetesService.cs (1)
635var kubeconfigStream = new FileStream(fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
Publishing\ManifestPublisher.cs (2)
49if (!Directory.Exists(parentDirectory!.FullName)) 52Directory.CreateDirectory(parentDirectory.FullName);
Publishing\ManifestPublishingContext.cs (1)
436FileInfo fileValue => GetManifestRelativePath(fileValue.FullName),
Publishing\ManifestPublishingExtensions.cs (2)
58if (!Directory.Exists(parentDirectory!.FullName)) 61Directory.CreateDirectory(parentDirectory.FullName);
Publishing\ResourceContainerImageManager.cs (1)
526FileInfo filePath => filePath.FullName,
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Utils\FileSystemService.cs (2)
142var path = Directory.CreateTempSubdirectory(prefix ?? "aspire").FullName; 160var tempDir = Directory.CreateTempSubdirectory("aspire").FullName;
Aspire.Hosting.Azure (4)
AzureBicepResource.cs (1)
169? Path.Combine(directory ?? Directory.CreateTempSubdirectory("aspire").FullName, $"{Name.ToLowerInvariant()}.module.bicep")
AzureProvisioningResource.cs (1)
87var generationPath = Directory.CreateTempSubdirectory("aspire").FullName;
AzurePublishingContext.cs (2)
169var modulePath = Path.Combine(moduleDirectory.FullName, $"{resource.Name}.bicep"); 421var modulePath = Path.Combine(moduleDirectory.FullName, $"{resource.Name}.bicep");
Aspire.Hosting.Azure.Tests (26)
AzureAppServiceTests.cs (2)
437File.WriteAllText(Path.Combine(directory.FullName, "Dockerfile"), ""); 439builder.AddDockerfile("api", directory.FullName)
AzureContainerAppsTests.cs (2)
68File.WriteAllText(Path.Combine(directory.FullName, "Dockerfile"), ""); 70builder.AddDockerfile("api", directory.FullName);
AzureEnvironmentResourceTests.cs (14)
21output.WriteLine($"Temp directory: {workspace.FullName}"); 22using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, workspace.FullName); 34var mainBicepPath = Path.Combine(workspace.FullName, "main.bicep"); 38var envBicepPath = Path.Combine(workspace.FullName, "env", "env.bicep"); 53output.WriteLine($"Temp directory: {workspace.FullName}"); 54using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, workspace.FullName); 71var mainBicepPath = Path.Combine(workspace.FullName, "main.bicep"); 85output.WriteLine($"Temp directory: {workspace.FullName}"); 87workspace.FullName); 122var mainBicepPath = Path.Combine(workspace.FullName, "main.bicep"); 133output.WriteLine($"Temp directory: {workspace.FullName}"); 135workspace.FullName); 170var mainBicep = File.ReadAllText(Path.Combine(workspace.FullName, "main.bicep")); 171var storageBicep = File.ReadAllText(Path.Combine(workspace.FullName, "storage", "storage.bicep"));
AzureManifestUtils.cs (1)
31string manifestDir = Directory.CreateTempSubdirectory(resource.Name).FullName;
AzureResourceOptionsTests.cs (4)
25var outputPath = Path.Combine(tempDir.FullName, "aspire-manifest.json"); 45var sbBicep = await File.ReadAllTextAsync(Path.Combine(tempDir.FullName, "sb.module.bicep")); 47var sqlBicep = await File.ReadAllTextAsync(Path.Combine(tempDir.FullName, "sql-server.module.bicep")); 59output.WriteLine($"Failed to delete {tempDir.FullName} : {ex.Message}. Ignoring.");
AzureSandboxesTests.cs (3)
2723var firstManager = new TestDeploymentStateManager(Path.Combine(tempDirectory.FullName, "legacy", "state.json")); 2724var secondManager = new TestDeploymentStateManager(Path.Combine(tempDirectory.FullName, "canonical", "state.json")); 2835Path = Directory.CreateTempSubdirectory(".aspire-test").FullName;
Aspire.Hosting.Blazor.Tests (7)
BlazorHostedExtensionsTests.cs (2)
569var serverProjectPath = Path.Combine(serverDirectory.FullName, "Server.csproj"); 570var clientProjectPath = Path.Combine(clientDirectory.FullName, "Client.csproj");
tests\Shared\TestFileSystemService.cs (5)
27_directories.Add(dir.FullName); 28return new TestTempDirectory(dir.FullName); 34_directories.Add(tempDir.FullName); 36var filePath = System.IO.Path.Combine(tempDir.FullName, resolvedName); 38return new TestTempFile(filePath, tempDir.FullName);
Aspire.Hosting.Browsers.Tests (33)
BrowserHostTests.cs (6)
23var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 25var devToolsActivePortPath = Path.Combine(userDataDirectory.FullName, "DevToolsActivePort"); 28var identity = new BrowserHostIdentity(browserExecutable, userDataDirectory.FullName); 41BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, profileDirectoryName: "Profile 1"), 58Assert.False(File.Exists(BrowserEndpointDiscovery.GetEndpointMetadataFilePath(userDataDirectory.FullName))); 61Assert.Contains($"--user-data-dir={userDataDirectory.FullName}", capturedArguments);
BrowserLogsBuilderExtensionsTests.cs (3)
859new BrowserLogsArtifactWriter(sp.GetRequiredService<TimeProvider>(), () => artifactDirectory.FullName), 896Assert.StartsWith(artifactDirectory.FullName, path, StringComparison.OrdinalIgnoreCase); 1021var tempBrowserPath = Path.Combine(tempDirectory.FullName, OperatingSystem.IsWindows() ? "tracked-browser.exe" : "tracked-browser");
BrowserLogsRunningSessionTests.cs (2)
23var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 31createUserDataDirectory: (configuration, _) => BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, configuration.Profile),
BrowserLogsSessionManagerTests.cs (22)
64var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 71createUserDataDirectory: (configuration, _) => BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, configuration.Profile), 104var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 111createUserDataDirectory: (configuration, _) => BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, configuration.Profile), 139var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 145createUserDataDirectory: (configuration, _) => BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, configuration.Profile), 173var browserExecutable = Path.Combine(userDataDirectory.FullName, "browser"); 175var identity = new BrowserHostIdentity(browserExecutable, userDataDirectory.FullName); 189createUserDataDirectory: (configuration, _) => BrowserLogsUserDataDirectory.CreatePersistent(userDataDirectory.FullName, configuration.Profile), 259Path.Combine(userDataDirectory.FullName, "browser"), 260userDataDirectory.FullName); 261var metadataPath = BrowserEndpointDiscovery.GetEndpointMetadataFilePath(userDataDirectory.FullName); 289Path.Combine(userDataDirectory.FullName, "bröwser"), 290userDataDirectory.FullName); 291var metadataPath = BrowserEndpointDiscovery.GetEndpointMetadataFilePath(userDataDirectory.FullName); 319Path.Combine(userDataDirectory.FullName, "browser"), 320userDataDirectory.FullName); 321var metadataPath = BrowserEndpointDiscovery.GetEndpointMetadataFilePath(userDataDirectory.FullName); 330"userDataRootPath": {{System.Text.Json.JsonSerializer.Serialize(userDataDirectory.FullName)}} 352Path.Combine(userDataDirectory.FullName, "browser"), 353userDataDirectory.FullName); 567action(userDataDirectory.FullName);
Aspire.Hosting.CodeGeneration.Java.Tests (2)
JavaLanguageSupportDetectionTests.cs (2)
48File.WriteAllText(Path.Combine(nested.FullName, "AppHost.java"), "void main(String[] args) { }"); 86public string Path => _directory.FullName;
Aspire.Hosting.CodeGeneration.Rust.Tests (13)
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Hosting.CodeGeneration.TypeScript (1)
TypeScriptLanguageSupport.cs (1)
180File.Exists(Path.Combine(parent.FullName, PackageJsonFileName));
Aspire.Hosting.CodeGeneration.TypeScript.Tests (14)
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
TypeScriptLanguageSupportTests.cs (1)
141TargetPath = appHostDirectory.FullName,
Aspire.Hosting.Containers.Tests (7)
DockerSocketBindMountTests.cs (4)
24var dockerFilePath = Path.Combine(contextDir.FullName, "Dockerfile"); 29appBuilder.AddDockerfile("docker-client", contextPath: contextDir.FullName) 31.WithBindMount(outDir.FullName, "/out"); 48var infoFile = Path.Combine(outDir.FullName, "docker-info.txt");
WithDockerfileTests.cs (3)
915var manifestPath = Path.Combine(tempDir.FullName, "manifest.json"); 924.WithDockerfileFactory(tempDir.FullName, context => dockerfileContent); 930var dockerfilePath = Path.Combine(tempDir.FullName, "testcontainer.Dockerfile");
Aspire.Hosting.Dotnet (2)
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Aspire.Hosting.Dotnet.Tests (17)
DotnetProjectResourceTests.cs (17)
433var projectPath = Path.Combine(projectDir.FullName, "MyService.csproj"); 437var app = builder.AddDotnetProject("svc", projectDir.FullName, o => o.ExcludeLaunchProfile = true); 451File.WriteAllText(Path.Combine(projectDir.FullName, "First.csproj"), "<Project />"); 452File.WriteAllText(Path.Combine(projectDir.FullName, "Second.csproj"), "<Project />"); 455var app = builder.AddDotnetProject("svc", projectDir.FullName, o => o.ExcludeLaunchProfile = true); 458Assert.Equal(projectDir.FullName, metadata.ProjectPath); 477var projectPath = Path.Combine(projectDir.FullName, "MyService.csproj"); 480var propertiesDir = Directory.CreateDirectory(Path.Combine(projectDir.FullName, "Properties")); 481await File.WriteAllTextAsync(Path.Combine(propertiesDir.FullName, "launchSettings.json"), """ 564var projectPath = Path.Combine(projectDir.FullName, "MyService.csproj"); 567var propertiesDir = Directory.CreateDirectory(Path.Combine(projectDir.FullName, "Properties")); 568await File.WriteAllTextAsync(Path.Combine(propertiesDir.FullName, "launchSettings.json"), """ 634var projectPath = Path.Combine(projectDir.FullName, "MyService.csproj"); 637var propertiesDir = Directory.CreateDirectory(Path.Combine(projectDir.FullName, "Properties")); 638await File.WriteAllTextAsync(Path.Combine(propertiesDir.FullName, "launchSettings.json"), """ 932CreateFile(projectDirectory.FullName, "MyService.csproj"); 933return projectDirectory.FullName;
Aspire.Hosting.Garnet.Tests (1)
GarnetFunctionalTests.cs (1)
129bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Go.Tests (63)
AddGoAppTests.cs (63)
88File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 90using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 91builder.AddGoApp("api", sourceDir.FullName, packagePath: "./cmd/server"); 95var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 509var packageDirectory = Path.Combine(sourceDir.FullName, "cmd", "server"); 511var app = builder.AddGoApp("api", sourceDir.FullName, 522Assert.Equal(sourceDir.FullName, launchConfig.WorkingDirectory); 533var app = builder.AddGoApp("api", sourceDir.FullName); 559var app = builder.AddGoApp("api", sourceDir.FullName, 596var app = builder.AddGoApp("api", sourceDir.FullName, packagePath: "./cmd/server") 626var app = builder.AddGoApp("api", sourceDir.FullName, 779File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.23\n"); 780File.WriteAllText(Path.Combine(sourceDir.FullName, "main.go"), "package main\nfunc main() {}"); 782using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 783builder.AddGoApp("api", sourceDir.FullName); 787var dockerfilePath = Path.Combine(outputDir.FullName, "api.Dockerfile"); 802using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 803builder.AddGoApp("api", sourceDir.FullName); 807var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 819File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.22\n"); 821using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 822builder.AddGoApp("api", sourceDir.FullName, 829var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 841File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 846using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 847builder.AddGoApp("api", sourceDir.FullName, ldFlags: "-X main.msg=it's alive"); 851var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 864File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch"); 866using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 867var app = builder.AddGoApp("api", sourceDir.FullName); 880File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.22\n"); 882using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 883builder.AddGoApp("api", sourceDir.FullName) 888var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 902File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 904using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 905builder.AddGoApp("api", sourceDir.FullName) 910var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 922File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 924using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 925builder.AddGoApp("api", sourceDir.FullName) 930var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 954DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 978File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 981DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 990var api = builder.AddGoApp("api", sourceDir.FullName); 995var dockerfile = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 1012File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 1015DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1029var api = builder.AddGoApp("api", sourceDir.FullName); 1035var dockerfile = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 1080File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 1082using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1083builder.AddGoApp("api", sourceDir.FullName, raceDetector: true); 1087var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 1154File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 1156using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1157builder.AddGoApp("api", sourceDir.FullName); 1161var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile")); 1173File.WriteAllText(Path.Combine(sourceDir.FullName, "go.mod"), "module example.com/api\n\ngo 1.24\n"); 1175using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1176builder.AddGoApp("api", sourceDir.FullName) 1181var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"));
Aspire.Hosting.Java (6)
JavaBuildToolResolver.cs (4)
86var candidate = Path.Combine(directory.FullName, wrapperName); 87var isApplicationDirectory = directory.FullName == appDirectory; 91|| (IsBuildRoot(directory.FullName, tool) 99var gitPath = Path.Combine(directory.FullName, ".git");
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Aspire.Hosting.Java.Tests (113)
AddJavaAppPublishTests.cs (103)
234File.WriteAllText(Path.Combine(sourceDir.FullName, "build.gradle"), ""); 240var app = builder.AddJavaApp("api", sourceDir.FullName, "build/libs/api.jar"); 243() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 409WritePom(sourceDir.FullName, javaVersion: "21"); 410File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch\n"); 412using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 413builder.AddJavaApp("api", sourceDir.FullName).WithMavenGoal("spring-boot:run"); 416Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 430WritePom(sourceDir.FullName, javaVersion: "21"); 431File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch\n"); 433using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 434builder.AddJavaApp("api", sourceDir.FullName) 446$"'{sourceDir.FullName}' and its OpenTelemetry agent path 'target/otel/javaagent.jar' is " + 461WritePom(sourceDir.FullName, javaVersion: "21"); 462File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch\n"); 464using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 465builder.AddJavaApp("api", sourceDir.FullName) 485WritePom(sourceDir.FullName, javaVersion: "21"); 487using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 488builder.AddJavaApp("api", sourceDir.FullName) 494var manifest = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "aspire-manifest.json"), TestContext.Current.CancellationToken); 835WritePom(sourceDir.FullName, javaVersion: "21"); 839builder.AddJavaApp("worker", sourceDir.FullName, "target/worker.jar", ["--interval-seconds", "10"]) 863File.WriteAllText(Path.Combine(sourceDir.FullName, "pom.xml"), "<project/>"); 866var app = builder.AddJavaApp("api", sourceDir.FullName, "target/api.jar"); 869() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 881WritePom(sourceDir.FullName, javaVersion: "21"); 882WriteWrapper(siblingDir.FullName, "mvnw"); 885var app = builder.AddJavaApp("api", sourceDir.FullName) 890() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 908var app = builder.AddJavaApp("api", sourceDir.FullName, jarPath); 913() => JavaDockerfileGenerator.TryGetPrebuiltJarPath(app.Resource, sourceDir.FullName, out _)); 928WritePom(sourceDir.FullName, javaVersion: "21"); 931var app = builder.AddJavaApp("api", sourceDir.FullName) 936() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 951var app = builder.AddJavaApp("api", sourceDir.FullName, jarPath); 955Assert.True(JavaDockerfileGenerator.TryGetPrebuiltJarPath(app.Resource, sourceDir.FullName, out var resolved)); 1008WritePom(sourceDir.FullName, javaVersion: "21"); 1012File.Delete(Path.Combine(sourceDir.FullName, "mvnw")); 1013WriteWrapper(sourceDir.FullName, "mvnw.cmd"); 1016var app = builder.AddJavaApp("api", sourceDir.FullName) 1021() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 1037WriteWrapper(sourceDir.FullName, wrapperName); 1038Directory.Delete(Path.Combine(sourceDir.FullName, supportDirectory), recursive: true); 1041var app = builder.AddJavaApp("api", sourceDir.FullName); 1048() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 1148Path.Combine(sourceDir.FullName, "App.java"), 1162$"run --rm -v {sourceDir.FullName}:/work -w /work docker.io/library/eclipse-temurin:{JavaVersionDetector.DefaultJavaVersion}-jdk " + 1164sourceDir.FullName); 1167using (var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest")) 1169builder.AddJavaApp("api", sourceDir.FullName, Path.Combine("target", "app.jar"), ["--greeting", "hello"]); 1178await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "aspire-manifest.json"), TestContext.Current.CancellationToken)); 1188Path.Combine(outputDir.FullName, "api.Dockerfile"), 1189Path.Combine(sourceDir.FullName, "Dockerfile")); 1191Path.Combine(outputDir.FullName, "api.Dockerfile.dockerignore"), 1192Path.Combine(sourceDir.FullName, ".dockerignore")); 1198var buildResult = await RunDockerCommandAsync($"build --network=host -t {imageName} -f Dockerfile .", sourceDir.FullName); 1202var runResult = await RunDockerCommandAsync($"run --rm --network=none {imageName} {string.Join(' ', manifestArgs)}", sourceDir.FullName); 1211await RunDockerCommandAsync($"rmi {imageName}", sourceDir.FullName); 1228Path.Combine(sourceDir.FullName, "pom.xml"), 1259var sourcePath = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, "src", "main", "java")); 1261Path.Combine(sourcePath.FullName, "App.java"), 1280$"run --rm -v {sourceDir.FullName}:/work -w /work docker.io/library/maven:3.9-eclipse-temurin-{JavaVersionDetector.DefaultJavaVersion} " + 1282sourceDir.FullName); 1285using (var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest")) 1287builder.AddJavaApp("api", sourceDir.FullName) 1295Path.Combine(outputDir.FullName, "api.Dockerfile"), 1296Path.Combine(sourceDir.FullName, "Dockerfile")); 1298Path.Combine(outputDir.FullName, "api.Dockerfile.dockerignore"), 1299Path.Combine(sourceDir.FullName, ".dockerignore")); 1307var buildResult = await RunDockerCommandAsync($"build --network=host -t {imageName} -f Dockerfile .", sourceDir.FullName); 1310var runResult = await RunDockerCommandAsync($"run --rm --network=none {imageName}", sourceDir.FullName); 1319await RunDockerCommandAsync($"rmi {imageName}", sourceDir.FullName); 1740WritePom(sourceDir.FullName, javaVersion: "21"); 1741var nested = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, "build tools")); 1742WriteWrapper(nested.FullName, "mvnw"); 1745var app = builder.AddJavaApp("api", sourceDir.FullName) 1750() => JavaDockerfileGenerator.ResolveContainerBuildForTesting(app.Resource, sourceDir.FullName)); 1766WritePom(sourceDir.FullName, javaVersion: "21"); 1767WritePom(movedDir.FullName, javaVersion: "21"); 1769using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1770builder.AddJavaApp("api", sourceDir.FullName) 1772.WithWorkingDirectory(movedDir.FullName); 1779File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile")), 1793configureSource(sourceDir.FullName); 1795using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1799var app = builder.AddQuarkusApp("api", sourceDir.FullName); 1805return await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 1975WritePom(sourceDir.FullName, javaVersion: "21"); 1978builder.AddJavaApp("api", sourceDir.FullName) 1980.WithWorkingDirectory(elsewhere.FullName); 2003Assert.Contains(elsewhere.FullName, exception.Message, StringComparison.Ordinal); 2004Assert.Contains(sourceDir.FullName, exception.Message, StringComparison.Ordinal); 2016configureSource?.Invoke(sourceDir.FullName); 2018using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 2021? builder.AddJavaApp("api", sourceDir.FullName) 2022: builder.AddJavaApp("api", sourceDir.FullName, jarPath); 2028return await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 2040configureSource?.Invoke(sourceDir.FullName); 2042using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 2045? builder.AddJavaApp("api", sourceDir.FullName) 2046: builder.AddJavaApp("api", sourceDir.FullName, jarPath); 2052var ignorePath = Path.Combine(outputDir.FullName, "api.Dockerfile.dockerignore");
AddJavaAppTests.cs (3)
352var module = Directory.CreateDirectory(Path.Combine(repo.Path, "services", "api")).FullName; 372var module = Directory.CreateDirectory(Path.Combine(repo.Path, "services", "api")).FullName; 391var module = Directory.CreateDirectory(Path.Combine(repo.Path, "services", "api")).FullName;
JavaBuildToolResolverTests.cs (5)
143File.WriteAllText(Path.Combine(_root.FullName, "pom.xml"), "<project/>"); 144File.WriteAllText(Path.Combine(_root.FullName, "mvnw"), "#!/bin/sh\n"); 147public string RootPath => _root.FullName; 152File.WriteAllText(Path.Combine(module.FullName, "pom.xml"), "<project/>"); 154return module.FullName;
TempJavaAppDirectory.cs (2)
27: Directory.CreateDirectory(System.IO.Path.Combine(_root.FullName, directoryName)); 36public string Path => _directory.FullName;
Aspire.Hosting.JavaScript (2)
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Aspire.Hosting.JavaScript.Tests (8)
AddNodeAppTests.cs (6)
322var appDirectory = sourceDir.FullName; 342using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 365var nodeDockerfilePath = Path.Combine(outputDir.FullName, "nodeapp.Dockerfile"); 379var appDirectory = sourceDir.FullName; 399using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 422var nodeDockerfilePath = Path.Combine(outputDir.FullName, "nodeapp.Dockerfile");
BunAppFixture.cs (1)
78var tempDir = Directory.CreateTempSubdirectory("aspire-bun-tests").FullName;
NodeAppFixture.cs (1)
73var tempDir = Directory.CreateTempSubdirectory("aspire-nodejs-tests").FullName;
Aspire.Hosting.Kafka.Tests (1)
KafkaFunctionalTests.cs (1)
143bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Kubernetes (9)
CertManagerExtensions.cs (1)
451var manifestPath = Path.Combine(tempDir.FullName, $"{issuer.Name}.yaml");
KubernetesEnvironmentResource.cs (8)
1450var patchFilePath = Path.Combine(patchTempDir.FullName, "patch.json"); 1562var certPath = Path.Combine(tempDir.FullName, "tls.crt"); 1563var keyPath = Path.Combine(tempDir.FullName, "tls.key"); 1616logger.LogDebug(ex, "Failed to delete temporary directory '{TempDir}'.", tempDir.FullName); 1896var patchFilePath = Path.Combine(patchTempDir.FullName, "patch.json"); 2077var manifestPath = Path.Combine(tempDir.FullName, "gateway.json"); 2199var certPath = Path.Combine(tempDir.FullName, "tls.crt"); 2200var keyPath = Path.Combine(tempDir.FullName, "tls.key");
Aspire.Hosting.Maui (2)
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Aspire.Hosting.Milvus.Tests (1)
MilvusFunctionalTests.cs (1)
99bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data");
Aspire.Hosting.MongoDB.Tests (3)
MongoDbFunctionalTests.cs (3)
139bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data"); 263var bindMountPath = Directory.CreateTempSubdirectory().FullName; 370var initFilesPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.MySql.Tests (3)
MySqlFunctionalTests.cs (3)
152bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data"); 311var bindMountPath = Directory.CreateTempSubdirectory().FullName; 406var initFilesPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Nats.Tests (1)
NatsFunctionalTests.cs (1)
180bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Oracle.Tests (3)
OracleFunctionalTests.cs (3)
117bindMountPath = Directory.CreateTempSubdirectory().FullName; 268var bindMountPath = Directory.CreateTempSubdirectory().FullName; 366var initFilesPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.PostgreSQL.Tests (3)
PostgresFunctionalTests.cs (3)
226bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data"); 371var bindMountPath = Directory.CreateTempSubdirectory().FullName; 467var initFilesPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Python.Tests (47)
AddPythonAppTests.cs (44)
267var projectDirectory = Directory.CreateTempSubdirectory().FullName; 444.WithVirtualEnvironment(venvDir.FullName); 454Assert.Equal(Path.Join(venvDir.FullName, "Scripts", "python.exe"), pythonProjectResource.Command); 458Assert.Equal(Path.Join(venvDir.FullName, "bin", "python"), pythonProjectResource.Command); 532var appVenvPath = Path.Combine(appDir.FullName, ".venv"); 536var resourceBuilder = builder.AddPythonApp("pythonProject", appDir.FullName, scriptName); 545var expectedProjectDirectory = Path.GetFullPath(Path.Combine(builder.AppHostDirectory, appDir.FullName)); 656var resourceBuilder = builder.AddPythonApp("pythonProject", appDir.FullName, scriptName); 665var expectedProjectDirectory = Path.GetFullPath(Path.Combine(builder.AppHostDirectory, appDir.FullName)); 1245var projectDirectory = sourceDir.FullName; 1275using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1292var scriptDockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1295var moduleDockerfilePath = Path.Combine(outputDir.FullName, "module-app.Dockerfile"); 1298var executableDockerfilePath = Path.Combine(outputDir.FullName, "executable-app.Dockerfile"); 1316var projectDirectory = sourceDir.FullName; 1341using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1358var scriptDockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1361var moduleDockerfilePath = Path.Combine(outputDir.FullName, "module-app.Dockerfile"); 1364var executableDockerfilePath = Path.Combine(outputDir.FullName, "executable-app.Dockerfile"); 1771var projectDirectory = sourceDir.FullName; 1799using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1812var dockerfilePath = Path.Combine(outputDir.FullName, "custom-images-app.Dockerfile"); 1830var projectDirectory = sourceDir.FullName; 1845using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1854var dockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1878var projectDirectory = sourceDir.FullName; 1895using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1904var dockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1918var projectDirectory = sourceDir.FullName; 1927using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1936var dockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1950var projectDirectory = sourceDir.FullName; 1962using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1973var scriptDockerfilePath = Path.Combine(outputDir.FullName, "script-app.Dockerfile"); 1976var moduleDockerfilePath = Path.Combine(outputDir.FullName, "module-app.Dockerfile"); 1979var executableDockerfilePath = Path.Combine(outputDir.FullName, "executable-app.Dockerfile"); 2136.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: false); 2163.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: true); 2191.WithVirtualEnvironment(venvDir.FullName); 2290.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: true); 2320.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: false); 2355.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: true) 2391.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: false) 2573.WithVirtualEnvironment(venvDir.FullName, createIfNotExists: true);
AddUvicornAppTests.cs (3)
34var projectDirectory = sourceDir.FullName; 64using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 88var appDockerfilePath = Path.Combine(outputDir.FullName, "main.Dockerfile");
Aspire.Hosting.Qdrant.Tests (1)
QdrantFunctionalTests.cs (1)
118bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data");
Aspire.Hosting.RabbitMQ.Tests (1)
RabbitMQFunctionalTests.cs (1)
124bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Radius (1)
Publishing\RadiusDeploymentPipelineStep.cs (1)
284var filePath = Path.Combine(directory.FullName, "parameters.json");
Aspire.Hosting.Radius.Tests (5)
Publishing\SealedSecretPublishTests.cs (3)
19private readonly string _dir = Directory.CreateTempSubdirectory("sealed-secret-tests").FullName; 149var outputDir = Directory.CreateTempSubdirectory("sealed-secret-output").FullName; 182var outputDir = Directory.CreateTempSubdirectory("sealed-secret-output").FullName;
Secrets\SealedSecretManifestTests.cs (1)
10private readonly string _dir = Directory.CreateTempSubdirectory("sealed-secret-manifest-tests").FullName;
Secrets\SecretStoreValidationTests.cs (1)
21private readonly string _sealedManifestDirectory = Directory.CreateTempSubdirectory("radius-secret-store-validation-tests").FullName;
Aspire.Hosting.Redis.Tests (2)
RedisFunctionalTests.cs (2)
323var bindMountPath = Directory.CreateTempSubdirectory().FullName; 508bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.RemoteHost.Tests (32)
AssemblyLoaderTests.cs (1)
278public string Path => _directory.FullName;
AtsExportsTests.cs (1)
139var tempFile = Path.Combine(workspace.WorkspaceRoot.FullName, "artifact.zip");
CodeGeneration\ApiReferenceExportTests.cs (1)
302public string Path => _directory.FullName;
IntegrationLoadContextTests.cs (8)
47var manifestPath = Path.Combine(manifestDirectory.FullName, "integration-package-probe-manifest.json"); 65Directory.Delete(manifestDirectory.FullName, recursive: true); 75var nativeLibraryPath = Path.Combine(manifestDirectory.FullName, "runtimes", "linux-x64", "native", "libe_sqlite3.so"); 79var manifestPath = Path.Combine(manifestDirectory.FullName, "integration-package-probe-manifest.json"); 94Directory.Delete(manifestDirectory.FullName, recursive: true); 104var resourceAssemblyPath = Path.Combine(manifestDirectory.FullName, "fr", "Aspire.Hosting.Redis.resources.dll"); 108var manifestPath = Path.Combine(manifestDirectory.FullName, "integration-package-probe-manifest.json"); 128Directory.Delete(manifestDirectory.FullName, recursive: true);
IntegrationPackageProbeManifestTests.cs (2)
26var manifestPath = Path.Combine(manifestDirectory.FullName, "integration-package-probe-manifest.json"); 49Directory.Delete(manifestDirectory.FullName, recursive: true);
LayoutCommandTests.cs (5)
18var workspaceRoot = Directory.CreateTempSubdirectory("aspire-layout-tests").FullName; 71var workspaceRoot = Directory.CreateTempSubdirectory("aspire-layout-tests").FullName; 113var workspaceRoot = Directory.CreateTempSubdirectory("aspire-layout-tests").FullName; 151var workspaceRoot = Directory.CreateTempSubdirectory("aspire-manifest-tests").FullName; 216var workspaceRoot = Directory.CreateTempSubdirectory("aspire-restore-manifest-tests").FullName;
RestoreCommandTests.cs (1)
17var workspaceRoot = Directory.CreateTempSubdirectory("aspire-restore-tests").FullName;
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Hosting.Rust (2)
src\Shared\PathNormalizer.cs (2)
209if (linkTarget?.FullName is { Length: > 0 } resolved) 298if (linkTarget?.FullName is { Length: > 0 } resolved)
Aspire.Hosting.Rust.Tests (137)
AddRustAppPublishTests.cs (122)
116using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 118var rust = builder.AddRustApp("api", sourceDir.FullName).WithCargoTarget(target); 149using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 151builder.AddRustApp("api", sourceDir.FullName).WithCargoTarget(target); 176using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 178builder.AddRustApp("api", sourceDir.FullName).WithCargoTarget(target); 197using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 199builder.AddRustApp("api", sourceDir.FullName) 223using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 225builder.AddRustApp("api", sourceDir.FullName) 249using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 251builder.AddRustApp("api", sourceDir.FullName) 281using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 283builder.AddRustApp("api", sourceDir.FullName) 303using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 312var rust = builder.AddRustApp("api", sourceDir.FullName); 403using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 407var rust = builder.AddRustApp("api", sourceDir.FullName); 418Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 440using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 447var rust = builder.AddRustApp("api", sourceDir.FullName); 473Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 497File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch\n"); 499using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 500builder.AddRustApp("api", sourceDir.FullName); 503Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 515File.WriteAllText(Path.Combine(sourceDir.FullName, "Dockerfile"), "FROM scratch\n"); 517using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 518builder.AddRustApp("api", sourceDir.FullName).WithCargoTarget(target); 521Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 531var customDockerfile = Path.Combine(customContext.FullName, "Dockerfile.prod"); 535using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 536builder.AddRustApp("api", sourceDir.FullName) 537.PublishAsDockerFile(container => container.WithDockerfile(customContext.FullName, "Dockerfile.prod")); 543Assert.Equal(customContext.FullName, dockerfile.ContextPath); 545Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 556using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 557builder.AddRustApp("api", sourceDir.FullName) 559customContext.FullName, 566Path.Combine(outputDir.FullName, "api.Dockerfile"), 569Assert.Equal(customContext.FullName, dockerfile.ContextPath); 590var manifestDirectory = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, "Crates", "API")); 591File.WriteAllText(Path.Combine(manifestDirectory.FullName, "Cargo.toml"), "[package]\nname = \"api\"\n"); 594if (!File.Exists(Path.Combine(sourceDir.FullName, differentlyCasedPath))) 599using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 601builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath(differentlyCasedPath); 604var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 617var manifestDirectory = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, decomposedDirectoryName)); 619File.WriteAllText(Path.Combine(manifestDirectory.FullName, "Cargo.toml"), "[package]\nname = \"api\"\n"); 622if (!File.Exists(Path.Combine(sourceDir.FullName, composedManifestPath))) 627var storedDirectoryName = Path.GetFileName(Assert.Single(Directory.EnumerateDirectories(sourceDir.FullName))); 629using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 631builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath(composedManifestPath); 634var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 651var sourceDir = Directory.CreateDirectory(Path.Combine(restrictedAncestor.FullName, "source")); 652var manifestDirectory = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, "Crates", "API")); 655File.WriteAllText(Path.Combine(manifestDirectory.FullName, "Cargo.toml"), "[package]\nname = \"api\"\n"); 657var originalMode = File.GetUnixFileMode(restrictedAncestor.FullName); 662File.SetUnixFileMode(restrictedAncestor.FullName, UnixFileMode.UserExecute); 666Directory.GetFileSystemEntries(restrictedAncestor.FullName); 673using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 675builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath("Crates/API/Cargo.toml"); 679Path.Combine(outputDir.FullName, "api.Dockerfile"), 686File.SetUnixFileMode(restrictedAncestor.FullName, originalMode); 718File.WriteAllText(Path.Combine(manifestDirectory.FullName, "Cargo.toml"), "[package]\nname = \"api\"\n"); 736var canonicalSourceDir = TestPathNormalizer.ResolveSymlinks(sourceDir.FullName); 738if (string.Equals(sourceDir.FullName, canonicalSourceDir, StringComparison.Ordinal)) 747var manifestPath = Path.GetRelativePath(sourceDir.FullName, canonicalManifest); 749using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 751builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath(manifestPath); 754var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 770var canonicalSourceDir = TestPathNormalizer.ResolveSymlinks(sourceDir.FullName); 771var manifestDirectory = Directory.CreateDirectory(Path.Combine(sourceDir.FullName, "Crates", "API")); 773File.WriteAllText(Path.Combine(manifestDirectory.FullName, "Cargo.toml"), "[package]\nname = \"api\"\n"); 775if (string.Equals(sourceDir.FullName, canonicalSourceDir, StringComparison.Ordinal)) 786var manifestPath = Path.GetRelativePath(sourceDir.FullName, differentlyCasedCanonicalManifest); 788using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 790builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath(manifestPath); 793var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 805File.WriteAllText(Path.Combine(outsideDir.FullName, "Cargo.toml"), "[package]\nname = \"outside\"\n"); 806CreateDirectorySymbolicLinkOrSkip(Path.Combine(sourceDir.FullName, "linked"), outsideDir.FullName); 808using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 810builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath("linked/Cargo.toml"); 813Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 822var firstLink = Path.Combine(sourceDir.FullName, "linked"); 823var secondLink = Path.Combine(sourceDir.FullName, "loop"); 831using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 833builder.AddRustApp("api", sourceDir.FullName).WithCargoManifestPath("linked/Cargo.toml"); 836Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile"))); 921using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 923builder.AddRustApp("api", sourceDir.FullName); 927var first = await File.ReadAllTextAsync(Path.Combine(firstOutputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 928var second = await File.ReadAllTextAsync(Path.Combine(secondOutputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 939using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 941builder.AddRustApp("api", sourceDir.FullName); 942builder.AddRustApp("worker", sourceDir.FullName); 945var first = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 946var second = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "worker.Dockerfile"), TestContext.Current.CancellationToken); 969using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 971builder.AddRustApp("api", sourceDir.FullName); 974var ignore = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile.dockerignore"), TestContext.Current.CancellationToken); 988File.WriteAllText(Path.Combine(sourceDir.FullName, ".dockerignore"), "*.md\n"); 990using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 992builder.AddRustApp("api", sourceDir.FullName); 995Assert.False(File.Exists(Path.Combine(outputDir.FullName, "api.Dockerfile.dockerignore"))); 1010File.WriteAllText(Path.Combine(relocatedDir.FullName, "Dockerfile"), "FROM scratch\n"); 1015using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1017builder.AddRustApp("api", sourceDir.FullName).WithWorkingDirectory(relocatedDir.FullName); 1026Assert.Equal(relocatedDir.FullName, dockerfile.ContextPath); 1031Assert.Equal(Path.Combine(relocatedDir.FullName, "Dockerfile"), dockerfile.DockerfilePath); 1036Assert.Equal(relocatedDir.FullName, reader.LastWorkingDirectory); 1053File.WriteAllText(Path.Combine(workspace.WorkspaceRoot.FullName, "Cargo.lock"), "version = 4\n"); 1057File.WriteAllText(Path.Combine(sourceDir.FullName, "Cargo.lock"), "version = 4\n"); 1060using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1062builder.AddRustApp("api", sourceDir.FullName + Path.DirectorySeparatorChar) 1066var content = await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken); 1128configureSource?.Invoke(sourceDir.FullName); 1130using var builder = TestDistributedApplicationBuilder.Create(DistributedApplicationOperation.Publish, outputDir.FullName, step: "publish-manifest"); 1137var app = builder.AddRustApp("api", sourceDir.FullName); 1143return await File.ReadAllTextAsync(Path.Combine(outputDir.FullName, "api.Dockerfile"), TestContext.Current.CancellationToken);
RustDockerfileShellTests.cs (14)
15var targetDirectory = workspace.CreateDirectory("target").FullName; 16var artifactDirectory = workspace.CreateDirectory("artifacts").FullName; 39var targetDirectory = workspace.CreateDirectory("target").FullName; 40var artifactDirectory = workspace.CreateDirectory("artifacts").FullName; 41var cargoStub = Path.Combine(workspace.WorkspaceRoot.FullName, "cargo-stub"); 64var targetDirectory = workspace.CreateDirectory("target").FullName; 65var artifactDirectory = workspace.CreateDirectory("artifacts").FullName; 95var targetDirectory = workspace.CreateDirectory("target").FullName; 96var artifactDirectory = workspace.CreateDirectory("artifacts").FullName; 97var markerPath = Path.Combine(workspace.WorkspaceRoot.FullName, "command-substitution-ran"); 120var stubDirectory = workspace.CreateDirectory("stubs").FullName; 121var invocationLog = Path.Combine(workspace.WorkspaceRoot.FullName, "invocations"); 152var stubDirectory = workspace.CreateDirectory("stubs").FullName; 153var invocationLog = Path.Combine(workspace.WorkspaceRoot.FullName, "invocations");
TempCrateDirectory.cs (1)
13public string Path => _directory.FullName;
Aspire.Hosting.Sdk.Tests (89)
AppHostSdkTargetsTests.cs (76)
105var aspireCliPath = await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 106await CreateFakeDnxAsync(fakeCliDirectory.FullName); 111CreatePathEnvironment(fakeCliDirectory.FullName)); 129var dnxPath = await CreateFakeDnxAsync(fakeCliDirectory.FullName); 132await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 149[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 168var dnxPath = await CreateFakeDnxAsync(fakeCliDirectory.FullName); 169await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 180CreatePathEnvironment(fakeCliDirectory.FullName)); 208CreatePathEnvironment(emptyPathDirectory.FullName, includeCurrentPath: false)); 224var nonExecutableDnxPath = Path.Combine(nonExecutableDirectory.FullName, "dnx"); 232var executableDnxPath = await CreateFakeDnxAsync(executableDirectory.FullName); 234var path = $"{nonExecutableDirectory.FullName}{Path.PathSeparator}{CreatePathWithoutAspire(executableDirectory.FullName)}"; 253var aspireCliPath = await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 272await CreateFakeDnxThatFailsVersionAsync(fakeCliDirectory.FullName); 279[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 293var aspireCliPath = await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 308var aspireCliPath = await CreateFakeAspireCommandShimAsync(fakeCliDirectory.FullName, extension); 333var aspireCliPath = await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 340[GetPathEnvironmentVariableName()] = CreatePathWithoutDnx(emptyPathDirectory.FullName) 374var aspireCliPath = await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 379CreatePathEnvironment(fakeCliDirectory.FullName)); 426await CreateFakeAspireCliAsync(fakeCliDirectory.FullName); 433[pathEnvironmentVariable] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 463await CreateFakeDnxAsync(fakeCliDirectory.FullName); 470[pathEnvironmentVariable] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 506CreateFakeNativeAspireCli(fakeCliDirectory.FullName); 511[GetPathEnvironmentVariableName()] = CreatePathWithoutDnx(fakeCliDirectory.FullName) 546var aspireCliPath = await CreateFakeAspireCommandShimAsync(fakeCliDirectory.FullName); 582var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 583await CreateFakeAspireCliWithVersionAsync(fakeCliDirectory.FullName, cliVersion); 598await CreateFakeAspireCliWithVersionAsync(fakeCliDirectory.FullName, "13.4.5"); 599var dnxPath = await CreateFakeDnxAsync(fakeCliDirectory.FullName); 602[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 631await CreateFakeAspireCliWithVersionAsync(staleCliDirectory.FullName, AspireCliVersion); 632var staleBundle = CreateFakeCliBundle(staleCliDirectory.FullName); 637await CreateFakeDnxAsync(dnxDirectory.FullName); 652[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(staleCliDirectory.FullName, dnxDirectory.FullName) 679var aspireCliPath = await CreateFakeAspireCliThatSetsUpBundleAsync(fakeCliDirectory.FullName); 689var selectedBundle = GetFakeCliBundlePaths(fakeCliDirectory.FullName); 695AssertCliBundleExists(fakeCliDirectory.FullName, JsonSerializer.Serialize(properties)); 703var selectedCliPath = await CreateFakeAspireCliThatSetsUpBundleAsync(selectedCliDirectory.FullName); 705await CreateFakeAspireCliWithVersionAsync(staleCliDirectory.FullName, AspireCliVersion); 706var staleBundle = CreateFakeCliBundle(staleCliDirectory.FullName); 712[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(selectedCliDirectory.FullName, staleCliDirectory.FullName) 716var selectedBundle = GetFakeCliBundlePaths(selectedCliDirectory.FullName); 724AssertCliBundleExists(selectedCliDirectory.FullName, JsonSerializer.Serialize(properties)); 734var aspireCliPath = CreateFakeNativeAspireCli(fakeCliDirectory.FullName); 745var selectedBundle = GetFakeCliBundlePaths(fakeCliDirectory.FullName); 750AssertCliBundleExists(fakeCliDirectory.FullName, JsonSerializer.Serialize(properties)); 760await CreateFakeAspireCliThatHangsOnSetupAsync(fakeCliDirectory.FullName); 761await CreateFakeDnxAsync(fakeCliDirectory.FullName); 766[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 789CopyFakeCommandHost(fakeCommandDirectory.FullName); 790var commandShimPath = Path.Combine(fakeCommandDirectory.FullName, "aspire.cmd"); 926await CreateFakeDnxAsync(fakeCliDirectory.FullName); 932[GetPathEnvironmentVariableName()] = CreatePathWithoutAspire(fakeCliDirectory.FullName) 951await CreateFakeAspireCliThatFailsVersionAsync(fakeCliDirectory.FullName); 952var dnxPath = await CreateFakeDnxAsync(fakeCliDirectory.FullName); 957CreatePathEnvironment(fakeCliDirectory.FullName)); 977var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 978await CreateFakeAspireCliWithVersionAsync(fakeCliDirectory.FullName, cliVersion); 993var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 994await CreateFakeAspireCliWithVersionAndLargeStdErrAsync(fakeCliDirectory.FullName, "13.5.0"); 1009var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 1010await CreateFakeAspireCliThatHangsOnVersionAsync(fakeCliDirectory.FullName); 1025var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 1026await CreateFakeAspireCliWithVersionAsync(fakeCliDirectory.FullName, "aspire version 13.5.0"); 1041var cliPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "aspire.cmd" : "aspire"); 1042await CreateFakeAspireCliThatFailsVersionAsync(fakeCliDirectory.FullName); 1061CreatePathEnvironment(emptyPathDirectory.FullName, includeCurrentPath: false)); 1334await File.WriteAllTextAsync(Path.Combine(fakeSdkDirectory.FullName, "dotnet.dll"), ""); 1920directory = Directory.GetParent(directory)?.FullName;
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Hosting.Seq.Tests (1)
SeqFunctionalTests.cs (1)
98bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data");
Aspire.Hosting.SqlServer.Tests (1)
SqlServerFunctionalTests.cs (1)
160bindMountPath = Directory.CreateTempSubdirectory().FullName;
Aspire.Hosting.Tasks (1)
ResolveAspireCliBundle.cs (1)
476return File.ResolveLinkTarget(path, returnFinalTarget: true)?.FullName ?? path;
Aspire.Hosting.Testing.Tests (5)
tests\Aspire.Hosting.TestUtilities\Utils\MSBuildUtils.cs (1)
15directory = Directory.GetParent(directory)!.FullName;
tests\Shared\DistributedApplicationTestingBuilderExtensions.cs (1)
52builder.Configuration["Aspire:Store:Path"] = path ?? Directory.CreateTempSubdirectory().FullName;
tests\Shared\Playwright\PlaywrightProvider.cs (1)
55var probePath = Path.Combine(repoRoot.FullName, "artifacts", "bin", "playwright-deps");
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
Aspire.Hosting.Tests (179)
ApplicationModel\Docker\DockerfileBuildAnnotationTests.cs (7)
222var dockerfilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "Dockerfile"); 223var differentCasingDockerfilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "DOCKERFILE"); 231var annotation = new DockerfileBuildAnnotation(workspace.WorkspaceRoot.FullName, dockerfilePath, null); 242var contextPath = Path.Combine(workspace.WorkspaceRoot.FullName, "app"); 243var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "out"); 272var contextPath = Path.Combine(workspace.WorkspaceRoot.FullName, "app"); 273var outputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "out");
AspireStoreTests.cs (2)
63ProjectDirectory = workspace.WorkspaceRoot.FullName 69Assert.Equal(Path.Combine(workspace.WorkspaceRoot.FullName, ".aspire"), store.BasePath);
Backchannel\AuxiliaryBackchannelRpcTargetTests.cs (1)
1610var baseDir = Directory.CreateTempSubdirectory("abrt-").FullName;
Backchannel\AuxiliaryBackchannelTests.cs (3)
630var realDirectory = Directory.CreateDirectory(Path.Combine(tempRoot.FullName, "real")); 631var symlinkDirectory = Path.Combine(tempRoot.FullName, "link"); 632Directory.CreateSymbolicLink(symlinkDirectory, realDirectory.FullName);
Backchannel\GetTerminalInfoAsyncTests.cs (1)
352var dir = Directory.CreateTempSubdirectory("at-").FullName;
Cli\ProcessStartTimeHelperTests.cs (4)
114var statDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, pid.ToString(CultureInfo.InvariantCulture))); 118File.WriteAllText(Path.Combine(statDirectory.FullName, "stat"), $"{pid} (proc name) {string.Join(' ', fields)}"); 120Assert.Equal(expectedStartTicks, ProcessStartTimeHelper.TryGetLinuxProcessStartTicks(pid, workspace.WorkspaceRoot.FullName)); 127Assert.Null(ProcessStartTimeHelper.TryGetLinuxProcessStartTicks(999999, workspace.WorkspaceRoot.FullName));
Dashboard\DashboardServiceDataTerminalTests.cs (1)
167var baseDir = Directory.CreateTempSubdirectory("dsdt-").FullName;
Dcp\KubernetesServiceTests.cs (1)
322_root ??= Directory.CreateTempSubdirectory("test-kubeconfig-").FullName;
Dcp\ProcessUtilTests.cs (5)
89var appPath = DotnetFileAppProcess.WriteApp(workspace.WorkspaceRoot.FullName, "argument-list.cs", """ 111var appPath = DotnetFileAppProcess.WriteApp(workspace.WorkspaceRoot.FullName, "argument-list-failure.cs", """ 136var appPath = DotnetFileAppProcess.WriteApp(workspace.WorkspaceRoot.FullName, "path-executable.cs", """ 206var appPath = DotnetFileAppProcess.WriteApp(workspace.WorkspaceRoot.FullName, "single-line.cs", """ 221var appPath = DotnetFileAppProcess.WriteApp(workspace.WorkspaceRoot.FullName, "failing.cs", $$"""
DistributedApplicationBuilderTests.cs (17)
411var appHostPath = Path.Combine(projectDirectory.FullName, "apphost.ts"); 415ProjectDirectory = projectDirectory.FullName, 422ProjectDirectory = projectDirectory.FullName, 424AppHostFilePath = Path.Combine(projectDirectory.FullName, "AppHost.ts"), 455var legacyAppHostPath = Path.GetFullPath(Path.Join(projectDirectory.FullName, projectName)); 473ProjectDirectory = projectDirectory.FullName, 475AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"), 521ProjectDirectory = projectDirectory.FullName, 523AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"), 546ProjectDirectory = projectDirectory.FullName, 548AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"), 605ProjectDirectory = projectDirectory.FullName, 607AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"), 669ProjectDirectory = projectDirectory.FullName, 671AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"), 731ProjectDirectory = projectDirectory.FullName, 733AppHostFilePath = Path.Combine(projectDirectory.FullName, "apphost.ts"),
DistributedApplicationTests.cs (3)
2086var executableAppPath = DotnetFileAppProcess.WriteApp(executableDir.FullName, "worker.cs", """ 2138.WithTempAspireStore(aspireStoreDir.FullName) 2145builder.AddExecutable(executableResourceName, DotnetFileAppProcess.ExecutablePath, executableDir.FullName, DotnetFileAppProcess.CreateArguments(executableAppPath))
MSBuildTests.cs (83)
26CreateLibraryProject(workspace.WorkspaceRoot.FullName, "Library"); 28var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost"); 83CreateAppProject(workspace.WorkspaceRoot.FullName, "App"); 85var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost"); 136var temp = workspace?.WorkspaceRoot.FullName; 328var projectPath = Path.Combine(workspace.WorkspaceRoot.FullName, "Plain.AppHost.csproj"); 338workspace.WorkspaceRoot.FullName, 358var bundle = CreateFakeCliBundle(workspace.WorkspaceRoot.FullName); 359var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 380var layoutRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "layout"); 383var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 404var layoutRoot = Path.Combine(workspace.WorkspaceRoot.FullName, "layout"); 407var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 429workspace.WorkspaceRoot.FullName, 450var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "bin")); 451var fakeCliPath = CreateFakeAspireCli(fakeCliDirectory.FullName); 452var bundle = CreateFakeCliBundle(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-home")); 453var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 474var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"); 475var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "fake-cli")); 476_ = CreateFakeAspireCliThatSetsUpBundle(fakeCliDirectory.FullName); 477var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, additionalProperties: ""); 484["PATH"] = GetPathWithoutAspire(fakeCliDirectory.FullName) 488var bundleRoot = Path.Combine(workspace.WorkspaceRoot.FullName, BundleDiscovery.BundleDirectoryName); 503var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"); 504var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "fake-cli")); 505var fakeCliPath = CreateFakeAspireCliThatSetsUpBundle(fakeCliDirectory.FullName); 507workspace.WorkspaceRoot.FullName, 523Assert.False(Directory.Exists(Path.Combine(workspace.WorkspaceRoot.FullName, BundleDiscovery.BundleDirectoryName))); 532var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"); 533var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "fake-cli")); 534var fakeCliPath = CreateFakeAspireCliThatFailsSetup(fakeCliDirectory.FullName); 536workspace.WorkspaceRoot.FullName, 562var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"); 563var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "fake-cli")); 564var fakeCliPath = CreateFakeAspireCliThatTimesOutSetup(fakeCliDirectory.FullName); 566workspace.WorkspaceRoot.FullName, 592var aspireHome = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"); 594var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, literalSegment)); 595var fakeCliPath = CreateFakeAspireCliThatSetsUpBundle(fakeCliDirectory.FullName); 597workspace.WorkspaceRoot.FullName, 612var bundleRoot = Path.Combine(workspace.WorkspaceRoot.FullName, BundleDiscovery.BundleDirectoryName); 626var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, literalSegment)); 627var fakeCliPath = CreateFakeAspireCliThatFailsSetup(fakeCliDirectory.FullName); 629workspace.WorkspaceRoot.FullName, 639["ASPIRE_HOME"] = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"), 654var bundle = CreateFakeCliBundle(Path.Combine(workspace.WorkspaceRoot.FullName, "aspire-home")); 655var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, additionalProperties: ""); 677var toolsDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, ".dotnet", "tools")); 678var shimPath = CreateFakeAspireCli(toolsDirectory.FullName); 680toolsDirectory.FullName, 689_ = CreateFakeAspireCli(nativeCliDirectory.FullName); 690File.WriteAllText(Path.Combine(nativeCliDirectory.FullName, ".aspire-install.json"), """{"source":"dotnet-tool"}"""); 691var bundle = CreateFakeCliBundleAtLayoutRoot(nativeCliDirectory.FullName); 692var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 713var bundle = CreateFakeCliBundle(workspace.WorkspaceRoot.FullName); 714var repoDcpDir = EnsureTrailingSeparator(Path.Combine(workspace.WorkspaceRoot.FullName, "repo-dcp")); 715var repoDashboardDir = EnsureTrailingSeparator(Path.Combine(workspace.WorkspaceRoot.FullName, "repo-dashboard")); 719var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 742var missingBundlePath = Path.Combine(workspace.WorkspaceRoot.FullName, "missing-bundle"); 743var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 777workspace.WorkspaceRoot.FullName, 780var fakeCliDirectory = Directory.CreateDirectory(Path.Combine(workspace.WorkspaceRoot.FullName, "fake-cli")); 781var dnxPath = Path.Combine(fakeCliDirectory.FullName, OperatingSystem.IsWindows() ? "dnx.exe" : "dnx"); 798["ASPIRE_HOME"] = Path.Combine(workspace.WorkspaceRoot.FullName, "empty-aspire-home"), 799["PATH"] = GetPathWithoutAspire(fakeCliDirectory.FullName) 817var missingCliPath = Path.Combine(workspace.WorkspaceRoot.FullName, "missing-aspire"); 818var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 839var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost"); 872CreateAppProject(workspace.WorkspaceRoot.FullName, "App"); 873var bundle = CreateFakeCliBundle(workspace.WorkspaceRoot.FullName); 874var appHostDirectory = CreateSdkBundleAppHostProject(workspace.WorkspaceRoot.FullName, repoRoot, 1146CreateLibraryProject(workspace.WorkspaceRoot.FullName, "Library"); 1148var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost"); 1205CreateLibraryProject(workspace.WorkspaceRoot.FullName, "Library"); 1207var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost"); 1260var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "MyHostingExtension"); 1309var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "MyHostingExtension"); 1358var packageOutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "packages"); 1385var packageOutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "packages"); 1431var packageOutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "packages"); 1441var projectDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "MyHostingExtension"); 1574var appHostDirectory = Path.Combine(workspace.WorkspaceRoot.FullName, "AppHost");
PathLookupHelperTests.cs (7)
13var binPath = Path.Combine(workspace.WorkspaceRoot.FullName, "bin"); 47var firstBinPath = Path.Combine(workspace.WorkspaceRoot.FullName, "first-bin"); 48var secondBinPath = Path.Combine(workspace.WorkspaceRoot.FullName, "second-bin"); 74var binPath = Path.Combine(workspace.WorkspaceRoot.FullName, "bin"); 94var binPath = Path.Combine(workspace.WorkspaceRoot.FullName, "bin"); 212var firstBinPath = Path.Combine(workspace.WorkspaceRoot.FullName, "first-bin"); 213var secondBinPath = Path.Combine(workspace.WorkspaceRoot.FullName, "second-bin");
ProjectResourceTests.cs (2)
36var projectDetails = await PrepareProjectWithTrailingCommasInLaunchSettingsAsync(workspace.WorkspaceRoot.FullName).DefaultTimeout(); 80var projectDetails = await PrepareProjectWithMalformedLaunchSettingsAsync(workspace.WorkspaceRoot.FullName).DefaultTimeout();
PublishAsDockerfileTests.cs (14)
21var path = workspace.WorkspaceRoot.FullName; 59var path = workspace.WorkspaceRoot.FullName; 112var path = workspace.WorkspaceRoot.FullName; 157var path = workspace.WorkspaceRoot.FullName; 219var path = workspace.WorkspaceRoot.FullName; 274var path = workspace.WorkspaceRoot.FullName; 291var path = workspace.WorkspaceRoot.FullName; 311var path = workspace.WorkspaceRoot.FullName; 334var path = workspace.WorkspaceRoot.FullName; 364var path = workspace.WorkspaceRoot.FullName; 381var path = workspace.WorkspaceRoot.FullName; 410var path = workspace.WorkspaceRoot.FullName; 427var path = workspace.WorkspaceRoot.FullName; 472.WithDockerfile(workspace.WorkspaceRoot.FullName);
Publishing\DeploymentStateManagerTests.cs (8)
409_aspireHome.FullName, 434Path.Combine(_aspireHome.FullName, "deployments", sha, "development.json"), 997_aspireHome.FullName, 1020_aspireHome.FullName, 1197var legacyDirectory = Path.Combine(_aspireHome.FullName, "deployments", legacySha); 1204var canonicalPath = Path.Combine(_aspireHome.FullName, "deployments", Guid.NewGuid().ToString("N"), "production.json"); 1205var legacyDirectory = Path.Combine(_aspireHome.FullName, "deployments", Guid.NewGuid().ToString("N")); 1223[KnownConfigNames.AspireHome] = _aspireHome.FullName
Publishing\ResourceContainerImageManagerTests.cs (11)
274var tempOutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "NewFolder"); // tests that the folder is created if it doesn't exist 655.WithAnnotation(new TestProjectMetadata(Path.Combine(workspace.WorkspaceRoot.FullName, "missing.csproj"))) 660ctx.OutputPath = workspace.WorkspaceRoot.FullName; 693.WithAnnotation(new TestProjectMetadata(Path.Combine(workspace.WorkspaceRoot.FullName, "missing.csproj"))) 698ctx.OutputPath = workspace.WorkspaceRoot.FullName; 955var tempSecretFile = System.IO.Path.Combine(workspace.WorkspaceRoot.FullName, ".npmrc"); 984Assert.Equal(new FileInfo(tempSecretFile).FullName, fakeContainerRuntime.CapturedBuildSecrets["FILE_SECRET"].Value); 1340ctx.OutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "archives"); 1464ctx.OutputPath = Path.Combine(workspace.WorkspaceRoot.FullName, "archives"); 1531var dockerfilePath = Path.Combine(workspace.WorkspaceRoot.FullName, "Dockerfile"); 1537var container = builder.AddDockerfile("broken-container", workspace.WorkspaceRoot.FullName, dockerfilePath);
ResourceCommandServiceTests.cs (1)
1640var projectPath = CreateBuildOutputTestProject(workspace.WorkspaceRoot.FullName, rebuildOutputMarker);
Schema\SchemaTests.cs (2)
122var tempContextPath = Directory.CreateTempSubdirectory().FullName; 231var manifestDir = Directory.CreateTempSubdirectory(testCaseName).FullName;
tests\Shared\TestFileSystemService.cs (5)
27_directories.Add(dir.FullName); 28return new TestTempDirectory(dir.FullName); 34_directories.Add(tempDir.FullName); 36var filePath = System.IO.Path.Combine(tempDir.FullName, resolvedName); 38return new TestTempFile(filePath, tempDir.FullName);
WithTerminalTests.cs (1)
17private readonly string _terminalDirectory = Directory.CreateTempSubdirectory("aspire-terminal-tests-").FullName;
Aspire.Hosting.TestUtilities (18)
tests\Shared\DistributedApplicationTestingBuilderExtensions.cs (1)
52builder.Configuration["Aspire:Store:Path"] = path ?? Directory.CreateTempSubdirectory().FullName;
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Utils\DockerfileUtils.cs (2)
44var tempContextPath = workspace.WorkspaceRoot.FullName; 72public string ContextPath => _workspace.WorkspaceRoot.FullName;
Utils\MSBuildUtils.cs (1)
15directory = Directory.GetParent(directory)!.FullName;
Utils\PersistentContainerTestHelpers.cs (1)
103.WithTempAspireStore(workspace.WorkspaceRoot.FullName)
Aspire.Hosting.Valkey.Tests (1)
ValkeyFunctionalTests.cs (1)
87bindMountPath = Path.Combine(Directory.CreateTempSubdirectory().FullName, "data");
Aspire.Managed.Tests (24)
TerminalHostSignalTests.cs (11)
26var producerPath = Path.Combine(socketDirectory.FullName, "p.sock"); 27var consumerPath = Path.Combine(socketDirectory.FullName, "h.sock"); 28var controlPath = Path.Combine(socketDirectory.FullName, "c.sock"); 81Directory.Delete(socketDirectory.FullName, recursive: true); 99var parentProducerPath = Path.Combine(socketDirectory.FullName, "pp.sock"); 100var parentConsumerPath = Path.Combine(socketDirectory.FullName, "ph.sock"); 101var parentControlPath = Path.Combine(socketDirectory.FullName, "pc.sock"); 103var producerPath = Path.Combine(socketDirectory.FullName, "p.sock"); 104var consumerPath = Path.Combine(socketDirectory.FullName, "h.sock"); 105var controlPath = Path.Combine(socketDirectory.FullName, "c.sock"); 191Directory.Delete(socketDirectory.FullName, recursive: true);
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
Aspire.Playground.Tests (3)
tests\Shared\Playwright\PlaywrightProvider.cs (1)
55var probePath = Path.Combine(repoRoot.FullName, "artifacts", "bin", "playwright-deps");
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
Aspire.Templates.Tests (5)
tests\Shared\Playwright\PlaywrightProvider.cs (1)
55var probePath = Path.Combine(repoRoot.FullName, "artifacts", "bin", "playwright-deps");
tests\Shared\Playwright\TestUtils.cs (2)
14if (Directory.Exists(Path.Combine(repoRoot.FullName, ".git")) || File.Exists(Path.Combine(repoRoot.FullName, ".git")))
tests\Shared\TemplatesTesting\BuildEnvironment.cs (2)
82var sdkFromArtifactsPath = Path.Combine(RepoRoot!.FullName, "artifacts", "bin", sdkDirName); 114BuiltNuGetsPath = Path.Combine(RepoRoot.FullName, "artifacts", "packages", "Debug", "Shipping");
Aspire.TerminalHost.Tests (13)
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
CodeStyleConfigFileGenerator (2)
Program.cs (2)
91var configFilePath = Path.Combine(directory.FullName, configFileName); 205var fileWithPath = Path.Combine(directory.FullName, targetsFileName);
csc (1)
src\roslyn\src\Compilers\Shared\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
dotnet (35)
CommandFactory\CommandResolution\DotnetToolsCommandResolver.cs (2)
67executable.FullName, 76dll.FullName,
Commands\Clean\FileBasedAppArtifacts\CleanFileBasedAppArtifactsCommand.cs (5)
29Reporter.Verbose.WriteLine($"Would remove folder: {folder.FullName}"); 37Reporter.Verbose.WriteLine($"Removed folder: {folder.FullName}"); 68Reporter.Error.WriteLine(string.Format(CliCommandStrings.CleanFileBasedAppArtifactsDirectoryNotFound, directory.FullName).Yellow()); 72Reporter.Output.WriteLine(CliCommandStrings.CleanFileBasedAppArtifactsScanning, directory.FullName); 172Reporter.Verbose.WriteLine($"Cannot access artifacts metadata file '{metadataFile?.FullName}': {ex}");
Commands\New\BuiltInTemplatePackageProvider.cs (2)
50var sdkPath = sdkDirectory?.FullName ?? string.Empty; 51var dotnetRootPath = sdkDirectory?.Parent?.Parent?.FullName ?? string.Empty;
Commands\New\NewCommandParser.cs (3)
118builtIns.Add((typeof(MSBuildEvaluator), new MSBuildEvaluator(outputDirectory: outputPath?.FullName, projectPath: projectPath?.FullName))); 141outputPath: outputPath?.FullName,
Commands\New\OptionalWorkloadProvider.cs (1)
40var packages = optionalWorkloadLocator.GetDotnetSdkTemplatePackages(sdkVersion, dotnetRootPath?.FullName, userProfileDir);
Commands\New\PostActions\DotnetSlnPostActionProcessor.cs (1)
44directory = Path.GetPathRoot(directory) != directory ? Directory.GetParent(directory)?.FullName : null;
Commands\Project\Convert\ProjectConvertCommand.cs (1)
32_outputDirectory = parseResult.GetValue(Definition.OutputOption)?.FullName;
Commands\Run\CSharpCompilerCommand.cs (2)
135File.Copy(objFile.FullName, binFile.FullName, overwrite: true);
Commands\Run\FileBasedAppRunPlan.cs (16)
100RunFileBuildCacheEntry? previousEntry = ReadCacheEntry(successCacheFile.FullName); 321string implicitBuildFilePath = Path.Join(directory.FullName, implicitBuildFile.Name); 417Reporter.Verbose.WriteLine("Building because cache file does not exist: " + successCacheFile.FullName); 424Reporter.Verbose.WriteLine("Building because start cache file does not exist: " + startCacheFile.FullName); 431Reporter.Verbose.WriteLine("Building because start cache file is newer than success cache file (previous build likely failed): " + startCacheFile.FullName); 436RunFileBuildCacheEntry? previousCacheEntry = ReadCacheEntry(successCacheFile.FullName); 441Reporter.Verbose.WriteLine("Building because previous cache entry could not be deserialized: " + successCacheFile.FullName); 459Reporter.Verbose.WriteLine($"Building because previous SDK version ({previousCacheEntry.SdkVersion}) does not match current ({cacheEntry.SdkVersion}): {successCacheFile.FullName}"); 466Reporter.Verbose.WriteLine($"Building because previous runtime version ({previousCacheEntry.RuntimeVersion}) does not match current ({cacheEntry.RuntimeVersion}): {successCacheFile.FullName}"); 473Reporter.Verbose.WriteLine($"Building because previous global properties count ({previousCacheEntry.GlobalProperties.Count}) does not match current count ({cacheEntry.GlobalProperties.Count}): {successCacheFile.FullName}"); 481Reporter.Verbose.WriteLine($"Building because previous global property \"{key}\" ({otherValue}) does not match current ({value}): {successCacheFile.FullName}"); 490Reporter.Verbose.WriteLine("Building because entry point file is missing: " + entryPointFile.FullName); 500Reporter.Verbose.WriteLine("Compiling because entry point file is modified: " + targetFile.FullName); 511Reporter.Verbose.WriteLine("Building because implicit build file is missing or modified: " + implicitBuildFileInfo.FullName); 535Reporter.Verbose.WriteLine("Building because additional source file is missing or modified: " + additionalSourceFileInfo.FullName); 544Reporter.Verbose.WriteLine("Compiling because entry point file is modified: " + targetFile.FullName);
Commands\Run\RunCommand.cs (1)
1141currentDir = Directory.GetParent(currentDir)?.FullName;
src\sdk\artifacts\.packages\microsoft.codeanalysis.buildclient\5.12.0-1.26430.105\contentFiles\cs\net11.0\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
dotnet-aot (18)
src\sdk\src\Cli\dotnet\CommandFactory\CommandResolution\DotnetToolsCommandResolver.cs (2)
67executable.FullName, 76dll.FullName,
src\sdk\src\Cli\dotnet\Commands\Run\FileBasedAppRunPlan.cs (16)
100RunFileBuildCacheEntry? previousEntry = ReadCacheEntry(successCacheFile.FullName); 321string implicitBuildFilePath = Path.Join(directory.FullName, implicitBuildFile.Name); 417Reporter.Verbose.WriteLine("Building because cache file does not exist: " + successCacheFile.FullName); 424Reporter.Verbose.WriteLine("Building because start cache file does not exist: " + startCacheFile.FullName); 431Reporter.Verbose.WriteLine("Building because start cache file is newer than success cache file (previous build likely failed): " + startCacheFile.FullName); 436RunFileBuildCacheEntry? previousCacheEntry = ReadCacheEntry(successCacheFile.FullName); 441Reporter.Verbose.WriteLine("Building because previous cache entry could not be deserialized: " + successCacheFile.FullName); 459Reporter.Verbose.WriteLine($"Building because previous SDK version ({previousCacheEntry.SdkVersion}) does not match current ({cacheEntry.SdkVersion}): {successCacheFile.FullName}"); 466Reporter.Verbose.WriteLine($"Building because previous runtime version ({previousCacheEntry.RuntimeVersion}) does not match current ({cacheEntry.RuntimeVersion}): {successCacheFile.FullName}"); 473Reporter.Verbose.WriteLine($"Building because previous global properties count ({previousCacheEntry.GlobalProperties.Count}) does not match current count ({cacheEntry.GlobalProperties.Count}): {successCacheFile.FullName}"); 481Reporter.Verbose.WriteLine($"Building because previous global property \"{key}\" ({otherValue}) does not match current ({value}): {successCacheFile.FullName}"); 490Reporter.Verbose.WriteLine("Building because entry point file is missing: " + entryPointFile.FullName); 500Reporter.Verbose.WriteLine("Compiling because entry point file is modified: " + targetFile.FullName); 511Reporter.Verbose.WriteLine("Building because implicit build file is missing or modified: " + implicitBuildFileInfo.FullName); 535Reporter.Verbose.WriteLine("Building because additional source file is missing or modified: " + additionalSourceFileInfo.FullName); 544Reporter.Verbose.WriteLine("Compiling because entry point file is modified: " + targetFile.FullName);
dotnet-dev-certs (5)
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
481Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (3)
549Log.DirectoryPermissionsNotSecure(dirInfo.FullName); 1042if (!TryGetOpenSslHash(cert.FullName, out var hash)) 1062Log.UnixOpenSslRehashTooManyHashes(cert.FullName, hash, MaxHashCollisions);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
168Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
dotnet-format (2)
Utilities\EditorConfigFinder.cs (2)
28while (directory is not null && visitedDirectories.Add(directory.FullName)) 30var editorConfigPath = Path.Combine(directory.FullName, ".editorconfig");
dotnet-openapi (2)
Commands\BaseCommand.cs (2)
128projectFile.FullName, 225WorkingDirectory = projectFile.Directory.FullName,
dotnet-suggest (8)
DotnetMuxer.cs (1)
32var muxerCandidate = new FileInfo(System.IO.Path.Combine(muxerDir.FullName, muxerFileName));
FileEnumerator.cs (1)
20.Select(p => Path.GetFileNameWithoutExtension(p.FullName));
FileSuggestionRegistration.cs (1)
55if (line.StartsWith(soughtExecutable.FullName, StringComparison.OrdinalIgnoreCase))
GlobalToolsSuggestionRegistration.cs (2)
59if (!soughtExecutable.FullName.StartsWith(_nullableToolsShimPath)) 64return new Registration(soughtExecutable.FullName);
SuggestionDispatcher.cs (3)
132if (commandPath.FullName == DotnetMuxer.Path.FullName) 134suggestionRegistration = new Registration(commandPath.FullName);
dotnet-svcutil-lib (33)
Bootstrapper\SvcutilBootstrapper.cs (1)
99var projectFullPath = Path.Combine(this.Options.BootstrapPath.FullName, nameof(SvcutilBootstrapper), SvcutilBootstrapper.ProjectName);
CodeSerializer.cs (2)
32_outputFilePath = OutputPathHelper.BuildFilePath(s_defaultFileName, options.OutputDir.FullName, outputFilename, extension, CommandProcessorOptions.Switches.OutputFile.Name); 133string fileName = options.OutputFile?.FullName;
CommandProcessorOptions.cs (10)
217await ProcessOutputFileOptionAsync(this.OutputDir.FullName, cancellationToken); 396Path.GetDirectoryName(this.OutputFile.FullName) : Path.GetDirectoryName(Path.Combine(Directory.GetCurrentDirectory(), this.OutputFile.OriginalPath())); 657if (this.Project != null && PathHelper.GetRelativePath(this.OutputDir.FullName, new DirectoryInfo(this.Project.DirectoryPath), out var relPath)) 704var projectFullPath = Path.Combine(this.BootstrapPath.FullName, "TFMResolver", "TFMResolver.csproj"); 742var inputFiles = Metadata.MetadataFileNameManager.ResolveFiles(metadataUri.LocalPath).Select(f => f.FullName); 853string projFolder = Path.Combine(this.BootstrapPath.FullName, nameof(SvcutilBootstrapper)); 858assembly = Assembly.LoadFrom(assemblyFile.FullName); 1029if (!Directory.Exists(this.BootstrapPath.FullName)) 1031Directory.CreateDirectory(this.BootstrapPath.FullName); 1035await RuntimeEnvironmentHelper.TryCopyingConfigFiles(workingDirectory, this.BootstrapPath.FullName, logger, cancellationToken).ConfigureAwait(false);
Metadata\MetadataDocumentLoader.cs (4)
107this.metadataSourceFiles.AddRange(fileInfoList.Select(fi => new Uri(fi.FullName, UriKind.Absolute))); 148this.metadataSourceFiles.AddRange(fileInfoList.Select(fi => new Uri(fi.FullName, UriKind.Absolute))); 219if (!IsUriProcessed(fileInfo.FullName)) 223await LoadFromStreamAsync(fileStream, fileInfo.FullName, fileInfo.DirectoryName, cancellationToken).ConfigureAwait(false);
Metadata\MetadataDocumentSaver.cs (1)
143var missingRefs = files.Where(file => !this.MetadataFiles.Any(metaFile => MetadataFileNameManager.UriEqual(file.FullName, metaFile.SourceUri)));
Metadata\MetadataFileNameManager.cs (1)
248throw new DirectoryNotFoundException(string.Format(CultureInfo.CurrentCulture, MetadataResources.ErrDirectoryNotFoundFormat, dirInfo.FullName));
Shared\MSBuildProj.cs (4)
316fullPath = new FileInfo(Path.Combine(msbuildProj.DirectoryPath, binReference)).FullName; 802var assetsFile = new FileInfo(Path.Combine(this.DirectoryPath, "obj", "project.assets.json")).FullName; 1011.Where(f => PathHelper.GetFolderName(Path.GetDirectoryName(f)) == this.TargetFramework || Directory.GetParent(Directory.GetParent(f).FullName).Name == this.TargetFramework) 1015depsFile = depsFiles.FirstOrDefault()?.FullName;
Shared\Options\ApplicationOptions.cs (1)
140jsonText = File.ReadAllText(fileInfo.FullName);
Shared\Options\UpdateOptions.cs (2)
112this.OutputFile = new FileInfo(Path.Combine(optionsFileDirectory.FullName, this.OutputFile.OriginalPath())); 120if (!input.IsAbsoluteUri && PathHelper.IsFile(input, optionsFileDirectory.FullName, out var fileUri))
Shared\Utilities\PathHelper.cs (4)
85filePath = Path.Combine(directory.FullName, relPath); 114var parentSegments = Path.GetFullPath(parentPath.FullName).Split(new char[] { Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries); 178var directory = new DirectoryInfo(Path.Combine(parentDirInfo.FullName, directoryName)); 198directory = new DirectoryInfo(Path.Combine(parentDirInfo.FullName, directoryName + nextIndex));
Tool.cs (3)
145if (!File.Exists(options.OutputFile.FullName)) 268PathHelper.IsUnderDirectory(options.OutputFile.FullName, new DirectoryInfo(options.Project.DirectoryPath), out var filePath, out var relPath); 314var paramsFile = Path.Combine(options.OutputDir.FullName, CommandProcessorOptions.SvcutilParamsFileName);
dotnet-svcutil-lib.Tests (3)
FileUtil.cs (1)
35CopyDirectory(subdir.FullName, temppath);
FixupUtil.cs (1)
56var resultPathReplacement = Directory.GetParent(resultsPath).FullName;
TestInit.cs (1)
539vstestDir = new DirectoryInfo(Path.Combine(g_RepositoryRoot, "src", "dotnet-svcutil", "lib", "tests")).FullName;
dotnet-svcutil.xmlserializer (3)
Microsoft\Tools\ServiceModel\SvcUtil\InputModule.cs (3)
115throw new ToolInputException(SR.Format(SR.ErrInputFileNotAssemblyOrMetadata, fileInfo.FullName, path)); 135assembly = LoadAssembly(fileInfo.FullName); 171throw new ToolInputException(SR.Format(SR.ErrDirectoryNotFound, dirInfo.FullName));
GenerateDocumentationAndConfigFiles (10)
Program.cs (10)
433var fileWithPath = Path.Combine(directory.FullName, args.PropsFileName); 442fileWithPath = Path.Combine(directory.FullName, args.PropsFileToDisableNetAnalyzersInNuGetPackageName); 544var fileWithPath = Path.Combine(directory.FullName, args.AnalyzerDocumentationFileName); 640var fileWithPath = Path.Combine(directory.FullName, args.AnalyzerSarifFileName); 734Validate(Path.Combine(directory.FullName, args.AnalyzerSarifFileName), stringWriter.ToString(), fileNamesWithValidationFailures); 776var fileWithPath = Path.Combine(directory.FullName, "RulesMissingDocumentation.md"); 1112var rulesetFilePath = Path.Combine(directory.FullName, rulesetFileName); 1177var editorconfigFilePath = Path.Combine(directory.FullName, ".editorconfig"); 1400var configFilePath = Path.Combine(directory.FullName, fileName.ToLowerInvariant()); 1612var fileWithPath = Path.Combine(directory.FullName, targetsFileName);
illink (4)
Infrastructure.Tests (50)
Pipelines\ExtensionE2eRecorderStepTests.cs (1)
151var stubDirectory = workspace.CreateDirectory("stubs").FullName;
Shared\RepoRoot.cs (2)
27if (File.Exists(System.IO.Path.Combine(directory.FullName, "Aspire.slnx"))) 29return directory.FullName;
Shared\TestTrxBuilder.cs (1)
60var tempDirectory = Directory.CreateTempSubdirectory("aspire-test-trx").FullName;
tests\Shared\TemporaryWorkspace.cs (13)
20public string Path => workspaceDirectory.FullName; 29outputHelper.WriteLine($"Initializing git repository at: {workspaceDirectory.FullName}"); 37WorkingDirectory = workspaceDirectory.FullName, 57if (s_preservedWorkspaces.ContainsKey(workspaceDirectory.FullName)) 59outputHelper.WriteLine($"Preserved temporary workspace at: {workspaceDirectory.FullName}"); 63outputHelper.WriteLine($"Disposing temporary workspace at: {workspaceDirectory.FullName}"); 71outputHelper.WriteLine($"Failed to delete temporary workspace '{workspaceDirectory.FullName}': {ex.Message}"); 132throw new IOException($"Cannot delete '{file.FullName}': {ex.Message}", ex); 143throw new IOException($"Cannot delete directory '{directory.FullName}': {ex.Message}", ex); 183s_preservedWorkspaces[workspaceDirectory.FullName] = 0; 184outputHelper.WriteLine($"Marked temporary workspace for preservation: {workspaceDirectory.FullName}"); 221outputHelper.WriteLine($"Temporary workspace created at: {workspaceDirectory.FullName}"); 224TestContext.Current?.KeyValueStorage["WorkspacePath"] = workspaceDirectory.FullName;
TestTriggerMap\SelectTestsCliTests.cs (20)
91var slnxPath = Path.Combine(dir.FullName, "custom", "MyApp.slnx"); 94File.WriteAllText(Path.Combine(dir.FullName, "map.yml"), Map); 96WithGitHubEnv(dir.FullName, _ => 98var propsPath = Path.Combine(dir.FullName, "BeforeBuildProps.props"); 99var changed = WriteChangedFiles(dir.FullName, "trigger.txt"); 102dir.FullName, propsPath, changedFilesPath: changed, 111Directory.Delete(dir.FullName, recursive: true); 1221File.WriteAllText(Path.Combine(dir.FullName, "Aspire.slnx"), slnx); 1222File.WriteAllText(Path.Combine(dir.FullName, "map.yml"), map); 1224WithGitHubEnv(dir.FullName, output => 1225body(dir.FullName, Path.Combine(dir.FullName, "BeforeBuildProps.props"), output)); 1229Directory.Delete(dir.FullName, recursive: true); 1240RunGit(dir.FullName, "init", "-q", "-b", "main"); 1241RunGit(dir.FullName, "config", "user.email", "test@example.com"); 1242RunGit(dir.FullName, "config", "user.name", "Test"); 1243RunGit(dir.FullName, "config", "commit.gpgsign", "false"); 1245WithGitHubEnv(dir.FullName, output => body(dir.FullName, output)); 1249Directory.Delete(dir.FullName, recursive: true);
WorkflowScripts\ExtensionReleaseWorkflowTests.cs (13)
283var fakeGh = await CreateFakeGhAsync(tempDirectory.FullName); 303Directory.Delete(tempDirectory.FullName, recursive: true); 314var fakeGh = await CreateFakeGhAsync(tempDirectory.FullName); 334Directory.Delete(tempDirectory.FullName, recursive: true); 345var fakeGh = await CreateFakeGhAsync(tempDirectory.FullName); 367Directory.Delete(tempDirectory.FullName, recursive: true); 549var bodyPath = Path.Combine(tempDirectory.FullName, "pr_body.md"); 559Directory.Delete(tempDirectory.FullName, recursive: true); 568var bodyPath = Path.Combine(tempDirectory.FullName, "pr_body.md"); 578Directory.Delete(tempDirectory.FullName, recursive: true); 589var commitsPath = Path.Combine(tempDirectory.FullName, "commits.txt"); 590var outputPath = Path.Combine(tempDirectory.FullName, "release_notes.md"); 637Directory.Delete(tempDirectory.FullName, recursive: true);
Microsoft.Agents.AI.ProjectTemplates.Tests (2)
TemplateExecutionTestClassFixtureBase.cs (1)
89CopySandboxDirectory(subDir.FullName, Path.Combine(testSandbox, subDir.Name));
WellKnownPaths.cs (1)
54directory = Directory.GetParent(directory)?.FullName;
Microsoft.AspNetCore.DataProtection (13)
Internal\ContainerUtils.cs (2)
65var fs_file = new DirectoryInfo(fields[1].TrimEnd(Path.DirectorySeparatorChar)).FullName; 70if (fs_file.Equals(dir.FullName.TrimEnd(Path.DirectorySeparatorChar), StringComparison.Ordinal))
Internal\KeyManagementOptionsPostSetup.cs (1)
75logger.UsingReadOnlyKeyConfiguration(keyDirectory.FullName);
KeyManagement\XmlKeyManager.cs (3)
654_logger.UsingAzureAsKeyRepository(azureWebSitesKeysFolder.FullName); 680_logger.UsingProfileAsKeyRepositoryWithDPAPI(localAppDataKeysFolder.FullName); 684_logger.UsingProfileAsKeyRepository(localAppDataKeysFolder.FullName);
Repositories\FileSystemXmlRepository.cs (7)
40_logger.UsingEphemeralFileSystemLocationInContainer(Directory.FullName); 87yield return ReadElementFromFile(fileSystemInfo.FullName); 140var tempFilename = Path.Combine(Directory.FullName, Guid.NewGuid().ToString() + ".tmp"); 141var finalFilename = Path.Combine(Directory.FullName, filename + ".xml"); 188var fullPath = fileSystemInfo.FullName; 202_logger.DeletingFile(fileSystemInfo.FullName); 210_logger.FailedToDeleteFile(fileSystemInfo.FullName, ex);
Microsoft.AspNetCore.DeveloperCertificates.XPlat (5)
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
481Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (3)
549Log.DirectoryPermissionsNotSecure(dirInfo.FullName); 1042if (!TryGetOpenSslHash(cert.FullName, out var hash)) 1062Log.UnixOpenSslRehashTooManyHashes(cert.FullName, hash, MaxHashCollisions);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
168Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
Microsoft.AspNetCore.InternalTesting (3)
TestPathUtilities.cs (3)
19var projectFileInfo = new FileInfo(Path.Combine(directoryInfo.FullName, $"{solution}.slnf")); 25projectFileInfo = new FileInfo(Path.Combine(directoryInfo.FullName, "AspNetCore.slnx")); 29directoryInfo = new DirectoryInfo(Path.Combine(directoryInfo.FullName, "src"));
Microsoft.AspNetCore.Mvc.Testing (2)
WebApplicationFactory.cs (2)
576depsFile.FullName, 577Path.GetFileName(depsFile.FullName)));
Microsoft.AspNetCore.Server.IntegrationTesting (6)
ApplicationPublisher.cs (2)
31+ $" --output \"{publishDirectory.FullName}\"" 99return Task.FromResult(new PublishedApplication(publishDirectory.FullName, logger));
CachingApplicationPublisher.cs (3)
56return target.FullName; 66logger.LogDebug($"Processing {target.FullName}"); 70var destFileName = Path.Combine(target.FullName, fileInfo.Name);
Deployers\RemoteWindowsDeployer\RemoteWindowsDeployer.cs (1)
298DirectoryCopy(subdir.FullName, temppath, copySubDirs);
Microsoft.AspNetCore.Server.Kestrel.Core (5)
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
481Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (3)
549Log.DirectoryPermissionsNotSecure(dirInfo.FullName); 1042if (!TryGetOpenSslHash(cert.FullName, out var hash)) 1062Log.UnixOpenSslRehashTooManyHashes(cert.FullName, hash, MaxHashCollisions);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
168Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
Microsoft.AspNetCore.TestHost (2)
WebHostBuilderExtensions.cs (2)
196var solutionPath = Directory.EnumerateFiles(directoryInfo.FullName, solutionName).FirstOrDefault(); 199builder.UseContentRoot(Path.GetFullPath(Path.Combine(directoryInfo.FullName, solutionRelativePath)));
Microsoft.Build (6)
BackEnd\Components\SdkResolution\SdkResolverLoader.cs (4)
131var manifest = Path.Combine(subfolder.FullName, $"{subfolder.Name}.xml"); 132var assembly = Path.Combine(subfolder.FullName, $"{subfolder.Name}.dll"); 136assemblyAdded = TryAddAssemblyManifestFromXml(manifest, subfolder.FullName, manifestsList, location); 144ProjectFileErrorUtilities.ThrowInvalidProjectFile(new BuildEventFileInfo(location), "SdkResolverNoDllOrManifest", subfolder.FullName);
src\msbuild\src\Shared\TaskParameterValueStringConverter.cs (2)
27return fileInfo.FullName; 32return directoryInfo.FullName;
Microsoft.Build.Framework (12)
BuildEnvironmentHelper.cs (2)
627=> currentToolsDirectory.Parent?.FullName, 641MSBuildToolsDirectoryRoot = currentToolsDirectory.Parent?.FullName;
FileClassifier.cs (1)
301path = Directory.GetParent(EnsureNoTrailingSlash(path!))?.FullName;
FileUtilities_TempFiles.cs (2)
71path = Directory.CreateTempSubdirectory(msbuildTempFolderPrefix).FullName; 223CopyDirectory(subdirInfo.FullName, destDir);
FileUtilities.cs (1)
1455return parent?.FullName ?? path;
Loader\MSBuildLoadContext.cs (1)
37_directory = Directory.GetParent(assemblyPath)!.FullName;
Utilities\FileMatcher.cs (2)
960if (linkTarget is not null && IsSubdirectoryOf(recursionState.BaseDirectory, linkTarget.FullName, FileUtilities.PathComparison)) 3438&& IsSubdirectoryOf(directory, linkTarget.FullName, FileUtilities.PathComparison);
Utilities\FrameworkLocationHelper.cs (1)
1082fixedPath = fixedPathInfo.FullName;
ValueTypeParser.cs (2)
143return fileInfo.FullName; 148return directoryInfo.FullName;
Microsoft.Build.NuGetSdkResolver (11)
FileSystemInfoFullNameEqualityComparer.cs (8)
13/// Represents an implementation of <see cref="IEqualityComparer{T}" /> that compares <see cref="FileSystemInfo" /> objects by the value of their <see cref="FileSystemInfo.FullName" /> property. 30/// Determines whether the specified <see cref="FileSystemInfo" /> objects are equal by comparing their <see cref="FileSystemInfo.FullName" /> property. 34/// <returns><see langword="true" /> if the specified <see cref="FileSystemInfo" /> objects' <see cref="FileSystemInfo.FullName" /> property are equal, otherwise <see langword="false" />.</returns> 37return string.Equals(x.FullName, y.FullName, StringComparison.Ordinal); 41/// Returns a hash code for the specified <see cref="FileSystemInfo" /> object's <see cref="FileSystemInfo.FullName" /> property. 44/// <returns>A hash code for the specified <see cref="FileSystemInfo" /> object's <see cref="FileSystemInfo.FullName" /> property..</returns> 50return obj.FullName.GetHashCode(StringComparison.Ordinal);
GlobalJsonReader.cs (3)
84key => (key.LastWriteTime, new Lazy<Dictionary<string, string>>(() => ParseMSBuildSdkVersions(key.FullName, context))), 91return (lastWriteTime, new Lazy<Dictionary<string, string>>(() => ParseMSBuildSdkVersions(key.FullName, context))); 145candidatePath = new FileInfo(Path.Combine(currentDirectory.FullName, file));
Microsoft.Build.Tasks.CodeAnalysis (3)
src\roslyn\src\Compilers\Core\MSBuildTask\TaskEnvironmentExtensions.cs (1)
43public void DeleteNoThrow(FileInfo fileInfo) => taskEnvironment.DeleteNoThrow(taskEnvironment.GetAbsolutePath(fileInfo.FullName));
src\roslyn\src\Compilers\Core\MSBuildTask\Vbc.cs (1)
332TaskEnvironment.FileMove(actualPdbInfo.FullName, desiredLocation);
src\roslyn\src\Compilers\Shared\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
Microsoft.Build.Tasks.Core (74)
DownloadFile.cs (7)
185var destinationFile = new FileInfo(Path.Combine(destinationDirectory.FullName, filename)); 190Log.LogMessageFromResources(MessageImportance.Normal, "DownloadFile.DidNotDownloadBecauseOfFileMatch", SourceUrl, destinationFile.FullName, nameof(SkipUnchangedFiles), "true"); 192DownloadedFile = new TaskItem(destinationFile.FullName); 198Log.LogErrorFromResources("DownloadFile.Downloading", SourceUrl, destinationFile.FullName, response.Content.Headers.ContentLength); 206using (var target = new FileStream(destinationFile.FullName, FileMode.Create, FileAccess.Write, FileShare.None)) 208Log.LogMessageFromResources(MessageImportance.High, "DownloadFile.Downloading", SourceUrl, destinationFile.FullName, response.Content.Headers.ContentLength); 220DownloadedFile = new TaskItem(destinationFile.FullName);
src\msbuild\src\Shared\TaskParameterValueStringConverter.cs (2)
27return fileInfo.FullName; 32return directoryInfo.FullName;
TarDirectory.cs (16)
144Log.LogErrorWithCodeFromResources("TarDirectory.ErrorDirectoryDoesNotExist", _sourceDirectory.FullName); 157Log.LogErrorWithCodeFromResources("TarDirectory.ErrorFailIfNotIncremental", _sourceDirectory.FullName, _destinationFile.FullName); 166Log.LogErrorWithCodeFromResources("TarDirectory.ErrorFileExists", _destinationFile.FullName); 173File.Delete(_destinationFile.FullName); 177string lockedFileMessage = LockCheck.GetLockedFileMessage(_destinationFile.FullName); 178Log.LogErrorWithCodeFromResources("TarDirectory.ErrorFailed", _sourceDirectory.FullName, _destinationFile.FullName, e.Message, lockedFileMessage); 207Log.LogMessageFromResources(MessageImportance.High, "TarDirectory.Comment", _sourceDirectory.FullName, _destinationFile.FullName); 214using (FileStream destinationStream = new FileStream(_destinationFile.FullName, FileMode.Create, FileAccess.Write, FileShare.None)) 251await writer.WriteEntryAsync(info.FullName, entryName, cancellationToken) 274Log.LogErrorWithCodeFromResources("TarDirectory.ErrorFailed", _sourceDirectory.FullName, _destinationFile.FullName, e.Message, string.Empty); 317string basePath = FileUtilities.EnsureTrailingSlash(_sourceDirectory.FullName); 345string relativePath = info.FullName.Substring(basePath.Length);
Untar.cs (16)
136if (!FileSystems.Default.FileExists(sourceFile.FullName)) 138Log.LogErrorWithCodeFromResources("Untar.ErrorFileDoesNotExist", sourceFile.FullName); 191Log.LogErrorWithCodeFromResources("Untar.ErrorCouldNotOpenFile", sourceFile.FullName, e.Message); 201Log.LogErrorWithCodeFromResources("Untar.ErrorCouldNotOpenFile", sourceFile.FullName, e.Message); 271AbsolutePath fullDestinationDirectoryPath = TaskEnvironment.GetAbsolutePath(FileUtilities.EnsureTrailingSlash(destinationDirectory.FullName)).GetCanonicalForm(); 283AbsolutePath fullDestinationPath = TaskEnvironment.GetAbsolutePath(Path.Combine(destinationDirectory.FullName, entryName)).GetCanonicalForm(); 297if (tarEntry.EntryType is TarEntryType.Directory || Path.GetFileName(destinationPath.FullName).Length == 0) 301Directory.CreateDirectory(destinationPath.FullName); 308Log.LogErrorWithCodeFromResources("Untar.ErrorCouldNotCreateDestinationDirectory", destinationPath.FullName, e.Message); 323Log.LogMessageFromResources(MessageImportance.Low, "Untar.DidNotUntarBecauseOfFileMatch", entryName, destinationPath.FullName, nameof(SkipUnchangedFiles), "true"); 328Log.LogErrorWithCodeFromResources("Untar.ErrorFailIfNotIncremental", entryName, destinationPath.FullName); 350string lockedFileMessage = LockCheck.GetLockedFileMessage(destinationPath.FullName); 351Log.LogErrorWithCodeFromResources("Untar.ErrorCouldNotMakeFileWriteable", entryName, destinationPath.FullName, e.Message, lockedFileMessage); 358Log.LogMessageFromResources(MessageImportance.Normal, "Untar.FileComment", entryName, destinationPath.FullName); 364await tarEntry.ExtractToFileAsync(destinationPath.FullName, overwrite: true, _cancellationTokenSource.Token) 373Log.LogErrorWithCodeFromResources("Untar.ErrorCouldNotExtractFile", entryName, destinationPath.FullName, e.Message);
Unzip.cs (15)
179AbsolutePath fullDestinationDirectoryPath = TaskEnvironment.GetAbsolutePath(FileUtilities.EnsureTrailingSlash(destinationDirectory.FullName)).GetCanonicalForm(); 189AbsolutePath fullDestinationPath = TaskEnvironment.GetAbsolutePath(Path.Combine(destinationDirectory.FullName, zipArchiveEntry.FullName)).GetCanonicalForm(); 196if (Path.GetFileName(destinationPath.FullName).Length == 0) 199Directory.CreateDirectory(destinationPath.FullName); 203if (!destinationPath.FullName.StartsWith(destinationDirectory.FullName, StringComparison.OrdinalIgnoreCase)) 207Log.LogErrorFromResources("Unzip.ErrorExtractingResultsInFilesOutsideDestination", destinationPath.FullName, destinationDirectory.FullName); 213Log.LogMessageFromResources(MessageImportance.Low, "Unzip.DidNotUnzipBecauseOfFileMatch", zipArchiveEntry.FullName, destinationPath.FullName, nameof(SkipUnchangedFiles), "true"); 218Log.LogErrorFromResources("Unzip.FileComment", zipArchiveEntry.FullName, destinationPath.FullName); 240string lockedFileMessage = LockCheck.GetLockedFileMessage(destinationPath.FullName); 241Log.LogErrorWithCodeFromResources("Unzip.ErrorCouldNotMakeFileWriteable", zipArchiveEntry.FullName, destinationPath.FullName, e.Message, lockedFileMessage); 248Log.LogMessageFromResources(MessageImportance.Normal, "Unzip.FileComment", zipArchiveEntry.FullName, destinationPath.FullName); 273using (FileStream destination = new FileStream(destinationPath.FullName, fileStreamOptions)) 291Log.LogErrorWithCodeFromResources("Unzip.ErrorCouldNotExtractFile", zipArchiveEntry.FullName, destinationPath.FullName, e.Message);
ZipDirectory.cs (18)
71Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorDirectoryDoesNotExist", sourceDirectory.FullName); 86Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFileExists", destinationFile.FullName); 93File.Delete(destinationFile.FullName); 97string lockedFileMessage = LockCheck.GetLockedFileMessage(destinationFile.FullName); 98Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message, lockedFileMessage); 108Log.LogErrorFromResources("ZipDirectory.Comment", sourceDirectory.FullName, destinationFile.FullName); 112Log.LogMessageFromResources(MessageImportance.High, "ZipDirectory.Comment", sourceDirectory.FullName, destinationFile.FullName); 115ZipFile.CreateFromDirectory(sourceDirectory.FullName, destinationFile.FullName); 119ZipFile.CreateFromDirectory(sourceDirectory.FullName, destinationFile.FullName, compressionLevel.Value, includeBaseDirectory: false); 135ZipFile.CreateFromDirectory(sourceDirectory.FullName, destinationFile.FullName); 141Log.LogErrorWithCodeFromResources("ZipDirectory.ErrorFailed", sourceDirectory.FullName, destinationFile.FullName, e.Message, string.Empty);
Microsoft.Build.Utilities.Core (15)
ToolLocationHelper.cs (15)
2527DebugTrace.WriteLine($"Found ExtensionsSDK folder '{extensionSdksDirectory.FullName}'. "); 2530DebugTrace.WriteLine($"Found '{sdkNameDirectories.Length}' sdkName directories under '{extensionSdksDirectory.FullName}'"); 2536DebugTrace.WriteLine($"Found '{sdkVersionDirectories.Length}' sdkVersion directories under '{sdkNameFolders.FullName}'"); 2542DebugTrace.WriteLine($"Parsed sdk version folder '{sdkVersionDirectory.Name}' under '{sdkVersionDirectory.FullName}'"); 2553string pathToSDKManifest = Path.Combine(sdkVersionDirectory.FullName, "SDKManifest.xml"); 2556targetPlatformSDK.ExtensionSDKs.Add(SDKKey, FileUtilities.EnsureTrailingSlash(sdkVersionDirectory.FullName)); 2565DebugTrace.WriteLine($"SDKKey '{SDKKey}' was already found, not adding sdk under '{sdkVersionDirectory.FullName}'"); 2570DebugTrace.WriteLine($"Failed to parse sdk version folder '{sdkVersionDirectory.Name}' under '{sdkVersionDirectory.FullName}'"); 2628string platformSDKDirectory = Path.Combine(rootPathWithIdentifier.FullName, version); 3040DebugTrace.WriteLine($"Found '{platformVersions.Length}' platform version directories under '{platformIdentifier.FullName}'"); 3056string pathToPlatformManifest = Path.Combine(platformVersion.FullName, "Platform.xml"); 3059sdk.Platforms.Add(sdkKey, FileUtilities.EnsureTrailingSlash(platformVersion.FullName)); 3068DebugTrace.WriteLine($"SDKKey '{sdkKey}' was already found, not adding platform under '{platformVersion.FullName}'"); 3073DebugTrace.WriteLine($"Failed to parse platform version folder '{platformVersion.Name}' under '{platformVersion.FullName}'"); 3199pathToReturn = Directory.GetParent(pathToReturn).FullName;
Microsoft.CodeAnalysis.BuildClient.Package (1)
src\roslyn\src\Compilers\Shared\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
Microsoft.CodeAnalysis.CSharp.Workspaces (1)
SyncedSource\FileBasedPrograms\ProjectLocator.cs (1)
50projectFilePath = files.First().FullName;
Microsoft.CodeAnalysis.Features (1)
MetadataAsSource\MetadataAsSourceFileService.cs (1)
137TryDeleteFolderWhichContainsReadOnlyFiles(directoryInfo.FullName);
Microsoft.CodeAnalysis.Razor.Compiler (1)
Language\DefaultRazorProjectItem.cs (1)
63public override string PhysicalPath => _fileInfo?.FullName ?? _physicalFilePath;
Microsoft.CodeAnalysis.Scripting (1)
src\roslyn\src\Compilers\Shared\GlobalAssemblyCacheHelpers\MonoGlobalAssemblyCache.cs (1)
34s_gacDirectory = Directory.GetParent(Path.GetDirectoryName(systemAssemblyFile)).Parent.FullName;
Microsoft.CodeAnalysis.Workspaces (1)
Rename\ConflictEngine\MutableConflictResolution.cs (1)
104var directory = Directory.GetParent(document.FilePath)?.FullName;
Microsoft.CodeAnalysis.Workspaces.MSBuild.Contracts (1)
MonoMSBuildDiscovery.cs (1)
158s_monoMSBuildDirectory = versionDirectory.EnumerateDirectories().SingleOrDefault(d => string.Equals(d.Name, "bin", StringComparison.OrdinalIgnoreCase))?.FullName;
Microsoft.Data.Analysis.Tests (1)
test\Microsoft.ML.TestFramework\BaseTestClass.cs (1)
57OutDir = Path.Combine(currentAssemblyLocation.Directory.FullName, "TestOutput");
Microsoft.DotNet.Build.Tasks.Feed (3)
src\PushToBuildStorage.cs (3)
574DeleteFile(destFile.FullName); 606_log.LogMessage(MessageImportance.Low, $"Removing read-only attribute from \"{destFile.FullName}\"."); 607File.SetAttributes(destFile.FullName, FileAttributes.Normal);
Microsoft.DotNet.Build.Tasks.Packaging (1)
PackageIndex.cs (1)
39.Select(packageIndexFileInfo => $"{packageIndexFileInfo.FullName}:{packageIndexFileInfo.Length}:{packageIndexFileInfo.LastWriteTimeUtc.Ticks}"));
Microsoft.DotNet.Cli.Definitions (1)
src\sdk\src\Resolvers\Microsoft.DotNet.NativeWrapper\EnvironmentProvider.cs (1)
84dotnetExeFromPath = fileInfo.FullName;
Microsoft.DotNet.Cli.Utils (3)
PathUtility.cs (3)
112var path1 = PathUtilities.EnsureTrailingSlash(directory.FullName); 114var path2 = childItem.FullName; 382var filePath = Path.Combine(directory.FullName, relativeFilePath);
Microsoft.DotNet.Configurer (1)
CliFolderPathCalculator.cs (1)
18Path.Combine(new DirectoryInfo(AppContext.BaseDirectory).Parent?.FullName ?? string.Empty, "NuGetFallbackFolder");
Microsoft.DotNet.HotReload.Watch (1)
FileWatcher\PollingDirectoryWatcher.cs (1)
163filePath = entity.FullName;
Microsoft.DotNet.InternalAbstractions (3)
DirectoryPath.cs (2)
55return new DirectoryPath(parentDirectory.FullName); 68return new DirectoryPath(parentDirectory.FullName);
TemporaryDirectory.cs (1)
36return Directory.CreateTempSubdirectory().FullName;
Microsoft.DotNet.NativeWrapper (1)
EnvironmentProvider.cs (1)
84dotnetExeFromPath = fileInfo.FullName;
Microsoft.DotNet.ProjectTools (1)
src\sdk\src\Cli\Microsoft.DotNet.FileBasedPrograms\ProjectLocator.cs (1)
50projectFilePath = files.First().FullName;
Microsoft.Extensions.AI.Evaluation.Console (4)
Commands\CleanCacheCommand.cs (1)
39string storageRootPath = storageRootDir.FullName;
Commands\CleanResultsCommand.cs (1)
44string storageRootPath = storageRootDir.FullName;
Commands\ReportCommand.cs (2)
54string storageRootPath = storageRootDir.FullName; 119string outputFilePath = outputFile.FullName;
Microsoft.Extensions.AI.Evaluation.Reporting (4)
Storage\DiskBasedResultStore.cs (4)
79string.Format(CultureInfo.CurrentCulture, DeserializationFailedMessage, resultFile.FullName)) 106var resultFile = new FileInfo(Path.Combine(resultDir.FullName, $"{result.IterationName}.json")); 326var scenarioDir = new DirectoryInfo(Path.Combine(executionDir.FullName, scenarioName)); 362var resultFile = new FileInfo(Path.Combine(scenarioDir.FullName, $"{iterationName}.json"));
Microsoft.Extensions.AI.Templates.Tests (2)
TemplateExecutionTestClassFixtureBase.cs (1)
89CopySandboxDirectory(subDir.FullName, Path.Combine(testSandbox, subDir.Name));
WellKnownPaths.cs (1)
54directory = Directory.GetParent(directory)?.FullName;
Microsoft.Extensions.DataIngestion (6)
IngestionPipeline.cs (6)
89rootActivity?.SetTag(ProcessDirectory.DirectoryPathTagName, directory.FullName) 92_logger?.ProcessingDirectory(directory.FullName, searchPattern, searchOption); 145processFileActivity?.SetTag(ProcessFile.FilePathTagName, fileInfo.FullName); 146_logger?.ReadingFile(fileInfo.FullName, GetShortName(_reader)); 162_logger?.IngestingFailed(ex, document?.Identifier ?? fileInfo.FullName); 167string documentId = document?.Identifier ?? fileInfo.FullName;
Microsoft.Extensions.DataIngestion.Abstractions (2)
IngestionDocumentReader.cs (2)
27string identifier = Throw.IfNull(source).FullName; // entire path is more unique than just part of it. 45using FileStream stream = new(source.FullName, FileMode.Open, FileAccess.Read, FileShare.Read, bufferSize: 1, FileOptions.Asynchronous);
Microsoft.Extensions.DataIngestion.Markdig (1)
MarkdownReader.cs (1)
23string fileContent = await File.ReadAllTextAsync(source.FullName, cancellationToken).ConfigureAwait(false);
Microsoft.Extensions.DataIngestion.MarkItDown (6)
MarkItDownMcpReader.cs (2)
43throw new FileNotFoundException("The specified file does not exist.", source.FullName); 47DataContent dataContent = await DataContent.LoadFromAsync(source.FullName, mediaType, cancellationToken).ConfigureAwait(false);
MarkItDownReader.cs (4)
41throw new FileNotFoundException("The specified file does not exist.", source.FullName); 47string workingDirectory = _exePath?.Directory?.FullName ?? AppContext.BaseDirectory; 51FileName = _exePath?.FullName ?? "markitdown", 65startInfo.ArgumentList.Add(source.FullName);
Microsoft.Extensions.DataIngestion.Tests (11)
IngestionPipelineTests.cs (6)
53File.WriteAllText(_withTable.FullName, FirstFileContent); 69File.WriteAllText(_withImage.FullName, secondFileContent); 98.GetAsync(record => _sampleFiles.Any(info => info.FullName == (string)record["documentid"]!), top: 1000) 106Assert.Contains((string)retrieved[i]["documentid"]!, _sampleFiles.Select(info => info.FullName)); 132.GetAsync(record => ((string)record["documentid"]!).StartsWith(directory.FullName), top: 1000) 140Assert.StartsWith(directory.FullName, (string)retrieved[i]["documentid"]!);
Readers\DocumentReaderConformanceTests.cs (5)
99SimpleAsserts(document, inputFile.FullName, inputFile.FullName); 120SimpleAsserts(document, inputFile.FullName, expectedId: inputFile.FullName); 193using FileStream inputStream = new(file.FullName, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 1, FileOptions.Asynchronous);
Microsoft.Extensions.FileProviders.Physical (3)
PhysicalDirectoryInfo.cs (1)
46public string PhysicalPath => _info.FullName;
PhysicalFileInfo.cs (1)
32public string PhysicalPath => _info.FullName;
PollingFileChangeToken.cs (1)
57_directoryInfo ??= new DirectoryInfo(_fileInfo.FullName);
Microsoft.Extensions.FileSystemGlobbing (6)
Abstractions\DirectoryInfoWrapper.cs (4)
79new DirectoryInfo(Path.Combine(_directoryInfo.FullName, name)), 89=> new FileInfoWrapper(new FileInfo(Path.Combine(_directoryInfo.FullName, name))); 98/// Equals the value of <seealso cref="System.IO.FileSystemInfo.FullName" />. 100public override string FullName => _directoryInfo.FullName;
Abstractions\FileInfoWrapper.cs (2)
39/// Equals the value of <see cref="System.IO.FileSystemInfo.FullName" />. 41public override string FullName => _fileInfo.FullName;
Microsoft.Extensions.Http.Resilience.Tests (2)
BuildTransitive\GrpcNetClientFactoryVersionTargetTests.cs (2)
420directory.FullName, 429return directory.FullName;
Microsoft.Maui.Resizetizer (10)
AndroidAdaptiveIconGenerator.cs (3)
66 var dir = Path.Combine(fullIntermediateOutputPath.FullName, dpi.Path); 110 var dir = Path.Combine(fullIntermediateOutputPath.FullName, dpi.Path); 143 var dir = Path.Combine(fullIntermediateOutputPath.FullName, "mipmap-anydpi-v26");
ResizeImageInfo.cs (6)
83 throw new FileNotFoundException("Unable to find background file: " + fileInfo.FullName, fileInfo.FullName); 85 info.Filename = fileInfo.FullName; 122 throw new FileNotFoundException("Unable to find foreground file: " + fgFileInfo.FullName, fgFileInfo.FullName); 124 info.ForegroundFilename = fgFileInfo.FullName;
Resizer.cs (1)
53 destination = Path.Combine(fullIntermediateOutputPath.FullName, destination);
Microsoft.ML.AutoML (4)
Experiment\ModelContainer.cs (2)
27using (var fs = File.Create(fileInfo.FullName)) 43using (var stream = new FileStream(_fileInfo.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
Experiment\Runners\RunnerUtil.cs (1)
58new FileInfo(Path.Combine(modelDirectory.FullName, $"Model{iterationNum}_{foldNum}.zip"));
Experiment\Runners\TrainValidateRunner.cs (1)
66new FileInfo(Path.Combine(modelDirectory.FullName, $"Model{iterationNum}.zip"));
Microsoft.ML.AutoML.Tests (1)
DatasetUtil.cs (1)
237DatasetUtil).Assembly.Location).Directory.FullName, relativePath);
Microsoft.ML.Core.Tests (5)
UnitTests\FileSource.cs (5)
30var dirName = Directory.CreateDirectory("MultiFileSourceUnitTest").FullName; 55var dataDir = Directory.CreateDirectory("MultiFileSourceUnitTest/Data").FullName; 63var dataFolderDir = Directory.CreateDirectory("MultiFileSourceUnitTest/DataFolder").FullName; 64var subFolder1Dir = Directory.CreateDirectory("MultiFileSourceUnitTest/DataFolder/SubFolder1").FullName; 65var subFolder2Dir = Directory.CreateDirectory("MultiFileSourceUnitTest/DataFolder/SubFolder2").FullName;
Microsoft.ML.IntegrationTests (1)
IntegrationTestBaseClass.cs (1)
49OutDir = Path.Combine(currentAssemblyLocation.Directory.FullName, "TestOutput");
Microsoft.ML.PerformanceTests (3)
Harness\ProjectGenerator.cs (2)
57<ProjectReference Include=""{GetProjectFilePath(buildPartition.RepresentativeBenchmarkCase.Descriptor.Type, logger).FullName}"" /> 70return string.Join(Environment.NewLine, File.ReadAllLines(csproj.FullName).Where(line => line.Contains("<NativeAssemblyReference")));
ImageClassificationBench.cs (1)
211string assemblyFolderPath = dataRoot.Directory.FullName;
Microsoft.ML.Samples (4)
Dynamic\Trainers\MulticlassClassification\ImageClassification\ImageClassificationDefault.cs (1)
312string assemblyFolderPath = _dataRoot.Directory.FullName;
Dynamic\Trainers\MulticlassClassification\ImageClassification\LearningRateSchedulingCifarResnetTransferLearning.cs (1)
353string assemblyFolderPath = _dataRoot.Directory.FullName;
Dynamic\Trainers\MulticlassClassification\ImageClassification\ResnetV2101TransferLearningEarlyStopping.cs (1)
309string assemblyFolderPath = _dataRoot.Directory.FullName;
Dynamic\Trainers\MulticlassClassification\ImageClassification\ResnetV2101TransferLearningTrainTestSplit.cs (1)
330string assemblyFolderPath = _dataRoot.Directory.FullName;
Microsoft.ML.Samples.GPU (4)
docs\e4e90a0f3c9b109a\LearningRateSchedulingCifarResnetTransferLearning.cs (1)
353string assemblyFolderPath = _dataRoot.Directory.FullName;
docs\samples\Microsoft.ML.Samples\Dynamic\Trainers\MulticlassClassification\ImageClassification\ImageClassificationDefault.cs (1)
312string assemblyFolderPath = _dataRoot.Directory.FullName;
docs\samples\Microsoft.ML.Samples\Dynamic\Trainers\MulticlassClassification\ImageClassification\ResnetV2101TransferLearningEarlyStopping.cs (1)
309string assemblyFolderPath = _dataRoot.Directory.FullName;
docs\samples\Microsoft.ML.Samples\Dynamic\Trainers\MulticlassClassification\ImageClassification\ResnetV2101TransferLearningTrainTestSplit.cs (1)
330string assemblyFolderPath = _dataRoot.Directory.FullName;
Microsoft.ML.SamplesUtils (1)
SamplesDatasetUtils.cs (1)
29directory = Directory.GetParent(directory).FullName;
Microsoft.ML.SearchSpace.Tests (2)
TestBase.cs (2)
41return Path.Combine(testDataDir.FullName, fileName).Replace(cwd, "."); 53return Path.Combine(testDataDir.FullName, folderName).Replace(cwd, ".");
Microsoft.ML.TestFramework (7)
BaseTestClass.cs (1)
57OutDir = Path.Combine(currentAssemblyLocation.Directory.FullName, "TestOutput");
CopyAction.cs (6)
31file.CopyTo(destFile.FullName, true); 34file.CopyTo(destFile.FullName, true); 46var deploymentDirectory = testDirectory.Parent.FullName; 53CopyAll(dir.FullName, testDirectory.FullName); 54CopyAll(Path.Combine(deploymentDirectory, "AutoLoad"), testDirectory.FullName);
Microsoft.ML.TestFrameworkCommon (1)
TestCommon.cs (1)
78directory = Directory.GetParent(directory).FullName;
Microsoft.NET.Build.Containers (5)
ContentStore.cs (1)
21public static string TempPath { get; } = Directory.CreateTempSubdirectory().FullName;
Layer.cs (2)
127string relativePath = Path.GetRelativePath(directory, fsi.FullName); 184var fileStream = File.OpenRead(file.FullName);
LocalDaemons\ContainerRuntimeOperations.cs (2)
97string archivePath = Path.Combine(temporaryDirectory.FullName, "image.tar"); 131temporaryDirectory.FullName,
Microsoft.NET.HostModel (3)
AppHost\BinaryUtils.cs (1)
167var destinationDirectory = new FileInfo(destinationPath).Directory.FullName;
Bundle\Bundler.cs (1)
321string destinationDirectory = new FileInfo(bundlePath).Directory!.FullName;
ComHost\ComHost.cs (1)
30var destinationDirectory = new FileInfo(comHostDestinationFilePath).Directory.FullName;
Microsoft.NET.Sdk.Publish.Tasks (2)
MsDeploy\CommonUtility.cs (1)
1389log.LogMessage(Framework.MessageImportance.Normal, string.Format(CultureInfo.CurrentCulture, Resources.BUILDTASK_RemoveEmptyDirectories_Deleting, dirinfo.FullName));
WebConfigTelemetry.cs (1)
82solutionDirectory = Directory.GetParent(solutionDirectory)?.FullName;
Microsoft.NET.Sdk.WorkloadMSBuildSdkResolver (1)
WorkloadSdkResolver.cs (1)
95dotnetRoot = Directory.GetParent(sdkDirectory)?.Parent?.FullName;
Microsoft.TemplateEngine.Cli (2)
PostActionProcessors\AddJsonPropertyPostActionProcessor.cs (2)
69currentDirectory = Directory.GetParent(currentDirectory)?.FullName; 274directory = Path.GetPathRoot(directory) != directory ? Directory.GetParent(directory)?.FullName : null;
Microsoft.TemplateEngine.Edge (6)
ReflectionLoadProbingPath.cs (6)
71AssemblyName candidateName = AssemblyLoadContext.GetAssemblyName(file.FullName); 175bestMatch.Push(file.FullName); 221.Where(x => x.FullName.IndexOf($"{Path.DirectorySeparatorChar}lib{Path.DirectorySeparatorChar}", StringComparison.OrdinalIgnoreCase) > -1 222&& (x.FullName.IndexOf($"{Path.DirectorySeparatorChar}netstandard", StringComparison.OrdinalIgnoreCase) > -1 223|| x.FullName.IndexOf($"{Path.DirectorySeparatorChar}netcoreapp", StringComparison.OrdinalIgnoreCase) > -1)) 224.OrderByDescending(x => x.FullName);
Microsoft.TemplateEngine.Utils (1)
FileFindHelpers.cs (1)
26directory = Path.GetPathRoot(directory) != directory ? Directory.GetParent(directory).FullName : null;
Microsoft.TestPlatform.Extensions.BlameDataCollector (2)
ProcDumpDumper.cs (2)
276File.Delete(dumpToRemove.FullName); 285return allTargetProcessDumps.Take(allTargetProcessDumps.Count - 1).Select(dump => dump.FullName).ToList();
Microsoft.TestPlatform.TestHostRuntimeProvider (2)
Hosting\DotnetTestHostManager.cs (2)
385var testHostExeNugetPath = Path.Combine(testHostNugetRoot.FullName, "build", "net8.0", folderName, exeName); 388testHostExeNugetPath = Path.Combine(testHostNugetRoot.FullName, "build", "net9.0", folderName, exeName);
Microsoft.VisualBasic.Core (6)
Microsoft\VisualBasic\CompilerServices\VB6File.vb (1)
392m_sFullPath = (New FileInfo(sPath)).FullName
Microsoft\VisualBasic\FileIO\FileSystem.vb (2)
1498Return DInfo.GetFiles(IO.Path.GetFileName(FullPath))(0).FullName 1502Return DInfo.GetDirectories(IO.Path.GetFileName(FullPath))(0).FullName
Microsoft\VisualBasic\FileSystem.vb (3)
405FileName = file.FullName 1323Result = (New FileInfo(sPath)).FullName 1392FileName = (New FileInfo(FileName)).FullName
Microsoft.VisualStudio.TestPlatform.Common (1)
Utilities\InstallationContext.cs (1)
27var vsInstallPath = new DirectoryInfo(typeof(InstallationContext).Assembly.GetAssemblyLocation()).Parent?.Parent?.Parent?.FullName;
MSBuild (2)
src\msbuild\src\Shared\TaskParameterValueStringConverter.cs (2)
27return fileInfo.FullName; 32return directoryInfo.FullName;
NuGet.Build.Tasks (2)
WriteRestoreGraphTask.cs (2)
77log.LogMinimal($"Writing {fileInfo.FullName}"); 79dgFile.Save(fileInfo.FullName);
NuGet.Build.Tasks.Console (1)
Program.cs (1)
82MSBuildFeatureFlags.MSBuildExeFilePath = arguments.MSBuildExeFilePath.FullName;
NuGet.CommandLine.XPlat (1)
Commands\Package\Update\PackageUpdateCommand.cs (1)
60Project = project?.FullName ?? Environment.CurrentDirectory,
NuGet.Commands (4)
RestoreCommand\Utility\LockFileUtils.cs (1)
571var projectDir = PathUtility.EnsureTrailingSlash(msbuildFilePathInfo.Directory.FullName);
SignCommand\SignCommandRunner.cs (3)
132tempPackageFile.FullName, 142FileUtility.Replace(tempPackageFile.FullName, outputPath); 156FileUtility.Delete(tempPackageFile.FullName);
NuGet.Configuration (6)
Settings\Settings.cs (4)
492.OrderByDescending(file => file.FullName.Count(c => c == Path.DirectorySeparatorChar)) 497.Select(file => ReadSettings(file.DirectoryName!, file.FullName, settingsLoadingContext: settingsLoadingContext)) 501root.FullName, 770var normalizedPath = new DirectoryInfo(rawPath).FullName;
Settings\SettingsLoadingContext.cs (2)
75FileRead?.Invoke(this, fileInfo.FullName); 77if (ConfigurationEventSource.Instance.IsEnabled()) ConfigurationEventSource.Instance.SettingsLoadingContext_FileRead(fileInfo.FullName, isMachineWide ? 1 : 0, isReadOnly ? 1 : 0);
NuGet.PackageManagement (3)
Projects\ProjectJsonNuGetProject.cs (3)
123public string JsonConfigPath => _jsonConfig.FullName; 324string.Format(CultureInfo.CurrentCulture, Strings.ErrorLoadingPackagesConfig, _jsonConfig.FullName, ex.Message), ex); 343string.Format(CultureInfo.CurrentCulture, Strings.ErrorLoadingPackagesConfig, _jsonConfig.FullName, ex.Message), ex);
NuGet.Packaging (19)
PackageExtractor.cs (5)
76var packageDirectory = packageDirectoryInfo.FullName; 211var packageDirectory = packageDirectoryInfo.FullName; 317var packageDirectory = packageDirectoryInfo.FullName; 626Directory.Exists(parent.FullName) && 630Directory.Delete(parent.FullName);
PackageFolderReader.cs (11)
75message.AppendFormat(CultureInfo.CurrentCulture, Strings.Message_Path, _root.FullName); 83return nuspecFiles[0].FullName; 96var file = new FileInfo(Path.Combine(_root.FullName, path)); 98if (!file.FullName.StartsWith(_root.FullName, StringComparison.OrdinalIgnoreCase)) 118var searchFolder = new DirectoryInfo(_root.FullName); 123searchFolder = new DirectoryInfo(Path.Combine(_root.FullName, folder)); 178&& !StringComparer.OrdinalIgnoreCase.Equals(parent.FullName, root.FullName)) 187throw new FileNotFoundException(file.FullName); 215targetPath = extractFile(sourceFile.FullName, targetPath, fileStream);
Signing\TrustStore\X509TrustStore.cs (2)
123fallbackCertificateBundleFile?.FullName, 144fallbackCertificateBundleFile?.FullName,
Signing\Utility\SigningUtility.cs (1)
274FileUtility.Delete(tempPackageFile.FullName);
NuGet.Protocol (18)
LocalRepositories\FindLocalPackagesResourceUnzipped.cs (3)
119var nupkgPath = Path.Combine(rootDirInfo.FullName, $"{name}{PackagingCoreConstants.NupkgExtension}"); 138var nuspecPath = Path.Combine(root.FullName, name, $"{name}{PackagingCoreConstants.NuspecExtension}"); 147var nupkgPath = Path.Combine(root.FullName, $"{name}{PackagingCoreConstants.NupkgExtension}");
LocalRepositories\LocalV2FindPackageByIdResource.cs (2)
53_source = rootDirInfo.FullName; 459nupkgInfo.FullName,
LocalRepositories\LocalV3FindPackageByIdResource.cs (2)
87_source = rootDirInfo.FullName; 520versionDir.FullName));
Plugins\PluginDiscoverer.cs (4)
203PluginFile pluginFile = new PluginFile(fileInfo.FullName, new Lazy<PluginFileState>(() => PluginFileState.Valid), requiresDotnetHost: false); 210pluginFiles.Add(new PluginFile(fileInfo.FullName, state)); 276PluginFile pluginFile = new PluginFile(file.FullName, new Lazy<PluginFileState>(() => PluginFileState.Valid), requiresDotnetHost: false); 313var fileMode = File.GetUnixFileMode(fileInfo.FullName);
Utility\LocalFolderUtility.cs (7)
371var expectedPath = Path.Combine(rootDirInfo.FullName, idVersion, $"{idVersion}{PackagingCoreConstants.NupkgExtension}"); 474dir.FullName, 663var pathResolver = new VersionFolderPathResolver(rootDirInfo.FullName); 1027var pathResolver = new VersionFolderPathResolver(rootDirectoryInfo.FullName); 1216using (var package = new PackageArchiveReader(nupkgFile.FullName)) 1224nupkgFile.FullName, 1236nupkgFile.FullName,
PresentationCore (1)
MS\Internal\FontCache\DWriteFactory.cs (1)
63localPath = Directory.GetParent(fontCollectionUri.LocalPath).FullName + Path.DirectorySeparatorChar;
PresentationUI (1)
MS\Internal\Documents\RMPublishingDialog.cs (1)
389templateList.Add(new Uri(file.FullName));
RepoTasks (5)
src\aspnetcore\src\Shared\CertificateGeneration\MacOSCertificateManager.cs (1)
481Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
src\aspnetcore\src\Shared\CertificateGeneration\UnixCertificateManager.cs (3)
549Log.DirectoryPermissionsNotSecure(dirInfo.FullName); 1042if (!TryGetOpenSslHash(cert.FullName, out var hash)) 1062Log.UnixOpenSslRehashTooManyHashes(cert.FullName, hash, MaxHashCollisions);
src\aspnetcore\src\Shared\CertificateGeneration\WindowsCertificateManager.cs (1)
168Log.DirectoryPermissionsNotSecure(dirInfo.FullName);
ResultsOfTGenerator (2)
Program.cs (2)
214Console.WriteLine($"{file.Length:N0} bytes written to {file.FullName} successfully!"); 300Console.WriteLine($"{file.Length:N0} bytes written to {file.FullName} successfully!");
sdk-tasks (2)
GenerateMSBuildExtensionsSWR.cs (1)
35File.WriteAllText(outputFileInfo.FullName, sb.ToString());
TarGzFileCreateFromDirectory.cs (1)
101var parentDirectory = Directory.GetParent(SourceDirectory).Parent.FullName;
System.CodeDom (1)
src\runtime\src\libraries\Common\src\System\IO\TempFileCollection.cs (1)
160return Directory.CreateTempSubdirectory().FullName;
System.Configuration.ConfigurationManager (2)
src\runtime\src\libraries\Common\src\System\IO\TempFileCollection.cs (1)
160return Directory.CreateTempSubdirectory().FullName;
System\Configuration\LocalFileSettingsProvider.cs (1)
327file = Path.Combine(previousDirectory.FullName, ConfigurationManagerInternalFactory.Instance.UserConfigFilename);
System.DirectoryServices (1)
System\DirectoryServices\ActiveDirectory\DirectoryContext.cs (1)
699tempHandle = global::Interop.Kernel32.LoadLibrary(windowsDirectory.FullName + "\\ADAM\\ntdsapi.dll");
System.Formats.Tar (5)
System\Formats\Tar\TarEntry.cs (1)
490return target.FullName;
System\Formats\Tar\TarFile.cs (4)
531writer.WriteEntry(di.FullName, GetEntryNameForBaseDirectory(di.Name)); 586await writer.WriteEntryAsync(di.FullName, GetEntryNameForBaseDirectory(di.Name), cancellationToken).ConfigureAwait(false); 639includeBaseDirectory && di.Parent != null ? di.Parent.FullName : di.FullName;
System.IO.Compression.ZipFile (4)
System\IO\Compression\ZipFile.Create.cs (3)
560string basePath = di.FullName; 564basePath = di.Parent.FullName; 567FileSystemEnumerable<(string, CreateEntryType)> fse = CreateEnumerableForCreate(di.FullName);
System\IO\Compression\ZipFileExtensions.ZipArchiveEntry.Extract.cs (1)
191string fullDestination = Path.GetFullPath(di.FullName);
System.IO.FileSystem.AccessControl (7)
System\IO\FileSystemAclExtensions.cs (7)
17return new DirectorySecurity(directoryInfo.FullName, AccessControlSections.Access | AccessControlSections.Owner | AccessControlSections.Group); 24return new DirectorySecurity(directoryInfo.FullName, includeSections); 31string fullPath = Path.GetFullPath(directoryInfo.FullName); 46return new FileSecurity(fileInfo.FullName, includeSections); 54string fullPath = Path.GetFullPath(fileInfo.FullName); 111FileSystem.CreateDirectory(directoryInfo.FullName, directorySecurity.GetSecurityDescriptorBinaryForm()); 178SafeFileHandle handle = CreateFileHandle(fileInfo.FullName, mode, rights, share, options, fileSecurity);
System.IO.Packaging (1)
System\IO\Packaging\Package.cs (1)
884package = new ZipPackage(packageFileInfo.FullName, packageMode, packageAccess, packageShare);
System.IO.Ports (4)
System\IO\Ports\SerialPort.Unix.cs (4)
56(File.Exists(entry.FullName + "/device/id") || 57Directory.Exists(entry.FullName + "/device/of_node"))) || 58(!isTtyS && Directory.Exists(entry.FullName + "/device/tty")) || 60(isTtyGS && (File.Exists(entry.FullName + "/dev"))))
System.Private.CoreLib (6)
src\runtime\src\libraries\System.Private.CoreLib\src\System\IO\FileInfo.cs (3)
184string? directoryPath = Path.GetDirectoryName(FullName); 189throw new FileNotFoundException(SR.Format(SR.IO_FileNotFound_FileName, FullName), FullName);
src\runtime\src\libraries\System.Private.CoreLib\src\System\IO\FileSystemInfo.cs (3)
110/// If a link does not exist in <see cref="FullName"/>, or this instance does not represent a link, returns <see langword="null"/>. 149/// Creates a symbolic link located in <see cref="FullName"/> that points to the specified <paramref name="pathToTarget"/>. 158/// <exception cref="IOException">A file or directory already exists in the location of <see cref="FullName"/>.
System.Windows.Forms.Design (1)
System\Windows\Forms\Design\DocumentDesigner.AxToolboxItem.cs (1)
172string fullPath = file.FullName;
vbc (1)
src\roslyn\src\Compilers\Shared\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
VBCSCompiler (1)
src\roslyn\src\Compilers\Shared\RuntimeHostInfo.cs (1)
68dotNetHostPath = resolvedPath.FullName;
vstest.console (5)
Processors\AeDebuggerArgumentProcessor.cs (5)
145procDumpPath = Path.Combine(procDumpToolDirectoryPath.FullName, ProcDumpExecutableHelper.ProcDumpFileName(_environment.Architecture)); 174procDumpInstallUnistallArgument = dumpDirectoryPath.FullName; 224if (!_fileHelper.DirectoryExists(directoryInfo.FullName)) 226_output.Error(false, string.Format(CultureInfo.CurrentCulture, invalidDirectoryErrorMessage, directoryInfo.FullName)); 249if (!_fileHelper.DirectoryExists(directoryInfo.FullName))
vstest.console.arm64 (5)
src\vstest\src\vstest.console\Processors\AeDebuggerArgumentProcessor.cs (5)
145procDumpPath = Path.Combine(procDumpToolDirectoryPath.FullName, ProcDumpExecutableHelper.ProcDumpFileName(_environment.Architecture)); 174procDumpInstallUnistallArgument = dumpDirectoryPath.FullName; 224if (!_fileHelper.DirectoryExists(directoryInfo.FullName)) 226_output.Error(false, string.Format(CultureInfo.CurrentCulture, invalidDirectoryErrorMessage, directoryInfo.FullName)); 249if (!_fileHelper.DirectoryExists(directoryInfo.FullName))