private Future<EventBusMessage> processUpdateRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final String deviceId = request.getDeviceId(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null || deviceId == null) { return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else { log.debug("updating registration information for device [{}] of tenant [{}]", deviceId, tenantId); final Future<RegistrationResult> result = Future.future(); updateDevice(tenantId, deviceId, payload, result.completer()); return result.map(res -> { return request.getResponse(res.getStatus()) .setDeviceId(deviceId) .setCacheDirective(res.getCacheDirective()); }); } }
private Future<EventBusMessage> processUpdateRequest(final EventBusMessage request) { final String tenantId = request.getTenant(); final String deviceId = request.getDeviceId(); final JsonObject payload = getRequestPayload(request.getJsonPayload()); if (tenantId == null || deviceId == null) { return Future.failedFuture(new ClientErrorException(HttpURLConnection.HTTP_BAD_REQUEST)); } else { log.debug("updating registration information for device [{}] of tenant [{}]", deviceId, tenantId); final Future<RegistrationResult> result = Future.future(); updateDevice(tenantId, deviceId, payload, result.completer()); return result.map(res -> { return request.getResponse(res.getStatus()) .setDeviceId(deviceId) .setCacheDirective(res.getCacheDirective()); }); } }
/** * Verifies that the updateDevice method returns not implemented. * * @param ctx The vertx unit test context. */ @Test public void testUpdateDevice(final TestContext ctx) { // GIVEN an empty registry final CompleteBaseRegistrationService<ServiceConfigProperties> registrationService = newCompleteRegistrationService(); registrationService.setRegistrationAssertionFactory(RegistrationAssertionHelperImpl.forSigning(vertx, props)); // WHEN trying to update a device registrationService.updateDevice(Constants.DEFAULT_TENANT, "4711", new JsonObject(), ctx.asyncAssertSuccess(result -> { // THEN the response contain a JWT token with an empty result with status code 501. ctx.assertEquals(result.getStatus(), HttpURLConnection.HTTP_NOT_IMPLEMENTED); ctx.assertNull(result.getPayload()); })); }