use of org.eclipse.hono.service.auth.device.Device in project hono by eclipse.
the class VertxBasedMqttProtocolAdapterTest method testMapTopicFailsForQoS0EventMessage.
/**
* Verifies that the adapter rejects QoS 0 messages published to the <em>event</em> endpoint.
*
* @param ctx The helper to use for running tests on vert.x.
*/
@Test
public void testMapTopicFailsForQoS0EventMessage(final TestContext ctx) {
givenAnAdapter();
// WHEN a device publishes a message with QoS 0 to an "event" topic
final MqttPublishMessage message = newMessage(MqttQoS.AT_MOST_ONCE, EventConstants.EVENT_ENDPOINT);
adapter.mapTopic(message).setHandler(ctx.asyncAssertFailure(t -> {
// THEN no downstream sender can be created for the message
}));
}
use of org.eclipse.hono.service.auth.device.Device in project hono by eclipse.
the class VertxBasedMqttProtocolAdapterTest method testOnPublishedAuthenticatedMessageFailsForMissingDeviceId.
/**
* Verifies that the adapter fails to map a topic without a device ID received from an authenticated device.
*
* @param ctx The helper to use for running tests on vert.x.
*/
@Test
public void testOnPublishedAuthenticatedMessageFailsForMissingDeviceId(final TestContext ctx) {
givenAnAdapter();
// WHEN an authenticated device publishes a message to a topic that does not contain a device ID
final MqttContext context = newContext(MqttQoS.AT_MOST_ONCE, TelemetryConstants.TELEMETRY_ENDPOINT + "/my-tenant", new Device("my-tenant", "device"));
adapter.onPublishedMessage(context).setHandler(ctx.asyncAssertFailure(t -> {
// THEN the message cannot be mapped to an address
}));
}
Aggregations