public static void addPartitionIdToOperation(Operation op, String partitionId) { if (PARTITION_ID_HEADER != null && !PARTITION_ID_HEADER.isEmpty() && partitionId != null && !partitionId.isEmpty()) { op.addRequestHeader(PARTITION_ID_HEADER, partitionId); } } }
private void prepareAuthn(Operation op) { if (harborAuthHeader != null) { op.addRequestHeader("Authorization", "Basic " + harborAuthHeader); } else { if (harborUser != null && harborPassword != null) { String s = String.format("%s:%s", harborUser, harborPassword); harborAuthHeader = new String(Base64.getEncoder().encode(s.getBytes())); op.addRequestHeader("Authorization", "Basic " + harborAuthHeader); } } }
@Override public void sendRequest(Operation op) { if (locale != null) { op.addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, locale); } super.sendRequest(op); }
private Collection<Operation> createDeleteOperations(State currentState, Collection<URI> uris) { return uris.stream().map(u -> createDelete(u, currentState) .addRequestHeader(Operation.REPLICATION_QUORUM_HEADER, Operation.REPLICATION_QUORUM_HEADER_VALUE_ALL) .addPragmaDirective(Operation.PRAGMA_DIRECTIVE_FROM_MIGRATION_TASK)) .collect(Collectors.toList()); }
protected ServiceErrorResponse getServiceErrorResponse(Throwable t) { Operation operation = null; if (locale != null) { operation = new Operation().addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, locale); } return Utils.toValidationErrorResponse(t, operation); }
void addToken(Operation op, String token, boolean withCookie) { if (withCookie) { op.setCookies(Collections.singletonMap(AuthenticationConstants.REQUEST_AUTH_TOKEN_COOKIE, token)); } else { op.addRequestHeader(Operation.REQUEST_AUTH_TOKEN_HEADER, token); } }
private Operation createOperation(String version) { Operation op = new Operation(); String acceptWithVersion = MEDIA_TYPE_APPLICATION_JSON + ";" + VERSION_PREFIX + version; op.addRequestHeader(Operation.ACCEPT_HEADER, acceptWithVersion); return op; }
private Operation createDeleteOp(String link) { // pragma to make delete synchronous (would be necessary in multi-node // scenario) return Operation.createDelete(this.host, link) .addRequestHeader( Operation.REPLICATION_QUORUM_HEADER, Operation.REPLICATION_QUORUM_HEADER_VALUE_ALL); }
private static DeferredResult<List<String>> retrieveProjectRelatedDocumentLinks( Service service, String projectLink, String factoryLink) { Operation get = Operation.createGet(service, factoryLink) .setReferer(service.getUri()) .addRequestHeader(OperationUtil.PROJECT_ADMIRAL_HEADER, projectLink); authorizeOperationIfProjectService(service, get); return service.sendWithDeferredResult(get, ServiceDocumentQueryResult.class) .thenApply(result -> result.documentLinks); }
@Test public void testExtractTenantFromBGHeader() throws Throwable { String businessGroup = "/tenants/qe/groups/22c64610-84d0-49e9-8dd7-dee32539dcfe"; Operation op = new Operation(); op.addRequestHeader(OperationUtil.PROJECT_ADMIRAL_HEADER, businessGroup); String tenantLink = OperationUtil.extractTenantFromProjectHeader(op); Assert.assertTrue(tenantLink.equals("/tenants/qe")); }
@Test public void testLocalizatioMessageResolution_JA() { Operation op = Operation.createGet(URI.create("127.0.0.1")) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, "ja,en-US;q=0.8,en;q=0.6"); Locale locale = LocalizationUtil.resolveLocale(op); assertEquals(Locale.JAPANESE, locale); String message = LocalizationUtil.resolveMessage(this.ex, op); assertEquals(ERROR_MESSAGE_JA, message); }
@Test public void testLocalizatioMessageResolution() { Operation op = Operation.createGet(URI.create("127.0.0.1")) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, "de,en-US;q=0.8,en;q=0.6"); Locale locale = LocalizationUtil.resolveLocale(op); assertEquals(Locale.GERMAN, locale); String message = LocalizationUtil.resolveMessage(this.ex, op); assertEquals(ERROR_MESSAGE_DE, message); }
@Test public void testResolveUnsupportedLocaleMessage() { Operation op = Operation.createGet(URI.create("127.0.0.1")) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, "cn"); Locale locale = LocalizationUtil.resolveLocale(op); assertEquals(LocalizationUtil.DEFAULT_LOCALE, locale); String message = LocalizationUtil.resolveMessage(this.ex, op); assertEquals(ERROR_MESSAGE_EN, message); }
@Test public void testResolveUnsupportedLocaleMessage() { Operation op = Operation.createGet(URI.create("127.0.0.1")) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, "cn"); Locale locale = LocalizationUtil.resolveLocale(op); assertEquals(LocalizationUtil.DEFAULT_LOCALE, locale); String message = LocalizationUtil.resolveMessage(this.ex, op); assertEquals(ERROR_MESSAGE_EN, message); }
@Test public void testResolveSecondaryLocaleMessage() { Operation op = Operation.createGet(URI.create("127.0.0.1")) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, "cn,en-GB;q=0.8,en;q=0.6"); Locale locale = LocalizationUtil.resolveLocale(op); assertEquals(Locale.ENGLISH, locale); String message = LocalizationUtil.resolveMessage(this.ex, op); assertEquals(ERROR_MESSAGE_EN, message); }
@Test public void returnsLocalizedServiceResponseTestWithInnerOperation() throws Throwable { URI uri = UriUtils.buildUri(host, TestFailingStatefulService.FACTORY_LINK); Operation post = Operation .createPost(uri) .setReferer(host.getReferer()) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, Locale.GERMAN.getLanguage()); TestRequestSender sender = this.host.getTestRequestSender(); FailureResponse result = sender.sendAndWaitFailure(post); ServiceErrorResponse response = result.op.getErrorResponseBody(); assertEquals(ERROR_MESSAGE_GERMAN, response.message); }
@Test public void returnsLocalizedServiceResponseTestWithOperationProcessingChain() throws Throwable { URI uri = UriUtils.buildUri(host, TestFailingStatefulService.FACTORY_LINK); Operation post = Operation .createDelete(uri) .setReferer(host.getReferer()) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, Locale.GERMAN.getLanguage()); TestRequestSender sender = this.host.getTestRequestSender(); FailureResponse result = sender.sendAndWaitFailure(post); ServiceErrorResponse response = result.op.getErrorResponseBody(); assertEquals(ERROR_MESSAGE_GERMAN, response.message); }
@Test public void testAuthentication() throws Throwable { String headerVal = BasicAuthenticationUtils.constructBasicAuth(USER_JANE_EMAIL, USER_JANE_EMAIL); URI authServiceUri = UriUtils.buildUri(this.host, BasicAuthenticationService.SELF_LINK); TestRequestSender sender = new TestRequestSender(this.host); Operation returnOp = sender.sendAndWait((Operation .createPost(authServiceUri) .setBody(new Object()) .addRequestHeader(Operation.AUTHORIZATION_HEADER, headerVal))); assertTrue(returnOp.getStatusCode() == Operation.STATUS_CODE_OK); }
@Test public void returnsLocalizedServiceResponseTestWithInnerOperation() throws Throwable { URI uri = UriUtils.buildUri(host, TestFailingStatefulService.FACTORY_LINK); Operation post = Operation .createPost(uri) .setReferer(host.getReferer()) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, Locale.GERMAN.getLanguage()); TestRequestSender sender = this.host.getTestRequestSender(); FailureResponse result = sender.sendAndWaitFailure(post); ServiceErrorResponse response = result.op.getErrorResponseBody(); assertEquals(ERROR_MESSAGE_GERMAN, response.message); }
@Test public void returnsLocalizedServiceResponseTestWithOperationProcessingChain() throws Throwable { URI uri = UriUtils.buildUri(host, TestFailingStatefulService.FACTORY_LINK); Operation post = Operation .createDelete(uri) .setReferer(host.getReferer()) .addRequestHeader(Operation.ACCEPT_LANGUAGE_HEADER, Locale.GERMAN.getLanguage()); TestRequestSender sender = this.host.getTestRequestSender(); FailureResponse result = sender.sendAndWaitFailure(post); ServiceErrorResponse response = result.op.getErrorResponseBody(); assertEquals(ERROR_MESSAGE_GERMAN, response.message); }