mirror of
https://github.com/aphrody-labs/NuGet.Client.git
synced 2026-10-15 13:59:49 +00:00
42 lines
1.2 KiB
C#
42 lines
1.2 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.
|
|
|
|
#nullable disable
|
|
|
|
using NuGet.Protocol.Core.Types;
|
|
using NuGet.Test.Utility;
|
|
|
|
namespace NuGet.Protocol.Test
|
|
{
|
|
/// <summary>
|
|
/// This is a test source cache context that should be used in places where it is not convenient to dispose the
|
|
/// <see cref="SourceCacheContext"/>. Since <see cref="SourceCacheContext.GeneratedTempFolder"/> must be called
|
|
/// before <see cref="SourceCacheContext.Dispose()"/> does anything meaningful, this implementation disables that
|
|
/// property.
|
|
/// </summary>
|
|
public sealed class TestSourceCacheContext : SourceCacheContext
|
|
{
|
|
private TestDirectory _testDirectory;
|
|
|
|
public override string GeneratedTempFolder
|
|
{
|
|
get
|
|
{
|
|
if (_testDirectory == null)
|
|
{
|
|
_testDirectory = TestDirectory.Create();
|
|
}
|
|
|
|
return _testDirectory;
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
_testDirectory?.Dispose();
|
|
|
|
base.Dispose(disposing);
|
|
}
|
|
}
|
|
}
|