/** * Creates a new instance of an AMQP 1.0 protocol handler for Hono's <em>Tenant</em> API. * * @return The handler. */ @Bean @Scope("prototype") public TenantAmqpEndpoint tenantAmqpEndpoint() { return new TenantAmqpEndpoint(vertx()); }
@Override public final void processRequest(final Message msg, final ResourceIdentifier targetAddress, final HonoUser clientPrincipal) { final EventBusMessage request = EventBusMessage.forOperation(msg) .setReplyToAddress(msg) .setAppCorrelationId(msg) .setCorrelationId(msg) .setTenant(msg) .setJsonPayload(msg); final DeliveryOptions options = createEventBusMessageDeliveryOptions(extractSpanContext(msg)); vertx.eventBus().send(TenantConstants.EVENT_BUS_ADDRESS_TENANT_IN, request.toJson(), options); }
ResourceIdentifier.fromPath(new String[] { resource.getEndpoint(), tenantId }); return getAuthorizationService().isAuthorized(clientPrincipal, specificTenantAddress, request.getSubject());
/** * Verifies that the endpoint forwards a request message via the event bus. */ @Test public void testProcessMessageSendsRequestViaEventBus() { final Message msg = ProtonHelper.message(); msg.setMessageId("random-id"); msg.setSubject(TenantConstants.TenantAction.get.toString()); MessageHelper.addTenantId(msg, Constants.DEFAULT_TENANT); MessageHelper.annotate(msg, resource); endpoint.processRequest(msg, resource, Constants.PRINCIPAL_ANONYMOUS); verify(eventBus).send(eq(TenantConstants.EVENT_BUS_ADDRESS_TENANT_IN), any(JsonObject.class), any(DeliveryOptions.class)); } }
ResourceIdentifier.fromPath(new String[] { resource.getEndpoint(), tenantId }); return getAuthorizationService().isAuthorized(clientPrincipal, specificTenantAddress, request.getSubject());
/** * Creates a new instance of an AMQP 1.0 protocol handler for Hono's <em>Tenant</em> API. * * @return The handler. */ @Bean @Scope("prototype") public TenantAmqpEndpoint tenantAmqpEndpoint() { return new TenantAmqpEndpoint(vertx()); }
return getAuthorizationService().isAuthorized(clientPrincipal, resourceId, response.getOperation()) .map(isAuthorized -> { if (isAuthorized) {
/** * Sets up the fixture. */ @Before public void setUp() { when(vertx.eventBus()).thenReturn(eventBus); endpoint = new TenantAmqpEndpoint(vertx); }
return getAuthorizationService().isAuthorized(clientPrincipal, resourceId, response.getOperation()) .map(isAuthorized -> { if (isAuthorized) {