Skip to content

Commit

Permalink
Remove redundant methods, pass through the cache context to the vulne…
Browse files Browse the repository at this point in the history
…rability resource
  • Loading branch information
nkolev92 committed Aug 15, 2023
1 parent 1177038 commit 6bcba8f
Show file tree
Hide file tree
Showing 5 changed files with 10 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ await _logger.LogAsync(RestoreLogMessage.CreateWarning(NuGetLogCode.NU1803,
}

AuditUtility.EnabledValue enableAudit = AuditUtility.ParseEnableValue(_request.Project.RestoreMetadata?.RestoreAuditProperties?.EnableAudit);
telemetry.TelemetryEvent[AuditEnabled] = AuditUtility.GetString(enableAudit);
telemetry.TelemetryEvent[AuditEnabled] = enableAudit.ToString();
if (enableAudit == AuditUtility.EnabledValue.ImplicitOptIn || enableAudit == AuditUtility.EnabledValue.ExplicitOptIn)
{
await PerformAuditAsync(enableAudit, graphs, telemetry, token);
Expand Down Expand Up @@ -486,7 +486,7 @@ private async Task PerformAuditAsync(AuditUtility.EnabledValue enableAudit, IEnu
await audit.CheckPackageVulnerabilitiesAsync(token);

telemetry.TelemetryEvent[AuditLevel] = (int)audit.MinSeverity;
telemetry.TelemetryEvent[AuditMode] = AuditUtility.GetString(audit.AuditMode);
telemetry.TelemetryEvent[AuditMode] = audit.AuditMode.ToString();

if (audit.DirectPackagesWithAdvisory is not null) { AddPackagesList(telemetry, AuditDirectVulnerabilitiesPackages, audit.DirectPackagesWithAdvisory); }
telemetry.TelemetryEvent[AuditDirectVulnerabilitiesCount] = audit.DirectPackagesWithAdvisory?.Count ?? 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,12 @@ public RestoreCommandProviders(
private static IReadOnlyList<IVulnerabilityInformationProvider> CreateVulnerabilityInfoProviders(IReadOnlyList<IRemoteDependencyProvider> remoteProviders)
{
List<IVulnerabilityInformationProvider> providers = new(remoteProviders.Count);
using var sourceCacheContext = new SourceCacheContext();
for (int i = 0; i < remoteProviders.Count; i++)
{
if (remoteProviders[i].SourceRepository != null)
{
providers.Add(new VulnerabilityInformationProvider(remoteProviders[i].SourceRepository, NullLogger.Instance));
providers.Add(new VulnerabilityInformationProvider(remoteProviders[i].SourceRepository, sourceCacheContext, NullLogger.Instance));
}
}
return providers;
Expand Down Expand Up @@ -150,7 +151,7 @@ public static RestoreCommandProviders Create(
var vulnerabilityInfoProviders = new List<IVulnerabilityInformationProvider>(remoteProviders.Count);
foreach (SourceRepository source in sources)
{
var provider = new VulnerabilityInformationProvider(source, log);
var provider = new VulnerabilityInformationProvider(source, cacheContext, log);
vulnerabilityInfoProviders.Add(provider);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ public RestoreCommandProviders GetOrCreate(
var vulnerabilityInformationProviders = new List<IVulnerabilityInformationProvider>(sources.Count);
foreach (SourceRepository source in sources)
{
IVulnerabilityInformationProvider provider = _vulnerabilityInformationProviders.GetOrAdd(source, s => new VulnerabilityInformationProvider(s, log));
IVulnerabilityInformationProvider provider = _vulnerabilityInformationProviders.GetOrAdd(source, s => new VulnerabilityInformationProvider(s, cacheContext, log));
vulnerabilityInformationProviders.Add(provider);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -450,28 +450,6 @@ public static EnabledValue ParseEnableValue(string value)
return EnabledValue.Undefined;
}

internal static string GetString(EnabledValue enableAudit)
{
return enableAudit switch
{
EnabledValue.Undefined => nameof(EnabledValue.Undefined),
EnabledValue.ExplicitOptIn => nameof(EnabledValue.ExplicitOptIn),
EnabledValue.ExplicitOptOut => nameof(EnabledValue.ExplicitOptOut),
EnabledValue.ImplicitOptIn => nameof(EnabledValue.ImplicitOptIn),
_ => enableAudit.ToString()
};
}

internal static string GetString(NuGetAuditMode auditMode)
{
return auditMode switch
{
NuGetAuditMode.All => nameof(NuGetAuditMode.All),
NuGetAuditMode.Direct => nameof(NuGetAuditMode.Direct),
NuGetAuditMode.Unknown => nameof(NuGetAuditMode.Unknown),
_ => auditMode.ToString()
};
}

private class PackageAuditInfo
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ namespace NuGet.Commands
internal sealed class VulnerabilityInformationProvider : IVulnerabilityInformationProvider
{
private readonly SourceRepository _source;
private readonly SourceCacheContext _sourceCacheContext;
private readonly ILogger _logger;

private readonly AsyncLazy<GetVulnerabilityInfoResult?> _vulnerabilityInfo;

public VulnerabilityInformationProvider(SourceRepository source, ILogger logger)
public VulnerabilityInformationProvider(SourceRepository source, SourceCacheContext cacheContext, ILogger logger)
{
_source = source;
_sourceCacheContext = cacheContext;
_logger = logger;

_vulnerabilityInfo = new AsyncLazy<GetVulnerabilityInfoResult?>(GetVulnerabilityInfoAsync);
Expand All @@ -42,8 +44,7 @@ public VulnerabilityInformationProvider(SourceRepository source, ILogger logger)
return null;
}

using SourceCacheContext cacheContext = new();
GetVulnerabilityInfoResult result = await vulnerabilityInfoResource.GetVulnerabilityInfoAsync(cacheContext, _logger, CancellationToken.None);
GetVulnerabilityInfoResult result = await vulnerabilityInfoResource.GetVulnerabilityInfoAsync(_sourceCacheContext, _logger, CancellationToken.None);
return result;
}
}
Expand Down

0 comments on commit 6bcba8f

Please sign in to comment.