public async Task CanDownloadPackage() { string filename = "Acme.Core.1.0.0.0-bugfix.zip"; string packageId = $"{bucketName}/Acme.Core"; var version = VersionFactory.CreateVersion("1.0.0.0-bugfix", VersionFormat.Semver); File.Copy(GetFixtureResource("Samples", filename), Path.Combine(rootDir, filename)); await Validate(async client => await client.PutObjectAsync(new PutObjectRequest { BucketName = bucketName, Key = filename, InputStream = File.OpenRead(Path.Combine(rootDir, filename)) }, CancellationToken.None)); var downloader = GetDownloader(); var package = downloader.DownloadPackage(packageId, version, "s3-feed", new Uri("http://please-ignore.com"), ExternalVariables.Get(ExternalVariable.AwsAcessKey), ExternalVariables.Get(ExternalVariable.AwsSecretKey), true, 3, TimeSpan.FromSeconds(3)); package.PackageId.Should().Be(packageId); package.Size.Should().Be(new FileInfo(Path.Combine(rootDir, filename)).Length); }
public void CreateVersion_can_create_an_empty_version_from_a_null_string(VersionFactory sut) { // Act var result = sut.CreateVersion(null); // Assert Assert.That(result, Is.EqualTo(EmptyBrowserVersion.Singleton)); }
public void CreateVersion_ForInvalidVersion_ReturnNone() { var versionString = "invalid"; var version = VersionFactory.CreateVersion(versionString); version.IsNone.ShouldBeTrue(); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var jsonObject = JObject.Load(reader); var versionString = jsonObject["Version"].Value <string>(); var versionFormat = (VersionFormat)Enum.Parse(typeof(VersionFormat), jsonObject["Format"].Value <string>()); var version = VersionFactory.CreateVersion(versionString, versionFormat); return(version); }
public void CreateVersion_does_not_create_presumed_version_when_input_version_is_not_null_or_empty(VersionFactory sut, string versionstring, string presumedVersion) { // Act var result = sut.CreateVersion(versionstring, requestedVersionString: presumedVersion); // Assert Assert.That(result.IsPresumedVersion, Is.False); }
public void CreateVersion_marks_a_presumed_version_from_a_null_input_version_accordingly(VersionFactory sut) { // Arrange var presumedVersion = "v1.2.3"; // Act var result = sut.CreateVersion(null, requestedVersionString: presumedVersion); // Assert Assert.That(result.IsPresumedVersion, Is.True); }
public void CreateVersion_can_create_a_presumed_version_from_an_empty_input_version(VersionFactory sut) { // Arrange var presumedVersion = "v1.2.3"; // Act var result = sut.CreateVersion(String.Empty, requestedVersionString: presumedVersion); // Assert Assert.That(result, Is.EqualTo(SemanticVersion.Parse(presumedVersion))); }
public void CreateVersion_can_create_an_unrecognised_version(VersionFactory sut) { // Arrange var versionString = "version 55.20"; // Act var result = sut.CreateVersion(versionString); // Assert Assert.That(result, Is.EqualTo(new UnrecognisedVersion(versionString))); }
public void CreateVersion_can_create_a_semantic_version(VersionFactory sut) { // Arrange var versionString = "v1.2.3"; // Act var result = sut.CreateVersion(versionString); // Assert Assert.That(result, Is.EqualTo(SemanticVersion.Parse(versionString))); }
public void CreateVersion_ForValidVersionWithLabel_ReturnVersionWithLabel() { var versionString = "1.2.3-pre12"; var version = VersionFactory.CreateVersion(versionString).ValueUnsafe(); version.Major.ShouldBe(1); version.Minor.ShouldBe(2); version.Patch.ShouldBe(3); version.Label.ShouldBe("-pre12"); }
public void CreateVersion_can_create_versions_for_all_supported_browsers(string browserName, string browserVersion) { // Arrange var sut = new VersionFactory(); // Act var result = sut.CreateVersion(browserVersion, browserName); // Assert Assert.That(result, Is.Not.InstanceOf <UnrecognisedVersion>(), $"{nameof(VersionFactory)} created an unrecognised version for {browserName}: '{browserVersion}'."); }
public FoundPackage(string packageId, string version, string?versionFormat, string?remotePath, string?hash, string?fileExtension) { PackageId = packageId; if (!Enum.TryParse(versionFormat, out VersionFormat realVersionFormat)) { realVersionFormat = VersionFormat.Semver; } ; Version = VersionFactory.CreateVersion(version, realVersionFormat); RemotePath = remotePath; Hash = hash; FileExtension = fileExtension; }
private void CreateVersionData() { CurrentContext.GetInstance().VersionData = VersionFactory.CreateVersion(); }
public void ShouldFindTheCorrectPackageWhenSimilarPackageExist() { using (var acmeWeb = new TemporaryFile(PackageBuilder.BuildSamplePackage(packageId, packageVersion))) using (var acmeWebTest = new TemporaryFile(PackageBuilder.BuildSamplePackage(packageId + ".Tests", packageVersion))) { var destinationFilePath = Path.Combine(downloadPath, PackageName.ToCachedFileName(packageId, VersionFactory.CreateVersion(packageVersion, VersionFormat.Semver), ".nupkg")); File.Copy(acmeWeb.FilePath, destinationFilePath); var destinationFilePathTest = Path.Combine(downloadPath, PackageName.ToCachedFileName(packageId + ".Tests", VersionFactory.CreateVersion(packageVersion, VersionFormat.Semver), ".nupkg")); File.Copy(acmeWebTest.FilePath, destinationFilePathTest); using (var newAcmeWeb = new TemporaryFile(PackageBuilder.BuildSamplePackage(packageId, newpackageVersion))) { var result = FindPackages(packageId, newpackageVersion, newAcmeWeb.Hash); result.AssertSuccess(); result.AssertOutput("Package {0} version {1} hash {2} has not been uploaded.", packageId, newpackageVersion, newAcmeWeb.Hash); result.AssertOutput("Finding earlier packages that have been uploaded to this Tentacle"); result.AssertOutput("Found 1 earlier version of {0} on this Tentacle", packageId); result.AssertOutput(" - {0}: {1}", packageVersion, destinationFilePath); result.AssertServiceMessage(ServiceMessageNames.FoundPackage.Name, Is.True); var foundPackage = result.CapturedOutput.FoundPackage; Assert.AreEqual(VersionFactory.CreateSemanticVersion(packageVersion), foundPackage.Version); Assert.AreEqual(acmeWeb.Hash, foundPackage.Hash); Assert.AreEqual(destinationFilePath, foundPackage.RemotePath); Assert.AreEqual(".nupkg", foundPackage.FileExtension); Assert.AreEqual(packageId, foundPackage.PackageId); } } }