/* * Copyright (c) 2015 EMC Corporation * All Rights Reserved */ package com.emc.sa.zookeeper; import com.emc.sa.descriptor.ServiceDefinition; import com.emc.sa.descriptor.ServiceDescriptor; import com.emc.sa.descriptor.ServiceDefinitionLoader; import com.emc.sa.descriptor.ServiceField; import com.emc.sa.util.TestCoordinatorService; import org.junit.*; import java.util.List; import java.util.Locale; // Suite requires coordinator be running on localhost, which will not be the case on build servers running the "test" rule. // Changes could be made to run a self-contained coordinator. See DbServiceTestBase for examples @Ignore public class ServiceDescriptorTests { private TestCoordinatorService coordinatorService; @Before public void setup() throws Exception { coordinatorService = new TestCoordinatorService(); coordinatorService.startClean(); } @Test public void testLoadingAndRetrieving() throws Exception { ZkServiceDescriptors serviceDescriptors = new ZkServiceDescriptors(); serviceDescriptors.setCoordinatorClient(coordinatorService.getCoordinatorClient()); serviceDescriptors.start(); List<ServiceDefinition> services = ServiceDefinitionLoader.load(ServiceDescriptorTests.class.getClassLoader()); Assert.assertEquals(1, services.size()); serviceDescriptors.addServices(services); ServiceDescriptor descriptor = serviceDescriptors.getDescriptor(Locale.getDefault(), "TestService"); Assert.assertNotNull(descriptor); Assert.assertEquals("TestService", descriptor.getServiceId()); List<ServiceField> fields = descriptor.getFieldList(); Assert.assertEquals(3, fields.size()); Assert.assertEquals("project", fields.get(0).getName()); Assert.assertEquals("Project", fields.get(0).getLabel()); } @After public void tearDown() throws Exception { coordinatorService.stop(); } }