mirror of
https://github.com/aphrody-labs/NuGet.Client.git
synced 2026-10-14 21:39:05 +00:00
86 lines
2.7 KiB
C#
86 lines
2.7 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace NuGet.Test.Utility
|
|
{
|
|
/// <summary>
|
|
/// Create a basic test layout complete with a nuget.config file containing the paths
|
|
/// </summary>
|
|
public class SimpleTestPathContext : IDisposable
|
|
{
|
|
/// <summary>
|
|
/// Root working directory
|
|
/// </summary>
|
|
public TestDirectory WorkingDirectory { get; }
|
|
|
|
/// <summary>
|
|
/// Solution folder
|
|
/// </summary>
|
|
public string SolutionRoot { get; }
|
|
|
|
/// <summary>
|
|
/// PackageReference install location
|
|
/// </summary>
|
|
public string UserPackagesFolder { get; }
|
|
|
|
/// <summary>
|
|
/// Packages.config install location
|
|
/// </summary>
|
|
public string PackagesV2 { get; }
|
|
|
|
/// <summary>
|
|
/// NuGet.Config path
|
|
/// </summary>
|
|
public string NuGetConfig { get; }
|
|
|
|
/// <summary>
|
|
/// Local package source
|
|
/// </summary>
|
|
public string PackageSource { get; }
|
|
|
|
/// <summary>
|
|
/// Fallback folder
|
|
/// </summary>
|
|
public string FallbackFolder { get; }
|
|
|
|
/// <summary>
|
|
/// Http cache location
|
|
/// </summary>
|
|
public string HttpCacheFolder { get; }
|
|
|
|
/// <summary>
|
|
/// settings from <see cref="NuGetConfig"/>
|
|
/// </summary>
|
|
public SimpleTestSettingsContext Settings { get; }
|
|
|
|
public SimpleTestPathContext()
|
|
{
|
|
WorkingDirectory = TestDirectory.Create();
|
|
|
|
SolutionRoot = Path.Combine(WorkingDirectory.Path, "solution");
|
|
UserPackagesFolder = Path.Combine(WorkingDirectory.Path, "globalPackages");
|
|
PackagesV2 = Path.Combine(SolutionRoot, "packages");
|
|
NuGetConfig = Path.Combine(WorkingDirectory, "NuGet.Config");
|
|
PackageSource = Path.Combine(WorkingDirectory.Path, "source");
|
|
FallbackFolder = Path.Combine(WorkingDirectory.Path, "fallback");
|
|
HttpCacheFolder = Path.Combine(WorkingDirectory.Path, "v3-cache");
|
|
|
|
Directory.CreateDirectory(SolutionRoot);
|
|
Directory.CreateDirectory(UserPackagesFolder);
|
|
Directory.CreateDirectory(PackageSource);
|
|
Directory.CreateDirectory(FallbackFolder);
|
|
|
|
Settings = new SimpleTestSettingsContext(NuGetConfig, UserPackagesFolder, PackagesV2, FallbackFolder, PackageSource);
|
|
Settings.Save();
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
WorkingDirectory.Dispose();
|
|
}
|
|
}
|
|
}
|