use of com.artipie.http.slice.SliceSimple in project artipie by artipie.
the class AuthAndPermissionsTest method johnCanDelete.
@Test
void johnCanDelete() throws IOException {
final RsStatus status = RsStatus.NO_CONTENT;
MatcherAssert.assertThat(new BasicAuthSlice(new SliceSimple(new RsWithStatus(status)), new AuthFromYaml(this.credentials()), new Permission.ByName("delete", this.permissions())).response(new RequestLine("PUT", "/foo", "HTTP/1.2").toString(), new ListOf<Map.Entry<String, String>>(new Authorization(String.format("Basic %s", new Base64Encoded("john:123").asString()))), Flowable.empty()), new RsHasStatus(status));
}
use of com.artipie.http.slice.SliceSimple in project artipie by artipie.
the class AuthAndPermissionsTest method publicRepoWorksWithAuth.
@Test
void publicRepoWorksWithAuth() throws IOException {
final RsStatus status = RsStatus.OK;
MatcherAssert.assertThat(new BasicAuthSlice(new SliceSimple(new RsWithStatus(status)), new AuthFromYaml(this.credentials()), new Permission.ByName("delete", this.allAllowedPermissions())).response(new RequestLine("GET", "/foo", "HTTP/1.2").toString(), new ListOf<Map.Entry<String, String>>(new Authorization(String.format("Basic %s", new Base64Encoded("admin:abc").asString()))), Flowable.empty()), new RsHasStatus(status));
}
use of com.artipie.http.slice.SliceSimple in project artipie by artipie.
the class AuthAndPermissionsTest method authIsNotRequiredForPublicRepo.
@Test
void authIsNotRequiredForPublicRepo() {
final RsStatus status = RsStatus.ACCEPTED;
MatcherAssert.assertThat(new BasicAuthSlice(new SliceSimple(new RsWithStatus(status)), new AuthFromYaml(this.credentials()), new Permission.ByName("install", this.allAllowedPermissions())).response(new RequestLine("GET", "/foo", "HTTP/1.2").toString(), Collections.emptyList(), Flowable.empty()), new RsHasStatus(status));
}
use of com.artipie.http.slice.SliceSimple in project artipie by artipie.
the class AuthAndPermissionsTest method adminCanDeploy.
@Test
void adminCanDeploy() throws IOException {
final RsStatus status = RsStatus.ACCEPTED;
MatcherAssert.assertThat(new BasicAuthSlice(new SliceSimple(new RsWithStatus(status)), new AuthFromYaml(this.credentials()), new Permission.ByName("deploy", this.permissions())).response(new RequestLine("PUT", "/foo", "HTTP/1.2").toString(), new ListOf<Map.Entry<String, String>>(new Authorization(String.format("Basic %s", new Base64Encoded("admin:abc").asString()))), Flowable.empty()), new RsHasStatus(status));
}
use of com.artipie.http.slice.SliceSimple in project maven-adapter by artipie.
the class HeadProxySliceTest method performsRequestWithEmptyHeaderAndBody.
@Test
void performsRequestWithEmptyHeaderAndBody() {
new HeadProxySlice(new SliceSimple(StandardRs.EMPTY)).response("HEAD /some/path HTTP/1.1", new Headers.From("some", "value"), new Content.From("000".getBytes())).send((status, headers, body) -> {
MatcherAssert.assertThat("Headers are empty", headers, new IsEmptyIterable<>());
MatcherAssert.assertThat("Body is empty", new PublisherAs(body).bytes().toCompletableFuture().join(), new IsEqual<>(new byte[] {}));
return CompletableFuture.allOf();
});
}
Aggregations