http://git-wip-us.apache.org/repos/asf/ambari/blob/af1bf85c/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog242Test.java
----------------------------------------------------------------------
diff --git
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog242Test.java
b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog242Test.java
deleted file mode 100644
index 2d3704d..0000000
---
a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog242Test.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ambari.server.upgrade;
-
-import static org.easymock.EasyMock.anyString;
-import static org.easymock.EasyMock.aryEq;
-import static org.easymock.EasyMock.capture;
-import static org.easymock.EasyMock.createMockBuilder;
-import static org.easymock.EasyMock.createNiceMock;
-import static org.easymock.EasyMock.createStrictMock;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.expectLastCall;
-import static org.easymock.EasyMock.newCapture;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.reset;
-import static org.easymock.EasyMock.verify;
-
-import java.lang.reflect.Method;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.persistence.EntityManager;
-
-import org.apache.ambari.server.AmbariException;
-import org.apache.ambari.server.H2DatabaseCleaner;
-import org.apache.ambari.server.api.services.AmbariMetaInfo;
-import org.apache.ambari.server.configuration.Configuration;
-import org.apache.ambari.server.orm.DBAccessor;
-import org.apache.ambari.server.orm.GuiceJpaInitializer;
-import org.apache.ambari.server.orm.InMemoryDefaultTestModule;
-import org.apache.ambari.server.orm.dao.PermissionDAO;
-import org.apache.ambari.server.orm.dao.PrincipalDAO;
-import org.apache.ambari.server.orm.dao.PrincipalTypeDAO;
-import org.apache.ambari.server.orm.dao.PrivilegeDAO;
-import org.apache.ambari.server.orm.dao.ResourceTypeDAO;
-import org.apache.ambari.server.orm.dao.RoleAuthorizationDAO;
-import org.apache.ambari.server.orm.dao.StackDAO;
-import org.apache.ambari.server.orm.entities.PermissionEntity;
-import org.apache.ambari.server.orm.entities.PrincipalEntity;
-import org.apache.ambari.server.orm.entities.PrincipalTypeEntity;
-import org.apache.ambari.server.orm.entities.PrivilegeEntity;
-import org.apache.ambari.server.orm.entities.ResourceEntity;
-import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
-import org.apache.ambari.server.orm.entities.RoleAuthorizationEntity;
-import org.apache.ambari.server.state.stack.OsFamily;
-import org.easymock.Capture;
-import org.easymock.EasyMockSupport;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import com.google.inject.Binder;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import com.google.inject.Module;
-import com.google.inject.Provider;
-
-import junit.framework.Assert;
-/**
- * {@link org.apache.ambari.server.upgrade.UpgradeCatalog242} unit tests.
- */
-public class UpgradeCatalog242Test {
- private Injector injector;
- private Provider<EntityManager> entityManagerProvider =
createStrictMock(Provider.class);
- private EntityManager entityManager = createNiceMock(EntityManager.class);
-
-
- @Before
- public void init() {
- reset(entityManagerProvider);
- expect(entityManagerProvider.get()).andReturn(entityManager).anyTimes();
- replay(entityManagerProvider);
- injector = Guice.createInjector(new InMemoryDefaultTestModule());
- injector.getInstance(GuiceJpaInitializer.class);
-
- // inject AmbariMetaInfo to ensure that stacks get populated in the DB
- injector.getInstance(AmbariMetaInfo.class);
- // load the stack entity
- StackDAO stackDAO = injector.getInstance(StackDAO.class);
- }
-
- @After
- public void tearDown() throws AmbariException, SQLException {
- H2DatabaseCleaner.clearDatabaseAndStopPersistenceService(injector);
- }
-
- @Test
- public void testUpdateTablesForMysql() throws Exception{
- final DBAccessor dbAccessor = createNiceMock(DBAccessor.class);
- final Configuration configuration = createNiceMock(Configuration.class);
-
- Capture<DBAccessor.DBColumnInfo> extensionExtensionNameColumnChangeSize =
newCapture();
- Capture<DBAccessor.DBColumnInfo> extensionExtensionVersionColumnChangeSize
= newCapture();
- Capture<DBAccessor.DBColumnInfo> usersUserTypeColumnChangeSize =
newCapture();
- Capture<DBAccessor.DBColumnInfo> usersUserNameColumnChangeSize =
newCapture();
- Capture<DBAccessor.DBColumnInfo> hostRoleCommandRoleColumnChangeSize =
newCapture();
- Capture<DBAccessor.DBColumnInfo> hostRoleCommandStatusColumnChangeSize =
newCapture();
- Capture<DBAccessor.DBColumnInfo> blueprintBlueprintNameColumnChangeSize =
newCapture();
-
-
-
expect(configuration.getDatabaseType()).andReturn(Configuration.DatabaseType.MYSQL).once();
-
- dbAccessor.alterColumn(eq(UpgradeCatalog242.EXTENSION_TABLE),
capture(extensionExtensionNameColumnChangeSize));
- dbAccessor.alterColumn(eq(UpgradeCatalog242.EXTENSION_TABLE),
capture(extensionExtensionVersionColumnChangeSize));
-
- dbAccessor.alterColumn(eq(UpgradeCatalog242.USERS_TABLE),
capture(usersUserTypeColumnChangeSize));
- dbAccessor.alterColumn(eq(UpgradeCatalog242.USERS_TABLE),
capture(usersUserNameColumnChangeSize));
-
- dbAccessor.alterColumn(eq(UpgradeCatalog242.HOST_ROLE_COMMAND_TABLE),
capture(hostRoleCommandRoleColumnChangeSize));
- dbAccessor.alterColumn(eq(UpgradeCatalog242.HOST_ROLE_COMMAND_TABLE),
capture(hostRoleCommandStatusColumnChangeSize));
-
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.HOST_GROUP_TABLE),
eq("FK_hg_blueprint_name"));
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.HOST_GROUP_TABLE),
eq("FK_hostgroup_blueprint_name"));
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_CONFIGURATION),
eq("FK_cfg_blueprint_name"));
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_CONFIGURATION),
eq("FK_blueprint_configuration_blueprint_name"));
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_SETTING),
eq("FK_blueprint_setting_blueprint_name"));
- dbAccessor.dropFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_SETTING),
eq("FK_blueprint_setting_name"));
-
- dbAccessor.alterColumn(eq(UpgradeCatalog242.BLUEPRINT_TABLE),
capture(blueprintBlueprintNameColumnChangeSize));
-
- dbAccessor.addFKConstraint(eq(UpgradeCatalog242.HOST_GROUP_TABLE),
eq("FK_hg_blueprint_name"),
- aryEq(new String[]{"blueprint_name"}),
eq(UpgradeCatalog242.BLUEPRINT_TABLE), aryEq(new String[]{"blueprint_name"}),
eq(false));
-
- dbAccessor.addFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_CONFIGURATION),
eq("FK_cfg_blueprint_name"),
- aryEq(new String[]{"blueprint_name"}),
eq(UpgradeCatalog242.BLUEPRINT_TABLE), aryEq(new String[]{"blueprint_name"}),
eq(false));
-
- dbAccessor.addFKConstraint(eq(UpgradeCatalog242.BLUEPRINT_SETTING),
eq("FK_blueprint_setting_name"),
- aryEq(new String[]{"blueprint_name"}),
eq(UpgradeCatalog242.BLUEPRINT_TABLE), aryEq(new String[]{"blueprint_name"}),
eq(false));
-
- replay(dbAccessor, configuration);
- Module module = new Module() {
- @Override
- public void configure(Binder binder) {
- binder.bind(DBAccessor.class).toInstance(dbAccessor);
- binder.bind(OsFamily.class).toInstance(createNiceMock(OsFamily.class));
- binder.bind(EntityManager.class).toInstance(entityManager);
- binder.bind(Configuration.class).toInstance(configuration);
- }
- };
-
- Injector injector = Guice.createInjector(module);
- UpgradeCatalog242 upgradeCatalog242 =
injector.getInstance(UpgradeCatalog242.class);
- upgradeCatalog242.executeDDLUpdates();
-
- DBAccessor.DBColumnInfo extensionExtensionNameInfo =
extensionExtensionNameColumnChangeSize.getValue();
- Assert.assertNotNull(extensionExtensionNameInfo);
- Assert.assertEquals(UpgradeCatalog242.EXTENSION_NAME_COLUMN,
extensionExtensionNameInfo.getName());
- Assert.assertEquals(new Integer(100),
extensionExtensionNameInfo.getLength());
- Assert.assertEquals(String.class, extensionExtensionNameInfo.getType());
- Assert.assertEquals(null, extensionExtensionNameInfo.getDefaultValue());
- Assert.assertEquals(false, extensionExtensionNameInfo.isNullable());
-
- DBAccessor.DBColumnInfo extensionExtensionVersionInfo =
extensionExtensionVersionColumnChangeSize.getValue();
- Assert.assertNotNull(extensionExtensionVersionInfo);
- Assert.assertEquals(UpgradeCatalog242.EXTENSION_VERSION_COLUMN,
extensionExtensionVersionInfo.getName());
- Assert.assertEquals(new Integer(100),
extensionExtensionVersionInfo.getLength());
- Assert.assertEquals(String.class, extensionExtensionVersionInfo.getType());
- Assert.assertEquals(null, extensionExtensionVersionInfo.getDefaultValue());
- Assert.assertEquals(false, extensionExtensionVersionInfo.isNullable());
-
- DBAccessor.DBColumnInfo usersUserTypeInfo =
usersUserTypeColumnChangeSize.getValue();
- Assert.assertNotNull(usersUserTypeInfo);
- Assert.assertEquals(UpgradeCatalog242.USER_TYPE_COLUMN,
usersUserTypeInfo.getName());
- Assert.assertEquals(new Integer(100), usersUserTypeInfo.getLength());
- Assert.assertEquals(String.class, usersUserTypeInfo.getType());
- Assert.assertEquals(null, usersUserTypeInfo.getDefaultValue());
- Assert.assertEquals(false, usersUserTypeInfo.isNullable());
-
- DBAccessor.DBColumnInfo usersUserNameInfo =
usersUserNameColumnChangeSize.getValue();
- Assert.assertNotNull(usersUserNameInfo);
- Assert.assertEquals(UpgradeCatalog242.USER_NAME_COLUMN,
usersUserNameInfo.getName());
- Assert.assertEquals(new Integer(100), usersUserNameInfo.getLength());
- Assert.assertEquals(String.class, usersUserNameInfo.getType());
- Assert.assertEquals(null, usersUserNameInfo.getDefaultValue());
- Assert.assertEquals(false, usersUserNameInfo.isNullable());
-
- DBAccessor.DBColumnInfo hostRoleCommandRoleInfo =
hostRoleCommandRoleColumnChangeSize.getValue();
- Assert.assertNotNull(hostRoleCommandRoleInfo);
- Assert.assertEquals(UpgradeCatalog242.ROLE_COLUMN,
hostRoleCommandRoleInfo.getName());
- Assert.assertEquals(new Integer(100), hostRoleCommandRoleInfo.getLength());
- Assert.assertEquals(String.class, hostRoleCommandRoleInfo.getType());
- Assert.assertEquals(null, hostRoleCommandRoleInfo.getDefaultValue());
- Assert.assertEquals(true, hostRoleCommandRoleInfo.isNullable());
-
- DBAccessor.DBColumnInfo hostRoleCommandStatusInfo =
hostRoleCommandStatusColumnChangeSize.getValue();
- Assert.assertNotNull(hostRoleCommandStatusInfo);
- Assert.assertEquals(UpgradeCatalog242.STATUS_COLUMN,
hostRoleCommandStatusInfo.getName());
- Assert.assertEquals(new Integer(100),
hostRoleCommandStatusInfo.getLength());
- Assert.assertEquals(String.class, hostRoleCommandStatusInfo.getType());
- Assert.assertEquals(null, hostRoleCommandStatusInfo.getDefaultValue());
- Assert.assertEquals(true, hostRoleCommandStatusInfo.isNullable());
-
- DBAccessor.DBColumnInfo blueprintBlueprintNameInfo =
blueprintBlueprintNameColumnChangeSize.getValue();
- Assert.assertNotNull(blueprintBlueprintNameInfo);
- Assert.assertEquals(UpgradeCatalog242.BLUEPRINT_NAME_COLUMN,
blueprintBlueprintNameInfo.getName());
- Assert.assertEquals(new Integer(100),
blueprintBlueprintNameInfo.getLength());
- Assert.assertEquals(String.class, blueprintBlueprintNameInfo.getType());
- Assert.assertEquals(null, blueprintBlueprintNameInfo.getDefaultValue());
- Assert.assertEquals(false, blueprintBlueprintNameInfo.isNullable());
-
-
- verify(dbAccessor, configuration);
- }
-
- @Test
- public void testExecuteDMLUpdates() throws Exception {
- Method addNewConfigurationsFromXml =
AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
- Method convertRolePrincipals =
UpgradeCatalog242.class.getDeclaredMethod("convertRolePrincipals");
- Method createRoleAuthorizations =
UpgradeCatalog242.class.getDeclaredMethod("createRoleAuthorizations");
-
- UpgradeCatalog242 upgradeCatalog242 =
createMockBuilder(UpgradeCatalog242.class)
- .addMockedMethod(addNewConfigurationsFromXml)
- .addMockedMethod(convertRolePrincipals)
- .addMockedMethod(createRoleAuthorizations)
- .createMock();
-
-
- upgradeCatalog242.addNewConfigurationsFromXml();
- expectLastCall().once();
-
- upgradeCatalog242.createRoleAuthorizations();
- expectLastCall().once();
-
- upgradeCatalog242.convertRolePrincipals();
- expectLastCall().once();
-
- replay(upgradeCatalog242);
-
- upgradeCatalog242.executeDMLUpdates();
-
- verify(upgradeCatalog242);
- }
-
- @Test
- public void testConvertRolePrincipals() throws AmbariException, SQLException
{
-
- EasyMockSupport easyMockSupport = new EasyMockSupport();
-
- PrincipalEntity clusterAdministratorPrincipalEntity =
easyMockSupport.createMock(PrincipalEntity.class);
-
- PermissionEntity clusterAdministratorPermissionEntity =
easyMockSupport.createMock(PermissionEntity.class);
- expect(clusterAdministratorPermissionEntity.getPrincipal())
- .andReturn(clusterAdministratorPrincipalEntity)
- .once();
-
- PrincipalTypeEntity allClusterAdministratorPrincipalTypeEntity =
easyMockSupport.createMock(PrincipalTypeEntity.class);
-
- PermissionDAO permissionDAO =
easyMockSupport.createMock(PermissionDAO.class);
- expect(permissionDAO.findByName("CLUSTER.ADMINISTRATOR"))
- .andReturn(clusterAdministratorPermissionEntity)
- .once();
- expect(permissionDAO.findByName(anyString()))
- .andReturn(null)
- .anyTimes();
-
- PrincipalTypeDAO principalTypeDAO =
easyMockSupport.createMock(PrincipalTypeDAO.class);
- expect(principalTypeDAO.findByName("ALL.CLUSTER.ADMINISTRATOR"))
- .andReturn(allClusterAdministratorPrincipalTypeEntity)
- .once();
- expect(principalTypeDAO.findByName(anyString()))
- .andReturn(null)
- .anyTimes();
- principalTypeDAO.remove(allClusterAdministratorPrincipalTypeEntity);
- expectLastCall().once();
-
- ResourceEntity allClusterAdministratorPrivilege1Resource =
easyMockSupport.createMock(ResourceEntity.class);
-
expect(allClusterAdministratorPrivilege1Resource.getId()).andReturn(1L).once();
-
- PrincipalEntity allClusterAdministratorPrivilege1Principal =
easyMockSupport.createMock(PrincipalEntity.class);
-
expect(allClusterAdministratorPrivilege1Principal.getId()).andReturn(1L).once();
-
- PermissionEntity allClusterAdministratorPrivilege1Permission =
easyMockSupport.createMock(PermissionEntity.class);
-
expect(allClusterAdministratorPrivilege1Permission.getId()).andReturn(1).once();
-
- PrivilegeEntity allClusterAdministratorPrivilege1 =
easyMockSupport.createMock(PrivilegeEntity.class);
-
expect(allClusterAdministratorPrivilege1.getId()).andReturn(1).atLeastOnce();
-
expect(allClusterAdministratorPrivilege1.getResource()).andReturn(allClusterAdministratorPrivilege1Resource).once();
-
expect(allClusterAdministratorPrivilege1.getPrincipal()).andReturn(allClusterAdministratorPrivilege1Principal).once();
-
expect(allClusterAdministratorPrivilege1.getPermission()).andReturn(allClusterAdministratorPrivilege1Permission).once();
-
allClusterAdministratorPrivilege1.setPrincipal(clusterAdministratorPrincipalEntity);
- expectLastCall().once();
-
- ResourceEntity allClusterAdministratorPrivilege2Resource =
easyMockSupport.createMock(ResourceEntity.class);
-
expect(allClusterAdministratorPrivilege2Resource.getId()).andReturn(2L).once();
-
- PrincipalEntity allClusterAdministratorPrivilege2Principal =
easyMockSupport.createMock(PrincipalEntity.class);
-
expect(allClusterAdministratorPrivilege2Principal.getId()).andReturn(2L).once();
-
- PermissionEntity allClusterAdministratorPrivilege2Permission =
easyMockSupport.createMock(PermissionEntity.class);
-
expect(allClusterAdministratorPrivilege2Permission.getId()).andReturn(2).once();
-
- PrivilegeEntity allClusterAdministratorPrivilege2 =
easyMockSupport.createMock(PrivilegeEntity.class);
-
expect(allClusterAdministratorPrivilege2.getId()).andReturn(2).atLeastOnce();
-
expect(allClusterAdministratorPrivilege2.getResource()).andReturn(allClusterAdministratorPrivilege2Resource).once();
-
expect(allClusterAdministratorPrivilege2.getPrincipal()).andReturn(allClusterAdministratorPrivilege2Principal).once();
-
expect(allClusterAdministratorPrivilege2.getPermission()).andReturn(allClusterAdministratorPrivilege2Permission).once();
-
allClusterAdministratorPrivilege2.setPrincipal(clusterAdministratorPrincipalEntity);
- expectLastCall().once();
-
- Set<PrivilegeEntity> allClusterAdministratorPrivileges = new HashSet<>();
- allClusterAdministratorPrivileges.add(allClusterAdministratorPrivilege1);
- allClusterAdministratorPrivileges.add(allClusterAdministratorPrivilege2);
-
- PrincipalEntity allClusterAdministratorPrincipalEntity =
easyMockSupport.createMock(PrincipalEntity.class);
- expect(allClusterAdministratorPrincipalEntity.getPrivileges())
- .andReturn(allClusterAdministratorPrivileges)
- .once();
-
- List<PrincipalEntity> allClusterAdministratorPrincipals = new
ArrayList<>();
-
allClusterAdministratorPrincipals.add(allClusterAdministratorPrincipalEntity);
-
- PrincipalDAO principalDAO = easyMockSupport.createMock(PrincipalDAO.class);
- expect(principalDAO.findByPrincipalType("ALL.CLUSTER.ADMINISTRATOR"))
- .andReturn(allClusterAdministratorPrincipals)
- .once();
- principalDAO.remove(allClusterAdministratorPrincipalEntity);
- expectLastCall().once();
-
-
- PrivilegeDAO privilegeDAO = easyMockSupport.createMock(PrivilegeDAO.class);
- expect(privilegeDAO.merge(allClusterAdministratorPrivilege1))
- .andReturn(allClusterAdministratorPrivilege1)
- .once();
- expect(privilegeDAO.merge(allClusterAdministratorPrivilege2))
- .andReturn(allClusterAdministratorPrivilege2)
- .once();
-
- Injector injector = easyMockSupport.createNiceMock(Injector.class);
-
expect(injector.getInstance(PrincipalTypeDAO.class)).andReturn(principalTypeDAO).atLeastOnce();
-
expect(injector.getInstance(PrincipalDAO.class)).andReturn(principalDAO).atLeastOnce();
-
expect(injector.getInstance(PermissionDAO.class)).andReturn(permissionDAO).atLeastOnce();
-
expect(injector.getInstance(PrivilegeDAO.class)).andReturn(privilegeDAO).atLeastOnce();
-
- easyMockSupport.replayAll();
- UpgradeCatalog242 upgradeCatalog = new UpgradeCatalog242(injector);
- injector.injectMembers(upgradeCatalog);
- upgradeCatalog.convertRolePrincipals();
- easyMockSupport.verifyAll();
- }
-
- @Test
- public void testCreateRoleAuthorizations() throws AmbariException,
SQLException {
-
- EasyMockSupport easyMockSupport = new EasyMockSupport();
-
- ResourceTypeEntity ambariResourceTypeEntity =
easyMockSupport.createMock(ResourceTypeEntity.class);
-
- ResourceTypeEntity clusterResourceTypeEntity =
easyMockSupport.createMock(ResourceTypeEntity.class);
-
- PermissionEntity clusterAdministratorPermissionEntity = new
PermissionEntity();
- clusterAdministratorPermissionEntity.setId(1);
- PermissionEntity ambariAdministratorPermissionEntity = new
PermissionEntity();
- ambariAdministratorPermissionEntity.setId(2);
-
- PermissionDAO permissionDAO =
easyMockSupport.createMock(PermissionDAO.class);
- expect(permissionDAO.findPermissionByNameAndType("AMBARI.ADMINISTRATOR",
ambariResourceTypeEntity))
- .andReturn(ambariAdministratorPermissionEntity)
- .times(2);
- expect(permissionDAO.findPermissionByNameAndType("CLUSTER.ADMINISTRATOR",
clusterResourceTypeEntity))
- .andReturn(clusterAdministratorPermissionEntity)
- .times(1);
- expect(permissionDAO.merge(ambariAdministratorPermissionEntity))
- .andReturn(ambariAdministratorPermissionEntity)
- .times(2);
- expect(permissionDAO.merge(clusterAdministratorPermissionEntity))
- .andReturn(clusterAdministratorPermissionEntity)
- .times(1);
-
- ResourceTypeDAO resourceTypeDAO =
easyMockSupport.createMock(ResourceTypeDAO.class);
-
expect(resourceTypeDAO.findByName("AMBARI")).andReturn(ambariResourceTypeEntity).times(2);
-
expect(resourceTypeDAO.findByName("CLUSTER")).andReturn(clusterResourceTypeEntity).times(1);
-
- RoleAuthorizationDAO roleAuthorizationDAO =
easyMockSupport.createMock(RoleAuthorizationDAO.class);
-
expect(roleAuthorizationDAO.findById("CLUSTER.RUN_CUSTOM_COMMAND")).andReturn(null).times(1);
-
expect(roleAuthorizationDAO.findById("AMBARI.RUN_CUSTOM_COMMAND")).andReturn(null).times(1);
-
- Capture<RoleAuthorizationEntity> captureClusterRunCustomCommandEntity =
newCapture();
- roleAuthorizationDAO.create(capture(captureClusterRunCustomCommandEntity));
- expectLastCall().times(1);
-
- Capture<RoleAuthorizationEntity> captureAmbariRunCustomCommandEntity =
newCapture();
- roleAuthorizationDAO.create(capture(captureAmbariRunCustomCommandEntity));
- expectLastCall().times(1);
-
- Injector injector = easyMockSupport.createNiceMock(Injector.class);
-
expect(injector.getInstance(RoleAuthorizationDAO.class)).andReturn(roleAuthorizationDAO).atLeastOnce();
-
expect(injector.getInstance(PermissionDAO.class)).andReturn(permissionDAO).atLeastOnce();
-
expect(injector.getInstance(ResourceTypeDAO.class)).andReturn(resourceTypeDAO).atLeastOnce();
-
- easyMockSupport.replayAll();
- new UpgradeCatalog242(injector).createRoleAuthorizations();
- easyMockSupport.verifyAll();
-
- RoleAuthorizationEntity ambariRunCustomCommandEntity =
captureAmbariRunCustomCommandEntity.getValue();
- RoleAuthorizationEntity clusterRunCustomCommandEntity =
captureClusterRunCustomCommandEntity.getValue();
-
- Assert.assertEquals("AMBARI.RUN_CUSTOM_COMMAND",
ambariRunCustomCommandEntity.getAuthorizationId());
- Assert.assertEquals("Perform custom administrative actions",
ambariRunCustomCommandEntity.getAuthorizationName());
-
- Assert.assertEquals("CLUSTER.RUN_CUSTOM_COMMAND",
clusterRunCustomCommandEntity.getAuthorizationId());
- Assert.assertEquals("Perform custom cluster-level actions",
clusterRunCustomCommandEntity.getAuthorizationName());
-
- Assert.assertEquals(2,
ambariAdministratorPermissionEntity.getAuthorizations().size());
-
Assert.assertTrue(ambariAdministratorPermissionEntity.getAuthorizations().contains(clusterRunCustomCommandEntity));
-
Assert.assertTrue(ambariAdministratorPermissionEntity.getAuthorizations().contains(ambariRunCustomCommandEntity));
-
- Assert.assertEquals(1,
clusterAdministratorPermissionEntity.getAuthorizations().size());
-
Assert.assertTrue(clusterAdministratorPermissionEntity.getAuthorizations().contains(clusterRunCustomCommandEntity));
- }
-}