LoraProtocolAdapter extends AbstractVertxBasedHttpProtocolAdapter<LoraProtocolAdapterProperties> { void handleOptionsRoute(final RoutingContext ctx) { final Span currentSpan = TracingHelper.buildServerChildSpan( tracer, TracingHandler.serverSpanContext(ctx), "process OPTIONS request", getClass().getSimpleName()) .start(); if (ctx.user() instanceof Device) { handle200(ctx); } else { handleUnsupportedUserType(ctx, currentSpan); } currentSpan.finish(); }  @Autowired(required = false) void setLoraProviders(final List<LoraProvider> providers); void setUsernamePasswordAuthProvider(final DeviceCredentialsAuthProvider<UsernamePasswordCredentials> provider); void setClientCertAuthProvider(final DeviceCredentialsAuthProvider<SubjectDnCredentials> provider);  }
@Test public void handleProviderRouteSuccessfullyForOptionsRequest() { final HttpContext httpContext = newHttpContext(); adapter.handleOptionsRoute(httpContext.getRoutingContext()); verify(httpContext.getRoutingContext().response()).setStatusCode(HttpResponseStatus.OK.code()); verify(currentSpan).finish(); }