public Package CreateFromExternalUrl(string key, string fileExtension, string externalPackageUrl) { ValidateInputs(() => _serviceInputValidator.ValidateUserApiKey(key)); ValidateInputs(() => _serviceInputValidator.ValidateExternalUrl(externalPackageUrl)); Func <Package> action = () => { using (var client = new ExtendedWebClient(_configSettings.ExternalPackageRequestTimeout)) { SetUserAgentForCodeplexCompliance(client); byte[] bytes = client.DownloadData(externalPackageUrl); return(_packageCreator.CreatePackage(key, new MemoryStream(bytes), PACKAGE_FILE_EXTENSION, false, externalPackageUrl)); } }; return(ExecuteAction(action, "The Package could not be created from the external source")); }
public void ValidateExternalUrlShouldThrowWhenGivenInvalidUri(string uri) { Assert.Throws <WebFaultException <string> >(() => _validator.ValidateExternalUrl(uri)); }