diff --git a/web/api/src/test/java/org/onosproject/rest/resources/GroupsResourceTest.java b/web/api/src/test/java/org/onosproject/rest/resources/GroupsResourceTest.java
index e13784d..3537c4d 100644
--- a/web/api/src/test/java/org/onosproject/rest/resources/GroupsResourceTest.java
+++ b/web/api/src/test/java/org/onosproject/rest/resources/GroupsResourceTest.java
@@ -276,9 +276,9 @@
         @Override
         public boolean matchesSafely(JsonObject jsonGroup) {
             // check id
-            final String jsonId = jsonGroup.get("id").asString();
+            final Long jsonId = jsonGroup.get("id").asLong();
             final String groupId = group.id().id().toString();
-            if (!jsonId.equals(groupId)) {
+            if (!jsonId.equals(Long.valueOf(groupId))) {
                 reason = "id " + group.id().id().toString();
                 return false;
             }
@@ -362,8 +362,8 @@
                 final JsonObject jsonGroup = json.get(jsonGroupIndex).asObject();
 
                 final String groupId = group.id().id().toString();
-                final String jsonGroupId = jsonGroup.get("id").asString();
-                if (jsonGroupId.equals(groupId)) {
+                final Long jsonGroupId = jsonGroup.get("id").asLong();
+                if (jsonGroupId.equals(Long.valueOf(groupId))) {
                     groupFound = true;
 
                     //  We found the correct group, check attribute values
