use of org.apache.servicecomb.registry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestIpPortManager method testCreateServiceRegistryCacheWithInstanceCache.
@Test
public void testCreateServiceRegistryCacheWithInstanceCache() {
List<MicroserviceInstance> list = new ArrayList<>();
MicroserviceInstance e1 = new MicroserviceInstance();
list.add(e1);
new MockUp<RegistryUtils>() {
@Mock
public List<MicroserviceInstance> findServiceInstance(String appId, String serviceName, String versionRule) {
return list;
}
};
}
use of org.apache.servicecomb.registry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestIpPortManager method testGetAvailableAddress.
@Test
public void testGetAvailableAddress(@Injectable ServiceRegistryConfig config, @Injectable InstanceCacheManager cacheManager, @Injectable InstanceCache cache, @Injectable ClassificationAddress classificationAddress) {
ArrayList<IpPort> ipPortList = new ArrayList<>();
ipPortList.add(new IpPort("127.0.0.1", 9980));
ipPortList.add(new IpPort("127.0.0.1", 9981));
new Expectations() {
{
config.getIpPort();
result = ipPortList;
config.getTransport();
result = "rest";
config.isRegistryAutoDiscovery();
result = true;
}
};
IpPortManager manager = new IpPortManager(config);
manager.instanceCacheManager = cacheManager;
IpPort address1 = manager.getAvailableAddress();
// test initial
Assert.assertEquals("127.0.0.1", address1.getHostOrIp());
Assert.assertTrue(address1.getPort() == 9980 || address1.getPort() == 9981);
// test getAvailableAddress()
IpPort address2 = manager.getAvailableAddress();
Assert.assertEquals("127.0.0.1", address2.getHostOrIp());
if (address1.getPort() == 9980) {
Assert.assertEquals(9981, address2.getPort());
} else {
Assert.assertEquals(9980, address2.getPort());
}
// test getAvailableAddress() when reaching the end
IpPort address3 = manager.getAvailableAddress();
Assert.assertEquals("127.0.0.1", address3.getHostOrIp());
Assert.assertEquals(address1.getPort(), address3.getPort());
// mock endpoint list
Map<String, List<CacheEndpoint>> addresses = new HashMap<>();
List<CacheEndpoint> instances = new ArrayList<>();
instances.add(new CacheEndpoint("http://127.0.0.1:9982", null));
addresses.put("rest", instances);
ClassificationAddress classificationAddres = new ClassificationAddress(config, cacheManager);
manager.classificationAddress = classificationAddres;
new Expectations() {
{
cacheManager.getOrCreate("default", "SERVICECENTER", "latest");
result = cache;
cache.getOrCreateTransportMap();
result = addresses;
}
};
// test getAvailableAddress() when auto discovery is disabled
IpPort address4 = manager.getAvailableAddress();
Assert.assertEquals("127.0.0.1", address4.getHostOrIp());
if (address1.getPort() == 9980) {
address4 = manager.getAvailableAddress();
}
Assert.assertEquals(9980, address4.getPort());
IpPort address5 = manager.getAvailableAddress();
Assert.assertEquals("127.0.0.1", address5.getHostOrIp());
Assert.assertEquals(9981, address5.getPort());
// mock RegistrationManager.INSTANCE
String instanceId = "e8a04b54cf2711e7b701286ed488fc20";
MicroserviceInstance microserviceInstance = new MicroserviceInstance();
microserviceInstance.setInstanceId(instanceId);
Map<String, String> properties = new HashMap<>();
microserviceInstance.setProperties(properties);
new Expectations(RegistrationManager.INSTANCE) {
{
RegistrationManager.INSTANCE.getMicroserviceInstance();
result = microserviceInstance;
}
};
// test getAvailable address when auto discovery is enabled
manager.initAutoDiscovery();
manager.setAutoDiscoveryInited(true);
IpPort address6 = manager.getAvailableAddress();
Assert.assertEquals("127.0.0.1", address6.getHostOrIp());
Assert.assertEquals(9982, address6.getPort());
}
use of org.apache.servicecomb.registry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestPropertiesLoader method testInstancePropertiesLoader.
@Test
public void testInstancePropertiesLoader() {
Microservice microservice = LocalServiceRegistryFactory.createLocal().getMicroservice();
MicroserviceInstance instance = microservice.getInstance();
Map<String, String> expectedMap = new HashMap<>();
expectedMap.put("key0", "value0");
expectedMap.put("ek0", "ev0");
Assert.assertEquals(expectedMap, instance.getProperties());
}
use of org.apache.servicecomb.registry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestSimpleMicroserviceInstancePing method testPing.
@Test
public void testPing() throws IOException {
SimpleMicroserviceInstancePing ping = new SimpleMicroserviceInstancePing();
Assert.assertEquals(ping.getOrder(), 100);
MicroserviceInstance instance = new MicroserviceInstance();
List<String> endpoints = new ArrayList<>();
ServerSocket ss = new ServerSocket(35677);
endpoints.add("http://localhost:35677");
instance.setEndpoints(endpoints);
Assert.assertTrue(ping.ping(instance));
MicroserviceInstance instance2 = new MicroserviceInstance();
Assert.assertFalse(ping.ping(instance2));
ss.close();
Assert.assertFalse(ping.ping(instance));
}
use of org.apache.servicecomb.registry.api.registry.MicroserviceInstance in project java-chassis by ServiceComb.
the class TestSimpleMicroserviceInstancePing method testPing_more_endpoin.
@Test
public void testPing_more_endpoin() throws IOException {
SimpleMicroserviceInstancePing ping = new SimpleMicroserviceInstancePing();
MicroserviceInstance instance = new MicroserviceInstance();
List<String> endpoints = new ArrayList<>();
ServerSocket ss = new ServerSocket(35677);
endpoints.add("http://localhost:35676");
endpoints.add("http://localhost:35677");
instance.setEndpoints(endpoints);
Assert.assertTrue(ping.ping(instance));
ss.close();
Assert.assertFalse(ping.ping(instance));
}
Aggregations