/** * Create an {@code IotProvider} that uses its own {@code DirectProvider}. * No name is assigned to the provider so a preferences service is not created. * @param iotDeviceCreator How the {@code IotDevice} is created. * * @see DirectProvider */ public IotProvider(Function<Topology, IotDevice> iotDeviceCreator) { this(null, new DirectProvider(), iotDeviceCreator); }
/** * Create an {@code IotProvider} that uses its own {@code DirectProvider}. * @param name Name of the provider, if the value is not {@code null} then a preferences service is created. * @param iotDeviceCreator How the {@code IotDevice} is created. * * @see DirectProvider */ public IotProvider(String name, Function<Topology, IotDevice> iotDeviceCreator) { this(name, new DirectProvider(), iotDeviceCreator); }
/** * Create an {@code IotProvider} that uses its own {@code DirectProvider}. * No name is assigned to the provider so a preferences service is not created. * @param iotDeviceCreator How the {@code IotDevice} is created. * * @see DirectProvider */ public IotProvider(Function<Topology, IotDevice> iotDeviceCreator) { this(null, new DirectProvider(), iotDeviceCreator); }
/** * Create an {@code IotProvider} that uses its own {@code DirectProvider}. * @param name Name of the provider, if the value is not {@code null} then a preferences service is created. * @param iotDeviceCreator How the {@code IotDevice} is created. * * @see DirectProvider */ public IotProvider(String name, Function<Topology, IotDevice> iotDeviceCreator) { this(name, new DirectProvider(), iotDeviceCreator); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Override public DirectProvider createTopologyProvider() { return new DirectProvider(); }
@Test(expected=IllegalArgumentException.class) public void testRegisterNullTopologyName() { DirectProvider direct = new DirectProvider(); ApplicationService appService = AppService.createAndRegister(direct, direct); appService.registerTopology(null, (t,c) -> t.strings("a")); }
@Test(expected=IllegalArgumentException.class) public void testRegisterEmptyTopologyName() { DirectProvider direct = new DirectProvider(); ApplicationService appService = AppService.createAndRegister(direct, direct); appService.registerTopology("", (t,c) -> t.strings("a")); }
@Test public void testPost() throws Exception { DirectProvider ep = new DirectProvider(); Topology topology = ep.newTopology(); String url = "http://httpbin.org/post"; TStream<String> stream = topology.strings(url); TStream<String> rc = HttpStreams.<String, String>requestsWithBody( stream, HttpClients::noAuthentication, t -> HttpPost.METHOD_NAME, t-> t, t-> new ByteArrayEntity(t.getBytes()), HttpResponders.inputOn200()); Tester tester = topology.getTester(); Condition<List<String>> endCondition = tester.streamContents(rc, url); tester.complete(ep, new JsonObject(), endCondition, 10, TimeUnit.SECONDS); assertTrue(endCondition.valid()); }
@Test public void testRegisterTopology() { DirectProvider direct = new DirectProvider(); ApplicationService appService = AppService.createAndRegister(direct, direct); assertTrue(appService.getApplicationNames().isEmpty()); appService.registerTopology("FirstApp", (t,c) -> t.strings("a")); assertEquals(1, appService.getApplicationNames().size()); assertTrue(appService.getApplicationNames().contains("FirstApp")); appService.registerTopology("SecondApp", (t,c) -> t.strings("b")); assertEquals(2, appService.getApplicationNames().size()); assertTrue(appService.getApplicationNames().contains("FirstApp")); assertTrue(appService.getApplicationNames().contains("SecondApp")); }
@Test public void testAppService() throws Exception { DirectProvider provider = new DirectProvider(); JsonControlService control = new JsonControlService(); provider.getServices().addService(ControlService.class, control); AppService.createAndRegister(provider, provider); IotTestApps.registerApplications(provider); JsonObject submitAppOne = newSubmitRequest("AppOne"); JsonElement crr = control.controlRequest(submitAppOne); assertTrue(crr.getAsBoolean()); }
@Test public void testGet() throws Exception { DirectProvider ep = new DirectProvider(); Topology topology = ep.newTopology(); String url = "http://httpbin.org/get"; TStream<String> rc = HttpStreams.<String,String>requests( topology.strings(url), HttpClients::noAuthentication, t-> HttpGet.METHOD_NAME, t->t, HttpResponders.inputOn200()); Tester tester = topology.getTester(); Condition<List<String>> endCondition = tester.streamContents(rc, url); tester.complete(ep, new JsonObject(), endCondition, 10, TimeUnit.SECONDS); assertTrue(endCondition.valid()); }
@Test public void testDelete() throws Exception { DirectProvider ep = new DirectProvider(); Topology topology = ep.newTopology(); String url = "http://httpbin.org/delete"; TStream<String> stream = topology.strings(url); TStream<String> rc = HttpStreams.<String, String>requests( stream, HttpClients::noAuthentication, t -> HttpDelete.METHOD_NAME, t-> t, HttpResponders.inputOn200()); Tester tester = topology.getTester(); Condition<List<String>> endCondition = tester.streamContents(rc, url); tester.complete(ep, new JsonObject(), endCondition, 10, TimeUnit.SECONDS); assertTrue(endCondition.valid()); }