|
@@ -38,15 +38,11 @@ import static org.junit.Assert.assertTrue;
|
|
|
import java.lang.reflect.Method;
|
|
|
import java.sql.Connection;
|
|
|
import java.sql.ResultSet;
|
|
|
-import java.sql.SQLException;
|
|
|
import java.sql.Statement;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Collection;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
-import org.apache.ambari.server.AmbariException;
|
|
|
import org.apache.ambari.server.actionmanager.ActionManager;
|
|
|
import org.apache.ambari.server.configuration.Configuration;
|
|
|
import org.apache.ambari.server.controller.AmbariManagementController;
|
|
@@ -54,12 +50,6 @@ import org.apache.ambari.server.controller.AmbariManagementControllerImpl;
|
|
|
import org.apache.ambari.server.controller.KerberosHelper;
|
|
|
import org.apache.ambari.server.controller.MaintenanceStateHelper;
|
|
|
import org.apache.ambari.server.orm.DBAccessor;
|
|
|
-import org.apache.ambari.server.orm.dao.PermissionDAO;
|
|
|
-import org.apache.ambari.server.orm.dao.ResourceTypeDAO;
|
|
|
-import org.apache.ambari.server.orm.dao.RoleAuthorizationDAO;
|
|
|
-import org.apache.ambari.server.orm.entities.PermissionEntity;
|
|
|
-import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
|
|
|
-import org.apache.ambari.server.orm.entities.RoleAuthorizationEntity;
|
|
|
import org.apache.ambari.server.state.Cluster;
|
|
|
import org.apache.ambari.server.state.Clusters;
|
|
|
import org.apache.ambari.server.state.Config;
|
|
@@ -220,13 +210,11 @@ public class UpgradeCatalog250Test {
|
|
|
@Test
|
|
|
public void testExecuteDMLUpdates() throws Exception {
|
|
|
Method updateAmsConfigs = UpgradeCatalog250.class.getDeclaredMethod("updateAMSConfigs");
|
|
|
- Method createRoleAuthorizations = UpgradeCatalog250.class.getDeclaredMethod("createRoleAuthorizations");
|
|
|
Method updateKafkaConfigs = UpgradeCatalog250.class.getDeclaredMethod("updateKafkaConfigs");
|
|
|
Method addNewConfigurationsFromXml = AbstractUpgradeCatalog.class.getDeclaredMethod("addNewConfigurationsFromXml");
|
|
|
|
|
|
UpgradeCatalog250 upgradeCatalog250 = createMockBuilder(UpgradeCatalog250.class)
|
|
|
.addMockedMethod(updateAmsConfigs)
|
|
|
- .addMockedMethod(createRoleAuthorizations)
|
|
|
.addMockedMethod(updateKafkaConfigs)
|
|
|
.addMockedMethod(addNewConfigurationsFromXml)
|
|
|
.createMock();
|
|
@@ -319,84 +307,6 @@ public class UpgradeCatalog250Test {
|
|
|
assertTrue(Maps.difference(newPropertiesAmsEnv, updatedProperties).areEqual());
|
|
|
}
|
|
|
|
|
|
- @Test
|
|
|
- public void testCreateRoleAuthorizations() throws AmbariException, SQLException {
|
|
|
-
|
|
|
- EasyMockSupport easyMockSupport = new EasyMockSupport();
|
|
|
-
|
|
|
- ResourceTypeEntity ambariResourceTypeEntity = easyMockSupport.createMock(ResourceTypeEntity.class);
|
|
|
-
|
|
|
- ResourceTypeEntity clusterResourceTypeEntity = easyMockSupport.createMock(ResourceTypeEntity.class);
|
|
|
-
|
|
|
- Collection<RoleAuthorizationEntity> ambariAdministratorAuthorizations = new ArrayList<RoleAuthorizationEntity>();
|
|
|
- Collection<RoleAuthorizationEntity> clusterAdministratorAuthorizations = new ArrayList<RoleAuthorizationEntity>();
|
|
|
-
|
|
|
- PermissionEntity clusterAdministratorPermissionEntity = easyMockSupport.createMock(PermissionEntity.class);
|
|
|
- expect(clusterAdministratorPermissionEntity.getAuthorizations())
|
|
|
- .andReturn(clusterAdministratorAuthorizations)
|
|
|
- .times(1);
|
|
|
-
|
|
|
- PermissionEntity ambariAdministratorPermissionEntity = easyMockSupport.createMock(PermissionEntity.class);
|
|
|
- expect(ambariAdministratorPermissionEntity.getAuthorizations())
|
|
|
- .andReturn(ambariAdministratorAuthorizations)
|
|
|
- .times(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 UpgradeCatalog250(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, ambariAdministratorAuthorizations.size());
|
|
|
- Assert.assertTrue(ambariAdministratorAuthorizations.contains(clusterRunCustomCommandEntity));
|
|
|
- Assert.assertTrue(ambariAdministratorAuthorizations.contains(ambariRunCustomCommandEntity));
|
|
|
-
|
|
|
- Assert.assertEquals(1, clusterAdministratorAuthorizations.size());
|
|
|
- Assert.assertTrue(clusterAdministratorAuthorizations.contains(clusterRunCustomCommandEntity));
|
|
|
- }
|
|
|
-
|
|
|
@Test
|
|
|
public void testKafkaUpdateConfigs() throws Exception {
|
|
|
|