new ServiceDiscoveryOptions() .setAnnounceAddress("service-announce") .setName("my-name"));
/** * Gets an existing managed repository, or creates it. * * @param options the service discovery options * @param closeHandler the action to perform when {@code discovery.close()} is called * @return the managed service discovery */ protected ServiceDiscovery getOrCreateDiscovery(ServiceDiscoveryOptions options, Action<Void> closeHandler) { if (options.getName() == null) { options.setName(getNodeId(vertx)); } String discoveryName = options.getName(); if (serviceDiscoveries.containsKey(discoveryName)) { return serviceDiscoveries.get(discoveryName); } ServiceDiscovery discovery = ServiceDiscovery.create(vertx, options); if (closeHandler != null) { discovery = ManagedServiceDiscovery.of(discovery, closeHandler); serviceDiscoveries.put(discoveryName, (ManagedServiceDiscovery) discovery); } return discovery; }
@Before public void setUp() { vertx = Vertx.vertx(); discovery = ServiceDiscovery.create(vertx, new ServiceDiscoveryOptions().setName("test-discovery")); config = new JsonObject().put("deliveryOptions", new JsonObject().put("timeout", 1000).put("codecName", "theCodecName")); record = new Record().setLocation(new JsonObject().put(Record.ENDPOINT, "theEndpoint")); graphQLService = new io.engagingspaces.graphql.servicediscovery.service.impl.GraphQLServiceImpl(); }
@Before public void setUp() { vertx = Vertx.vertx(); options = new ServiceDiscoveryOptions().setName("my-schema-discovery"); discovery = ServiceDiscovery.create(vertx, options); }
@Test public void testName() { ServiceDiscoveryOptions options = new ServiceDiscoveryOptions().setName("my-name"); assertThat(options.getName()).isEqualToIgnoringCase("my-name"); }
@Test public void testName() { ServiceDiscoveryOptions options = new ServiceDiscoveryOptions().setName("my-name"); assertThat(options.getName()).isEqualToIgnoringCase("my-name"); }
@Before public void setUp() { vertx = Vertx.vertx(); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("theAnnounceAddress").setUsageAddress("theUsageAddress"); schemaPublisher = new TestClass(vertx); }
@Before public void setUp() { vertx = Vertx.vertx(); abstractRegistrar = new TestClass(vertx); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("theAnnounceAddress").setUsageAddress("theUsageAddress"); }
@Before public void setUp() { vertx = Vertx.vertx(); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("theAnnounceAddress").setUsageAddress("theUsageAddress"); discovery = ServiceDiscovery.create(vertx, options); }
@Before public void setUp() { vertx = Vertx.vertx(); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("foo").setUsageAddress("bar"); options2 = new ServiceDiscoveryOptions().setName("theDiscovery2") .setAnnounceAddress("foo").setUsageAddress("bar"); discovery = ServiceDiscovery.create(vertx, options); discovery2 = ServiceDiscovery.create(vertx, options); }
@Before public void setUp() { vertx = Vertx.vertx(); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("theAnnounceAddress").setUsageAddress("theUsageAddress"); discovery = ServiceDiscovery.create(vertx, options); record = new Record() .setName("theRecord") .setType(Queryable.SERVICE_TYPE) .setMetadata(new JsonObject().put("publisherId", "thePublisherId")) .setLocation(new JsonObject().put(Record.ENDPOINT, Queryable.ADDRESS_PREFIX + ".DroidQueries")) .setStatus(Status.UP); definition = SchemaDefinition.createInstance(droidsSchema, SchemaMetadata.create(new JsonObject().put("publisherId", "thePublisherId"))); consumer = ProxyHelper.registerService(Queryable.class, vertx, definition, Queryable.ADDRESS_PREFIX + ".DroidQueries"); }
@Test public void should_Invoke_Close_Action_When_Closing_Managed_Discovery(TestContext context) { Async async = context.async(); AtomicInteger check = new AtomicInteger(1); final Action<Void> closeAction = () -> { assertEquals(0, check.decrementAndGet()); async.complete(); return null; }; ServiceDiscovery discovery = ManagedServiceDiscovery.of( ServiceDiscovery.create(vertx, new ServiceDiscoveryOptions().setName("discovery2")), closeAction); discovery.close(); }
@Test public void should_Stop_Repository_Listening_And_Remove_Registration() { DiscoveryRegistration registration = SchemaConsumer .startDiscovery(new ServiceDiscoveryOptions().setName("the-discovery"), testClass); DiscoveryRegistration sameRegistration = SchemaConsumer .startDiscovery(new ServiceDiscoveryOptions().setName("the-discovery"), testClass); assertNotNull(registration); assertEquals(registration, sameRegistration); assertEquals(1, testClass.managedDiscoveries().size()); SchemaConsumer.stopDiscovery(registration, testClass); assertEquals(0, testClass.managedDiscoveries().size()); DiscoveryRegistration registration2 = SchemaConsumer .startDiscovery(new ServiceDiscoveryOptions().setName("the-discovery"), testClass); assertNotNull(registration); assertEquals(1, testClass.managedDiscoveries().size()); SchemaConsumer.stopDiscovery(registration2.getDiscoveryOptions(), testClass); assertEquals(0, testClass.managedDiscoveries().size()); }
@Test public void should_Not_Wrap_An_Already_Managed_Discovery() { Action<Void> closeAction = () -> null; ServiceDiscovery discovery = ManagedServiceDiscovery.of( ServiceDiscovery.create(vertx, new ServiceDiscoveryOptions().setName("discovery2")), closeAction); ServiceDiscovery discovery2 = ManagedServiceDiscovery.of(discovery, closeAction); assertEquals(discovery, discovery2); } }
@Before public void setUp() { vertx = rule.vertx(); options = new ServiceDiscoveryOptions().setName("theDiscovery") .setAnnounceAddress("announceAddress").setUsageAddress("usageAddress"); schemaRegistrar = SchemaRegistrar.create(vertx); schemaPublisher = new TestClass(schemaRegistrar); }
@Before public void setUp(TestContext context) { vertx = Vertx.vertx(); vertx.exceptionHandler(context.exceptionHandler()); ServiceDiscovery serviceDiscovery = ServiceDiscovery.create(vertx, new ServiceDiscoveryOptions().setName("my-schema-discovery")); Handler<SchemaRegistration> schemaHandler = schema -> { record = schema.getRecord(); discovery = schema.getDiscovery(); assertEquals(serviceDiscovery, discovery); }; GraphQLService.publish(vertx, serviceDiscovery, droidsSchema, null, null, context.asyncAssertSuccess(schemaHandler)); }
@Test public void should_Cleanup_Unused_Consumers_On_Closing_Managed_Discovery() { discoveryRegistrar = DiscoveryRegistrar.create(vertx); ServiceDiscovery discovery1 = discoveryRegistrar.startListening( new ServiceDiscoveryOptions().setName("discovery1"), record -> {}, refData -> {}).getDiscovery(); ServiceDiscovery discovery2 = discoveryRegistrar.startListening( new ServiceDiscoveryOptions().setName("discovery1"), record -> {}, refData -> {}).getDiscovery(); ServiceDiscovery discovery3 = discoveryRegistrar.startListening( new ServiceDiscoveryOptions().setName("discovery2").setAnnounceAddress("otherAnnounce"), record -> {}, refData -> {}).getDiscovery(); assertEquals(2, discoveryRegistrar.serviceDiscoveryNames().size()); assertNotNull(discoveryRegistrar.getDiscovery("discovery1")); assertEquals(discoveryRegistrar.getDiscovery("discovery1"), discovery2); assertNotEquals(discoveryRegistrar.getDiscovery("discovery2"), discoveryRegistrar.getDiscovery("discovery3")); // TODO Complete test discovery1.close(); }
@Test public void should_Create_Service_Discovery_And_Return_Registration() { DiscoveryRegistration defaultRegistration = SchemaConsumer.startDiscovery(testClass); DiscoveryRegistration registration = SchemaConsumer .startDiscovery(new ServiceDiscoveryOptions().setName("the-discovery"), testClass); assertNotNull(defaultRegistration); assertNotNull(registration); assertNotNull(registration.getDiscovery()); assertNotNull(registration.getDiscoveryOptions()); assertEquals(2, testClass.managedDiscoveries().size()); }
@Test public void should_Implement_Proper_Reference_Equality() { SchemaRegistration registration1 = SchemaRegistration.create(discovery, options, record, definition, null); assertEquals(registration1, registration1); assertNotEquals(registration1, "test"); SchemaRegistration registration2 = SchemaRegistration.create(discovery, new ServiceDiscoveryOptions(options).setName("theOtherDiscovery"), record, definition, null); assertNotEquals(registration1, registration2); SchemaRegistration registration3 = SchemaRegistration.create(discovery, new ServiceDiscoveryOptions(options).setName("theOtherDiscovery"), record, definition, consumer); assertNotEquals(registration2, registration3); SchemaDefinition starwarsSchema = SchemaDefinition .createInstance(starWarsSchema, SchemaMetadata.create()); SchemaRegistration registration4 = SchemaRegistration.create(discovery, options, record, starwarsSchema, null); assertNotEquals(registration1, registration4); SchemaRegistration registration5 = SchemaRegistration. create(discovery, options, new Record(record).setName("theOtherRecord"), starwarsSchema, null); assertNotEquals(registration4, registration5); SchemaRegistration registration6 = SchemaRegistration. create(discovery, options, new Record(record).setStatus(Status.DOWN), starwarsSchema, null); assertEquals(registration4, registration6); }
@Test public void should_Implement_Proper_Reference_Equality() { TestRegistration registration1 = new TestRegistration(discovery, options); assertEquals(registration1, registration1); assertNotEquals(registration1, "test"); TestRegistration registration2 = new TestRegistration(discovery, options); assertEquals(registration1, registration2); assertEquals(registration1.getDiscovery(), registration2.getDiscovery()); assertEquals(registration1.getDiscoveryOptions().getName(), registration2.getDiscoveryOptions().getName()); assertNotEquals(registration1.getDiscoveryOptions(), registration2.getDiscoveryOptions()); // returns a copy TestRegistration registration3 = new TestRegistration(discovery, new ServiceDiscoveryOptions(options)); assertEquals(registration1, registration3); TestRegistration registration4 = new TestRegistration(discovery, new ServiceDiscoveryOptions(options).setName("theOtherDiscovery")); assertNotEquals(registration1, registration4); TestRegistration registration5 = new TestRegistration(ServiceDiscovery.create(vertx), options); assertNotEquals(registration1, registration5); // would be illegal as well }