You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ad...@apache.org on 2018/01/15 14:10:29 UTC
[ambari] branch trunk updated: AMBARI-22771. Fix broken unit test
This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 0e32150 AMBARI-22771. Fix broken unit test
0e32150 is described below
commit 0e321500a17d454e978e1e59c74453e02a22d3a3
Author: Doroszlai, Attila <ad...@apache.org>
AuthorDate: Mon Jan 15 15:00:11 2018 +0100
AMBARI-22771. Fix broken unit test
---
.../controller/RootServiceResponseFactoryTest.java | 145 ++++++++++-----------
1 file changed, 69 insertions(+), 76 deletions(-)
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/RootServiceResponseFactoryTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/RootServiceResponseFactoryTest.java
index e194115..2e16766 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/controller/RootServiceResponseFactoryTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/RootServiceResponseFactoryTest.java
@@ -20,6 +20,8 @@ package org.apache.ambari.server.controller;
import static junit.framework.Assert.assertEquals;
import static junit.framework.Assert.assertTrue;
+import static org.apache.ambari.server.controller.RootComponent.AMBARI_SERVER;
+import static org.apache.ambari.server.controller.RootService.AMBARI;
import java.sql.SQLException;
import java.util.Collections;
@@ -29,6 +31,7 @@ import org.apache.ambari.server.AmbariException;
import org.apache.ambari.server.H2DatabaseCleaner;
import org.apache.ambari.server.ObjectNotFoundException;
import org.apache.ambari.server.api.services.AmbariMetaInfo;
+import org.apache.ambari.server.configuration.Configuration;
import org.apache.ambari.server.orm.GuiceJpaInitializer;
import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
import org.junit.After;
@@ -41,13 +44,17 @@ import com.google.inject.Injector;
public class RootServiceResponseFactoryTest {
+ private Injector injector;
+
@Inject
private RootServiceResponseFactory responseFactory;
- private Injector injector;
@Inject
private AmbariMetaInfo ambariMetaInfo;
+ @Inject
+ private Configuration config;
+
@Before
public void setUp() throws Exception {
injector = Guice.createInjector(new InMemoryDefaultTestModule());
@@ -61,116 +68,102 @@ public class RootServiceResponseFactoryTest {
}
@Test
- public void testGetRootServices() throws Exception {
+ public void getReturnsAllServicesForNullServiceName() throws Exception {
// Request a null service name
RootServiceRequest request = new RootServiceRequest(null);
Set<RootServiceResponse> rootServices = responseFactory.getRootServices(request);
- assertEquals(RootService.values().length,
- rootServices.size());
+ assertEquals(RootService.values().length, rootServices.size());
+ }
+ @Test
+ public void getReturnsAllServicesForNullRequest() throws Exception {
// null request
- request = null;
- rootServices = responseFactory.getRootServices(request);
- assertEquals(RootService.values().length,
- rootServices.size());
+ Set<RootServiceResponse> rootServices = responseFactory.getRootServices(null);
+ assertEquals(RootService.values().length, rootServices.size());
+ }
+ @Test(expected = ObjectNotFoundException.class)
+ public void getThrowsForNonExistentService() throws Exception {
// Request nonexistent service
- try {
- request = new RootServiceRequest("XXX");
- rootServices = responseFactory.getRootServices(request);
- } catch (Exception e) {
- assertTrue(e instanceof ObjectNotFoundException);
- }
+ RootServiceRequest request = new RootServiceRequest("XXX");
+ responseFactory.getRootServices(request);
+ }
+ @Test
+ public void getReturnsSingleServiceForValidServiceName() throws Exception {
// Request existent service
- request = new RootServiceRequest(
- RootService.AMBARI.name());
-
- rootServices = responseFactory.getRootServices(request);
- assertEquals(1, rootServices.size());
- assertTrue(rootServices.contains(new RootServiceResponse(
- RootService.AMBARI.name())));
+ RootServiceRequest request = new RootServiceRequest(AMBARI.name());
+ Set<RootServiceResponse> rootServices = responseFactory.getRootServices(request);
+ assertEquals(Collections.singleton(new RootServiceResponse(AMBARI.name())), rootServices);
}
- @Test
- public void testGetRootServiceComponents() throws Exception {
+ @Test(expected = ObjectNotFoundException.class)
+ public void getThrowsForNullServiceNameNullComponentName() throws Exception {
// Request null service name, null component name
- RootServiceComponentRequest request = new RootServiceComponentRequest(null,
- null);
-
- Set<RootServiceComponentResponse> rootServiceComponents;
- try {
- rootServiceComponents = responseFactory.getRootServiceComponents(request);
- } catch (Exception e) {
- assertTrue(e instanceof ObjectNotFoundException);
- }
+ RootServiceComponentRequest request = new RootServiceComponentRequest(null, null);
- RootComponent ambariServerComponent = RootComponent.AMBARI_SERVER;
+ responseFactory.getRootServiceComponents(request);
+ }
+ @Test(expected = ObjectNotFoundException.class)
+ public void getThrowsForNullServiceNameValidComponentName() throws Exception {
// Request null service name, not-null component name
- request = new RootServiceComponentRequest(null, ambariServerComponent.name());
+ RootServiceComponentRequest request = new RootServiceComponentRequest(null, AMBARI_SERVER.name());
- try {
- rootServiceComponents = responseFactory.getRootServiceComponents(request);
- } catch (Exception e) {
- assertTrue(e instanceof ObjectNotFoundException);
- }
+ responseFactory.getRootServiceComponents(request);
+ }
+ @Test
+ public void getReturnsAllComponentsForValidServiceNameNullComponentName() throws Exception {
// Request existent service name, null component name
- String serviceName = RootService.AMBARI.name();
- request = new RootServiceComponentRequest(serviceName, null);
-
- rootServiceComponents = responseFactory.getRootServiceComponents(request);
- assertEquals(
- RootService.AMBARI.getComponents().length,
- rootServiceComponents.size());
+ RootServiceComponentRequest request = new RootServiceComponentRequest(AMBARI.name(), null);
- String ambariVersion = ambariMetaInfo.getServerVersion();
+ Set<RootServiceComponentResponse> rootServiceComponents = responseFactory.getRootServiceComponents(request);
+ assertEquals(AMBARI.getComponents().length, rootServiceComponents.size());
- for (int i = 0; i < RootService.AMBARI.getComponents().length; i++) {
- RootComponent component = RootService.AMBARI.getComponents()[i];
+ for (int i = 0; i < AMBARI.getComponents().length; i++) {
+ RootComponent component = AMBARI.getComponents()[i];
- if (component.name().equals(ambariServerComponent.name())) {
+ if (component.name().equals(AMBARI_SERVER.name())) {
for (RootServiceComponentResponse response : rootServiceComponents) {
- if (response.getComponentName().equals(ambariServerComponent.name())) {
- assertEquals(ambariVersion, response.getComponentVersion());
- assertEquals(1, response.getProperties().size(), 1);
- assertTrue(response.getProperties().containsKey("jdk_location"));
+ if (response.getComponentName().equals(AMBARI_SERVER.name())) {
+ verifyResponseForAmbariServer(response);
}
}
} else {
assertTrue(rootServiceComponents.contains(new RootServiceComponentResponse(
- serviceName, component.name(), RootServiceResponseFactory.NOT_APPLICABLE,
+ AMBARI.name(), component.name(), RootServiceResponseFactory.NOT_APPLICABLE,
Collections.emptyMap())));
}
}
+ }
+ @Test
+ public void getReturnsSingleComponentForValidServiceAndComponentName() throws Exception {
// Request existent service name, existent component name
- request = new RootServiceComponentRequest(
- RootService.AMBARI.name(),
- RootService.AMBARI.getComponents()[0].name());
+ RootServiceComponentRequest request = new RootServiceComponentRequest(AMBARI.name(), AMBARI_SERVER.name());
+
+ Set<RootServiceComponentResponse> rootServiceComponents = responseFactory.getRootServiceComponents(request);
- rootServiceComponents = responseFactory.getRootServiceComponents(request);
assertEquals(1, rootServiceComponents.size());
for (RootServiceComponentResponse response : rootServiceComponents) {
- if (response.getComponentName().equals(
- RootService.AMBARI.getComponents()[0].name())) {
- assertEquals(ambariVersion, response.getComponentVersion());
- assertEquals(2, response.getProperties().size());
- assertTrue(response.getProperties().containsKey("jdk_location"));
- assertTrue(response.getProperties().containsKey("java.version"));
- }
+ verifyResponseForAmbariServer(response);
}
+ }
- // Request existent service name, and component, not belongs to requested
- // service
- request = new RootServiceComponentRequest(
- RootService.AMBARI.name(), "XXX");
-
- try {
- rootServiceComponents = responseFactory.getRootServiceComponents(request);
- } catch (Exception e) {
- assertTrue(e instanceof ObjectNotFoundException);
- }
+ @Test(expected = ObjectNotFoundException.class)
+ public void getThrowsForNonexistentComponent() throws Exception {
+ // Request existent service name, and component, not belongs to requested service
+ RootServiceComponentRequest request = new RootServiceComponentRequest(AMBARI.name(), "XXX");
+ responseFactory.getRootServiceComponents(request);
+ }
+
+ private void verifyResponseForAmbariServer(RootServiceComponentResponse response) {
+ assertEquals(ambariMetaInfo.getServerVersion(), response.getComponentVersion());
+ // all properties from config + "jdk_location" + "java.version"
+ int expectedPropertyCount = config.getAmbariProperties().size() + 2;
+ assertEquals(response.getProperties().toString(), expectedPropertyCount, response.getProperties().size());
+ assertTrue(response.getProperties().containsKey("jdk_location"));
+ assertTrue(response.getProperties().containsKey("java.version"));
}
}
--
To stop receiving notification emails like this one, please contact
['"commits@ambari.apache.org" <co...@ambari.apache.org>'].