public Program(UriCorrector uriCorrector, LicenseLocator licenseLocator, IFileSystem fileSystem, ProjectDependencyResolver projectDependencyResolver, LicenseDownloader licenseDownloader, IReporter reporter) { _uriCorrector = uriCorrector; _licenseLocator = licenseLocator; _fileSystem = fileSystem; _projectDependencyResolver = projectDependencyResolver; _downloader = licenseDownloader; _reporter = reporter; }
public Program(UriCorrector uriCorrector, PackageLocator packageLocator, IFileSystem fileSystem, ProjectDependencyResolver projectDependencyResolver, LicenseDownloader licenseDownloader, IReporter reporter, IEntryPointLocator entryPointLocator) { _uriCorrector = uriCorrector; _packageLocator = packageLocator; _fileSystem = fileSystem; _projectDependencyResolver = projectDependencyResolver; _downloader = licenseDownloader; _reporter = reporter; _entryPointLocator = entryPointLocator; }
public async Task GivenTwoSameLicenseLocations_WhenDownloadingThem_ThenTheLicense_ShouldOnlyDownloadedOnce() { // Given var uri = new Uri("https://example.com/MIT"); var mock = new Mock <HttpMessageHandler>(); mock .SetupRequest(HttpMethod.Get, uri) .ReturnsResponse(HttpStatusCode.OK, r => r.Content = new StringContent("")) .Verifiable(); var httpClient = mock.CreateClient(); var cut = new LicenseDownloader(httpClient); // When _ = await cut.DownloadAsync(new[] { uri, uri }, CancellationToken.None); // Then mock.VerifyAnyRequest(Times.Once()); }
public static void AssertRemoteValidationCheckPasses(KeyHubWebDriver site, string domain, Guid appKey, Guid featureCode, string vendorPublicKey) { var licensingUrl = site.UrlFor("/api/LicenseValidation"); var licensesAndSignature = new LicenseDownloader().RequestLicenses(licensingUrl, appKey, new Dictionary <string, List <Guid> >() { { domain, new List <Guid>() { featureCode } } }); var newLicenses = new LicenseDeserializer().DeserializeAll(vendorPublicKey, licensesAndSignature); DomainLicense license = newLicenses[domain].Single(); Assert.Equal(license.Domain, domain); Assert.Contains(featureCode, license.Features); }