/** * Creates a new instance of an AMQP 1.0 protocol handler for Hono's <em>Credentials</em> API. * * @return The handler. */ @Bean @Scope("prototype") public CredentialsAmqpEndpoint credentialsAmqpEndpoint() { return new CredentialsAmqpEndpoint(vertx()); }
@Override public final void processRequest(final Message msg, final ResourceIdentifier targetAddress, final HonoUser clientPrincipal) { final EventBusMessage credentialsMsg = EventBusMessage.forOperation(msg) .setReplyToAddress(msg) .setAppCorrelationId(msg) .setCorrelationId(msg) .setTenant(targetAddress.getTenantId()) .setJsonPayload(msg); final DeliveryOptions options = createEventBusMessageDeliveryOptions(extractSpanContext(msg)); vertx.eventBus().send(CredentialsConstants.EVENT_BUS_ADDRESS_CREDENTIALS_IN, credentialsMsg.toJson(), options); }
/** * 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(CredentialsConstants.CredentialsAction.add.toString()); MessageHelper.addDeviceId(msg, "4711"); MessageHelper.addTenantId(msg, Constants.DEFAULT_TENANT); MessageHelper.annotate(msg, resource); msg.setBody(new AmqpValue(new JsonObject().put("temp", 15).encode())); endpoint.processRequest(msg, resource, Constants.PRINCIPAL_ANONYMOUS); verify(eventBus).send(eq(CredentialsConstants.EVENT_BUS_ADDRESS_CREDENTIALS_IN), any(JsonObject.class), any(DeliveryOptions.class)); } }
/** * Creates a new instance of an AMQP 1.0 protocol handler for Hono's <em>Credentials</em> API. * * @return The handler. */ @Bean @Scope("prototype") public CredentialsAmqpEndpoint credentialsAmqpEndpoint() { return new CredentialsAmqpEndpoint(vertx()); }
/** * Sets up the fixture. */ @Before public void setUp() { when(vertx.eventBus()).thenReturn(eventBus); endpoint = new CredentialsAmqpEndpoint(vertx); }