use of com.artipie.http.hm.SliceHasResponse in project maven-adapter by artipie.
the class PutMetadataSliceTest method returnsCreatedAndSavesSnapshotMetadataWhenReleaseIsPresent.
@Test
void returnsCreatedAndSavesSnapshotMetadataWhenReleaseIsPresent() {
final byte[] xml = new MetadataXml("com.example", "any").get(new MetadataXml.VersionTags(Optional.empty(), Optional.of("0.2"), new ListOf<String>("0.1", "0.2", "0.3-SNAPSHOT"))).getBytes(StandardCharsets.UTF_8);
this.asto.save(new Key.From(UploadSlice.TEMP, "com/example/any/0.3-SNAPSHOT/any.jar"), Content.EMPTY).join();
MatcherAssert.assertThat("Incorrect response status, CREATED is expected", this.pms, new SliceHasResponse(new RsHasStatus(RsStatus.CREATED), new RequestLine(RqMethod.PUT, "/com/example/any/maven-metadata.xml"), new Headers.From(new ContentLength(xml.length)), new Content.OneTime(new Content.From(xml))));
MatcherAssert.assertThat("Metadata file was not saved to storage", this.asto.value(new Key.From(".upload/com/example/any/0.3-SNAPSHOT/meta/maven-metadata.xml")).join(), new ContentIs(xml));
}
use of com.artipie.http.hm.SliceHasResponse in project maven-adapter by artipie.
the class UploadSliceTest method savesDataToTempUpload.
@Test
void savesDataToTempUpload() {
final byte[] data = "jar content".getBytes();
MatcherAssert.assertThat("Wrong response status, CREATED is expected", this.ums, new SliceHasResponse(new RsHasStatus(RsStatus.CREATED), new RequestLine(RqMethod.PUT, "/com/artipie/asto/0.1/asto-0.1.jar"), new Headers.From(new ContentLength(data.length)), new Content.From(data)));
MatcherAssert.assertThat("Uploaded data were not saved to storage", this.asto.value(new Key.From(".upload/com/artipie/asto/0.1/asto-0.1.jar")).join(), new ContentIs(data));
}
use of com.artipie.http.hm.SliceHasResponse in project artipie by artipie.
the class DockerRoutingSliceTest method emptyDockerRequest.
@Test
void emptyDockerRequest() {
final String username = "alice";
final String password = "letmein";
MatcherAssert.assertThat(new DockerRoutingSlice(new SettingsWithAuth(new Authentication.Single(username, password)), (line, headers, body) -> {
throw new UnsupportedOperationException();
}), new SliceHasResponse(new AllOf<>(Arrays.asList(new RsHasStatus(RsStatus.OK), new RsHasHeaders(new Headers.From("Docker-Distribution-API-Version", "registry/2.0")))), new RequestLine(RqMethod.GET, "/v2/"), new Headers.From(new Authorization.Basic(username, password)), Content.EMPTY));
}
use of com.artipie.http.hm.SliceHasResponse in project artipie by artipie.
the class PromuSliceTest method producesMetrics.
@ParameterizedTest
@CsvSource({ "http.response.length,500,counter,text/plain", "http.response.length,500,counter,application/openmetrics-text", "app.used.memory,200,gauge,text/plain", "app.used.memory,200,gauge,application/openmetrics-text" })
void producesMetrics(final String name, final long value, final String type, final String mimetype) {
final Metrics metrics = new InMemoryMetrics();
collect(metrics, name, value, type);
MatcherAssert.assertThat(new PromuSlice(metrics), new SliceHasResponse(new AllOf<>(Arrays.asList(new RsHasStatus(RsStatus.OK), new RsHasHeaders(new IsEqual<>(new Header(ContentType.NAME, mimetype)), new IsAnything<>()), new RsHasBody(new MatchesPattern(Pattern.compile(metricFormatted(name, value, type, mimetype))), StandardCharsets.UTF_8))), new RequestLine(RqMethod.GET, "/prometheus/metrics"), new Headers.From(Accept.NAME, mimetype), Content.EMPTY));
}
use of com.artipie.http.hm.SliceHasResponse in project artipie by artipie.
the class VersionSliceTest method returnVersionOfApplication.
@Test
void returnVersionOfApplication() {
final ArtipieProperties proprts = new ArtipieProperties();
MatcherAssert.assertThat(new VersionSlice(proprts), new SliceHasResponse(Matchers.allOf(new RsHasStatus(RsStatus.OK), new RsHasBody(new IsJson(new JsonContains(new JsonHas("version", new JsonValueIs(proprts.version())))))), new RequestLine(RqMethod.GET, "/.version")));
}
Aggregations