ARTEMIS-3923 AddressControlImpl.getRoles doesn't return all the security role permissions.

* Adding the missing permissions to the array.

Signed-off-by: Emmanuel Hugonnet <ehugonne@redhat.com>
diff --git a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/AddressControlImpl.java b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/AddressControlImpl.java
index 2bf527d..5109bd2 100644
--- a/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/AddressControlImpl.java
+++ b/artemis-server/src/main/java/org/apache/activemq/artemis/core/management/impl/AddressControlImpl.java
@@ -211,7 +211,19 @@
 
          int i = 0;
          for (Role role : roles) {
-            objRoles[i++] = new Object[]{role.getName(), CheckType.SEND.hasRole(role), CheckType.CONSUME.hasRole(role), CheckType.CREATE_DURABLE_QUEUE.hasRole(role), CheckType.DELETE_DURABLE_QUEUE.hasRole(role), CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), CheckType.MANAGE.hasRole(role)};
+            objRoles[i++] = new Object[]{
+               role.getName(),
+               CheckType.SEND.hasRole(role),
+               CheckType.CONSUME.hasRole(role),
+               CheckType.CREATE_DURABLE_QUEUE.hasRole(role),
+               CheckType.DELETE_DURABLE_QUEUE.hasRole(role),
+               CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role),
+               CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role),
+               CheckType.MANAGE.hasRole(role),
+               CheckType.BROWSE.hasRole(role),
+               CheckType.CREATE_ADDRESS.hasRole(role),
+               CheckType.DELETE_ADDRESS.hasRole(role)
+            };
          }
          return objRoles;
       } finally {
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java
index 6e4e72b..2220611 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/AddressControlTest.java
@@ -240,13 +240,18 @@
       Assert.assertEquals(1, roles.length);
       Object[] r = (Object[]) roles[0];
       Assert.assertEquals(role.getName(), r[0]);
-      Assert.assertEquals(CheckType.SEND.hasRole(role), r[1]);
-      Assert.assertEquals(CheckType.CONSUME.hasRole(role), r[2]);
-      Assert.assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), r[3]);
-      Assert.assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), r[4]);
-      Assert.assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), r[5]);
-      Assert.assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), r[6]);
-      Assert.assertEquals(CheckType.MANAGE.hasRole(role), r[7]);
+      Assert.assertEquals(CheckType.SEND.hasRole(role), (boolean)r[1]);
+      Assert.assertEquals(CheckType.CONSUME.hasRole(role), (boolean)r[2]);
+      Assert.assertEquals(CheckType.CREATE_DURABLE_QUEUE.hasRole(role), (boolean)r[3]);
+      Assert.assertEquals(CheckType.DELETE_DURABLE_QUEUE.hasRole(role), (boolean)r[4]);
+      Assert.assertEquals(CheckType.CREATE_NON_DURABLE_QUEUE.hasRole(role), (boolean)r[5]);
+      Assert.assertEquals(CheckType.DELETE_NON_DURABLE_QUEUE.hasRole(role), (boolean)r[6]);
+      Assert.assertEquals(CheckType.MANAGE.hasRole(role), (boolean)r[7]);
+      Assert.assertEquals(CheckType.BROWSE.hasRole(role), (boolean)r[8]);
+      Assert.assertEquals(CheckType.CREATE_ADDRESS.hasRole(role), (boolean)r[9]);
+      Assert.assertEquals(CheckType.DELETE_ADDRESS.hasRole(role), (boolean)r[10]);
+
+      Assert.assertEquals(CheckType.values().length + 1, r.length);
 
       session.deleteQueue(queue);
    }