Repository: ambari Updated Branches: refs/heads/trunk 690dfde82 -> 4699a1b75
AMBARi-10964. Deleting a widget fails. Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4699a1b7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4699a1b7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4699a1b7 Branch: refs/heads/trunk Commit: 4699a1b75811aace747dc9c87072b29b8b41fbd1 Parents: 690dfde Author: Siddharth Wagle <swa...@hortonworks.com> Authored: Wed May 6 10:30:23 2015 -0700 Committer: Siddharth Wagle <swa...@hortonworks.com> Committed: Wed May 6 10:30:23 2015 -0700 ---------------------------------------------------------------------- .../internal/WidgetLayoutResourceProvider.java | 4 ++-- .../WidgetLayoutResourceProviderTest.java | 22 ++++++++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/4699a1b7/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java index 68dc4e9..8f068d5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java @@ -172,7 +172,7 @@ public class WidgetLayoutResourceProvider extends AbstractControllerResourceProv widgetLayoutUserWidgetEntity.setWidgetOrder(order++); widgetLayoutUserWidgetEntity.setWidgetLayout(entity); widgetLayoutUserWidgetEntityList.add(widgetLayoutUserWidgetEntity); - + widgetEntity.getListWidgetLayoutUserWidgetEntity().add(widgetLayoutUserWidgetEntity); } entity.setListWidgetLayoutUserWidgetEntity(widgetLayoutUserWidgetEntityList); @@ -301,7 +301,7 @@ public class WidgetLayoutResourceProvider extends AbstractControllerResourceProv widgetLayoutUserWidgetEntity.setWidgetOrder(order++); widgetLayoutUserWidgetEntity.setWidgetLayout(entity); widgetLayoutUserWidgetEntityList.add(widgetLayoutUserWidgetEntity); - + widgetEntity.getListWidgetLayoutUserWidgetEntity().add(widgetLayoutUserWidgetEntity); } entity.setListWidgetLayoutUserWidgetEntity(widgetLayoutUserWidgetEntityList); http://git-wip-us.apache.org/repos/asf/ambari/blob/4699a1b7/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java index dda0598..1a9e230 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java @@ -31,7 +31,9 @@ import org.apache.ambari.server.controller.utilities.PredicateBuilder; import org.apache.ambari.server.controller.utilities.PropertyHelper; import org.apache.ambari.server.metadata.ActionMetadata; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; +import org.apache.ambari.server.orm.dao.WidgetDAO; import org.apache.ambari.server.orm.dao.WidgetLayoutDAO; +import org.apache.ambari.server.orm.entities.WidgetEntity; import org.apache.ambari.server.orm.entities.WidgetLayoutEntity; import org.apache.ambari.server.orm.entities.WidgetLayoutUserWidgetEntity; import org.apache.ambari.server.state.Cluster; @@ -42,6 +44,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; +import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; @@ -51,6 +54,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import static org.easymock.EasyMock.anyLong; import static org.easymock.EasyMock.anyObject; import static org.easymock.EasyMock.capture; import static org.easymock.EasyMock.createMock; @@ -68,11 +72,13 @@ import static org.junit.Assert.assertEquals; public class WidgetLayoutResourceProviderTest { private WidgetLayoutDAO dao = null; + private WidgetDAO widgetDAO = null; private Injector m_injector; @Before public void before() { dao = createStrictMock(WidgetLayoutDAO.class); + widgetDAO = createStrictMock(WidgetDAO.class); m_injector = Guice.createInjector(Modules.override( new InMemoryDefaultTestModule()).with(new MockModule())); @@ -155,7 +161,12 @@ public class WidgetLayoutResourceProviderTest { dao.create(capture(entityCapture)); expectLastCall(); - replay(amc, clusters, cluster, dao); + WidgetEntity widgetEntity = new WidgetEntity(); + widgetEntity.setId(1l); + widgetEntity.setListWidgetLayoutUserWidgetEntity(new ArrayList<WidgetLayoutUserWidgetEntity>()); + expect(widgetDAO.findById(anyLong())).andReturn(widgetEntity).anyTimes(); + + replay(amc, clusters, cluster, dao, widgetDAO); WidgetLayoutResourceProvider provider = createProvider(amc); @@ -167,6 +178,9 @@ public class WidgetLayoutResourceProviderTest { requestProps.put(WidgetLayoutResourceProvider.WIDGETLAYOUT_USERNAME_PROPERTY_ID, "admin"); requestProps.put(WidgetLayoutResourceProvider.WIDGETLAYOUT_SCOPE_PROPERTY_ID, "CLUSTER"); Set widgetsInfo = new LinkedHashSet(); + Map<String, String> widget = new HashMap<String, String>(); + widget.put("id","1"); + widgetsInfo.add(widget); requestProps.put(WidgetLayoutResourceProvider.WIDGETLAYOUT_WIDGETS_PROPERTY_ID, widgetsInfo); Request request = PropertyHelper.getCreateRequest(Collections.singleton(requestProps), null); @@ -184,8 +198,11 @@ public class WidgetLayoutResourceProviderTest { Assert.assertEquals("section_name", entity.getSectionName()); Assert.assertEquals("admin", entity.getUserName()); Assert.assertNotNull(entity.getListWidgetLayoutUserWidgetEntity()); + Assert.assertNotNull(entity.getListWidgetLayoutUserWidgetEntity().get(0)); + Assert.assertNotNull(entity.getListWidgetLayoutUserWidgetEntity().get(0). + getWidget().getListWidgetLayoutUserWidgetEntity()); - verify(amc, clusters, cluster, dao); + verify(amc, clusters, cluster, dao, widgetDAO); } /** @@ -359,6 +376,7 @@ public class WidgetLayoutResourceProviderTest { binder.bind(Cluster.class).toInstance( EasyMock.createNiceMock(Cluster.class)); binder.bind(ActionMetadata.class); + binder.bind(WidgetDAO.class).toInstance(widgetDAO); } } }