Repository: ambari Updated Branches: refs/heads/branch-2.4 0597d52bc -> f516c79e1
AMBARI-17004. Unit tests failing because of the order of hash sets/maps (Miklos Gergely via oleewere) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f516c79e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f516c79e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f516c79e Branch: refs/heads/branch-2.4 Commit: f516c79e1794001ec7fbfdab5ce1c30e894e4f5a Parents: 0597d52 Author: Miklos Gergely <[email protected]> Authored: Wed Jun 8 12:18:16 2016 +0200 Committer: oleewere <[email protected]> Committed: Wed Jun 8 12:37:58 2016 +0200 ---------------------------------------------------------------------- .../ChangeRepositoryVersionRequestAuditEvent.java | 5 +++-- .../request/ClusterPrivilegeChangeRequestAuditEvent.java | 4 +++- .../eventcreator/RepositoryVersionEventCreator.java | 10 ++++++---- .../eventcreator/RequestAuditEventCreatorHelper.java | 5 +++-- .../audit/request/creator/PrivilegeEventCreatorTest.java | 6 +++--- .../request/creator/ViewPrivilegeEventCreatorTest.java | 6 +++--- .../internal/ComponentResourceProviderTest.java | 9 ++++++--- .../security/ldap/AmbariLdapDataPopulatorTest.java | 11 ++++++----- 8 files changed, 33 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java index 74e7267..702cd6f 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ChangeRepositoryVersionRequestAuditEvent.java @@ -20,6 +20,7 @@ package org.apache.ambari.server.audit.event.request; import java.util.List; import java.util.Map; +import java.util.SortedMap; import javax.annotation.concurrent.Immutable; @@ -57,7 +58,7 @@ public class ChangeRepositoryVersionRequestAuditEvent extends RequestAuditEvent * Details of the repositories * os type -> list of repositories, where a repository is a key-value map of the properties (repo_id, repo_name, base_url) */ - private Map<String, List<Map<String, String>>> repos; + private SortedMap<String, List<Map<String, String>>> repos; public ChangeRepositoryVersionAuditEventBuilder() { super.withOperation("Repository version change"); @@ -125,7 +126,7 @@ public class ChangeRepositoryVersionRequestAuditEvent extends RequestAuditEvent return this; } - public ChangeRepositoryVersionAuditEventBuilder withRepos(Map<String, List<Map<String, String>>> repos) { + public ChangeRepositoryVersionAuditEventBuilder withRepos(SortedMap<String, List<Map<String, String>>> repos) { this.repos = repos; return this; } http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java index cc59038..b28bb2a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/event/request/ClusterPrivilegeChangeRequestAuditEvent.java @@ -23,6 +23,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import javax.annotation.concurrent.Immutable; @@ -67,7 +69,7 @@ public class ClusterPrivilegeChangeRequestAuditEvent extends RequestAuditEvent { protected void buildAuditMessage(StringBuilder builder) { super.buildAuditMessage(builder); - Set<String> roleSet = new HashSet<String>(); + SortedSet<String> roleSet = new TreeSet<String>(); roleSet.addAll(users.keySet()); roleSet.addAll(groups.keySet()); http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java index 2f09b74..bfe3226 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RepositoryVersionEventCreator.java @@ -23,6 +23,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; import org.apache.ambari.server.api.services.Request; import org.apache.ambari.server.api.services.Result; @@ -135,9 +137,9 @@ public class RepositoryVersionEventCreator implements RequestAuditEventCreator { * @param request * @return a map of repositories */ - private Map<String, List<Map<String, String>>> getRepos(Request request) { + private SortedMap<String, List<Map<String, String>>> getRepos(Request request) { - Map<String, List<Map<String, String>>> result = new HashMap<String, List<Map<String, String>>>(); + SortedMap<String, List<Map<String, String>>> result = new TreeMap<String, List<Map<String, String>>>(); Map<String, Object> first = Iterables.getFirst(request.getBody().getPropertySets(), null); @@ -153,8 +155,8 @@ public class RepositoryVersionEventCreator implements RequestAuditEventCreator { * @param set * @return */ - private Map<String, List<Map<String, String>>> createResultForOperationSystems(Set<Object> set) { - Map<String, List<Map<String, String>>> result = new HashMap<String, List<Map<String, String>>>(); + private SortedMap<String, List<Map<String, String>>> createResultForOperationSystems(Set<Object> set) { + SortedMap<String, List<Map<String, String>>> result = new TreeMap<String, List<Map<String, String>>>(); for (Object entry : set) { if (entry instanceof Map) { Map<String, Object> map = (Map<String, Object>) entry; http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java index f7a6e36..398b275 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/audit/request/eventcreator/RequestAuditEventCreatorHelper.java @@ -85,8 +85,9 @@ public class RequestAuditEventCreatorHelper { public static List<String> getPropertyList(Request request, String propertyName) { List<String> list = new LinkedList<String>(); for (Map<String, Object> propertyMap : request.getBody().getPropertySets()) { - String userName = String.valueOf(propertyMap.get(propertyName)); - list.add(userName); + if (propertyMap.containsKey(propertyName)) { + list.add(String.valueOf(propertyMap.get(propertyName))); + } } return list; } http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java index ff4abd6..5a805fc 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/PrivilegeEventCreatorTest.java @@ -97,11 +97,11 @@ public class PrivilegeEventCreatorTest extends AuditEventCreatorTestBase{ String actual = event.getAuditMessage(); String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(Role change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Roles(\n" + - "Permission2: \n" + - " Users: " + userName + "2\n" + "Permission1: \n" + " Users: " + userName + "\n" + - " Groups: testgroup)"; + " Groups: testgroup\n" + + "Permission2: \n" + + " Users: " + userName + "2)"; Assert.assertTrue("Class mismatch", event instanceof ClusterPrivilegeChangeRequestAuditEvent); Assert.assertEquals(expected, actual); http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java index ab2b068..4685b72 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/audit/request/creator/ViewPrivilegeEventCreatorTest.java @@ -75,11 +75,11 @@ public class ViewPrivilegeEventCreatorTest extends AuditEventCreatorTestBase{ String actual = event.getAuditMessage(); String expected = "User(" + userName + "), RemoteIp(1.2.3.4), Operation(View permission change), RequestType(PUT), url(http://example.com:8080/api/v1/test), ResultStatus(200 OK), Type(MyView), Version(MyView), Name(MyView), Permissions(\n" + - "Permission2: \n" + - " Users: testuser2\n" + "Permission1: \n" + " Users: testuser\n" + - " Groups: testgroup)"; + " Groups: testgroup\n" + + "Permission2: \n" + + " Users: testuser2)"; Assert.assertTrue("Class mismatch", event instanceof ViewPrivilegeChangeRequestAuditEvent); Assert.assertEquals(expected, actual); http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ComponentResourceProviderTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ComponentResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ComponentResourceProviderTest.java index d299fad..cbf3044 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ComponentResourceProviderTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/ComponentResourceProviderTest.java @@ -226,6 +226,9 @@ public class ComponentResourceProviderTest { expect(managementController.getAmbariMetaInfo()).andReturn(ambariMetaInfo); expect(clusters.getCluster("Cluster100")).andReturn(cluster).anyTimes(); expect(cluster.getDesiredStackVersion()).andReturn(stackId); + expect(serviceComponent1.getName()).andReturn("Component100"); + expect(serviceComponent2.getName()).andReturn("Component101"); + expect(serviceComponent3.getName()).andReturn("Component102"); expect(cluster.getServices()).andReturn(Collections.singletonMap("Service100", service)).anyTimes(); @@ -241,9 +244,9 @@ public class ComponentResourceProviderTest { new ServiceComponentResponse(100L, "Cluster100", "Service100", "Component102", null, "", 1, 1, 0, true /* recovery enabled */, "Component102 Client")); - expect(ambariMetaInfo.getComponent((String) anyObject(), - (String) anyObject(), (String) anyObject(), (String) anyObject())) - .andReturn(componentInfo1).times(2).andReturn(componentInfo2); + expect(ambariMetaInfo.getComponent(null, null, null, "Component100")).andReturn(componentInfo1); + expect(ambariMetaInfo.getComponent(null, null, null, "Component101")).andReturn(componentInfo2); + expect(ambariMetaInfo.getComponent(null, null, null, "Component102")).andReturn(componentInfo1); expect(componentInfo1.getCategory()).andReturn("MASTER").anyTimes(); expect(componentInfo2.getCategory()).andReturn("SLAVE").anyTimes(); http://git-wip-us.apache.org/repos/asf/ambari/blob/f516c79e/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java index fbe233d..2265eec 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/security/ldap/AmbariLdapDataPopulatorTest.java @@ -303,16 +303,17 @@ public class AmbariLdapDataPopulatorTest { expect(users.getAllUsers()).andReturn(Collections.EMPTY_LIST); expect(configuration.getLdapServerProperties()).andReturn(new LdapServerProperties()).anyTimes(); - Set<LdapGroupDto> groupDtos = Sets.newHashSet(); LdapGroupDto group1Dto = new LdapGroupDto(); group1Dto.setGroupName("group1"); group1Dto.setMemberAttributes(Sets.newHashSet("group2")); + Set<LdapGroupDto> groupDtos1 = Sets.newHashSet(); + groupDtos1.add(group1Dto); LdapGroupDto group2Dto = new LdapGroupDto(); group2Dto.setGroupName("group2"); group2Dto.setMemberAttributes(Collections.EMPTY_SET); - groupDtos.add(group1Dto); - groupDtos.add(group2Dto); + Set<LdapGroupDto> groupDtos2 = Sets.newHashSet(); + groupDtos2.add(group2Dto); LdapBatchDto batchInfo = new LdapBatchDto(); replay(configuration, users, group1, group2); @@ -325,8 +326,8 @@ public class AmbariLdapDataPopulatorTest { expect(dataPopulator.getLdapUserByMemberAttr(anyString())).andReturn(null).anyTimes(); expect(dataPopulator.getLdapGroupByMemberAttr("group2")).andReturn(group2Dto); - expect(dataPopulator.getLdapGroups("group1")).andReturn(groupDtos).anyTimes(); - expect(dataPopulator.getLdapGroups("group2")).andReturn(groupDtos).anyTimes(); + expect(dataPopulator.getLdapGroups("group1")).andReturn(groupDtos1).anyTimes(); + expect(dataPopulator.getLdapGroups("group2")).andReturn(groupDtos2).anyTimes(); replay(dataPopulator); // WHEN
