public void Constructor_InitializesProperties() { var request = new GetPackageVersionsRequest( packageSourceRepository: "a", packageId: "b"); Assert.Equal("a", request.PackageSourceRepository); Assert.Equal("b", request.PackageId); }
public void JsonSerialization_ReturnsCorrectJson() { var request = new GetPackageVersionsRequest( packageSourceRepository: "a", packageId: "b"); var json = TestUtilities.Serialize(request); Assert.Equal("{\"PackageId\":\"b\",\"PackageSourceRepository\":\"a\"}", json); }
private async Task <SortedDictionary <NuGetVersion, PackageInfo> > FindPackagesByIdAsync( string id, SourceCacheContext cacheContext, ILogger logger, CancellationToken cancellationToken) { var uri = _packageSource.Source; var request = new GetPackageVersionsRequest(uri, id); try { var response = await _plugin.Connection.SendRequestAndReceiveResponseAsync <GetPackageVersionsRequest, GetPackageVersionsResponse>( MessageMethod.GetPackageVersions, request, cancellationToken); if (response != null) { switch (response.ResponseCode) { case MessageResponseCode.Success: var versions = response.Versions.Select(v => NuGetVersion.Parse(v)); return(ParsePackageVersions(response.Versions, id, uri)); case MessageResponseCode.Error: throw new PluginException( string.Format( CultureInfo.CurrentCulture, Strings.Plugin_FailureQueryingPackageVersions, id, _plugin.FilePath)); case MessageResponseCode.NotFound: default: break; } } return(new SortedDictionary <NuGetVersion, PackageInfo>()); } catch (Exception ex) { var message = string.Format( CultureInfo.CurrentCulture, Strings.Log_FailedToRetrievePackage, id, uri); throw new FatalProtocolException(message, ex); } }