public async Task CanPatchUpdatePackageAddFile() { await TestUtils.Auth(_client); var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Add(x => x.Files, new UpdateFileDto { Path = "/new-file.txt", Hash = "936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af" }); // act var response = await _client.PatchAsync("/api/v1/projects/1/updates/2.0.0", patchDoc.AsJson()); // assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var package = await FetchUpdatePackage(1, "2.0.0"); Assert.Collection(package.Files.OrderBy(x => x.Path), x => { Assert.Equal("/new-file.txt", x.Path); Assert.Equal("936a185caaa266bb9cbe981e9e05cb78cd732b0b3280eb944412bb6f8f8f07af", x.Hash); Assert.NotNull(x.Signature); }, x => Assert.Equal("/test.txt", x.Path)); }
public async Task CanPatchUpdatePackagePublish() { await TestUtils.Auth(_client); var publishDate = DateTimeOffset.UtcNow.AddHours(-1); var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Add(x => x.Distribution, new UpdatePackageDistributionInfo("team", publishDate)); // act var response = await _client.PatchAsync("/api/v1/projects/1/updates/2.0.0", patchDoc.AsJson()); // assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var package = await FetchUpdatePackage(1, "2.0.0"); var dist = Assert.Single(package.Distribution); Assert.Equal("team", dist.Name); Assert.Equal(publishDate, dist.PublishDate); }
public async Task CanPatchUpdatePackageRemoveChangelog() { await TestUtils.Auth(_client); var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Remove(x => x.Changelogs[0]); // act var response = await _client.PatchAsync("/api/v1/projects/1/updates/2.0.0", patchDoc.AsJson()); // assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var package = await FetchUpdatePackage(1, "2.0.0"); Assert.Empty(package.Changelogs); }
public async Task CanPatchUpdatePackageChangelog() { await TestUtils.Auth(_client); var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Replace(x => x.Changelogs[0], new UpdateChangelogInfo("de-de", "Hello World 2.0")); // act var response = await _client.PatchAsync("/api/v1/projects/1/updates/3.0.0", patchDoc.AsJson()); // assert Assert.Equal(HttpStatusCode.OK, response.StatusCode); var package = await FetchUpdatePackage(1, "3.0.0"); Assert.Equal("Hello World 2.0", package.Changelogs[0].Content); }
public async Task CanPatchUpdatePackageDescription() { await TestUtils.Auth(_client); var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Replace(x => x.Description, "New Description"); var response = await _client.PatchAsync("/api/v1/projects/1/updates/1.5.0", patchDoc.AsJson()); Assert.Equal(HttpStatusCode.OK, response.StatusCode); var package = await FetchUpdatePackage(1, "1.5.0"); Assert.Equal("New Description", package.Description); }
public async Task CantPatchUpdateUnauthenticated() { var patchDoc = new JsonPatchDocument <UpdatePackageDto>(); patchDoc.Replace(x => x.Description, "New Description"); var response = await _client.PatchAsync("/api/v1/projects/1/updates/1.5.0", patchDoc.AsJson()); var asd = await response.Content.ReadAsStringAsync(); Assert.Equal(HttpStatusCode.Unauthorized, response.StatusCode); }