private void assertZabbixActiveChecksResponseWithEncoded(String body, String... itemNames) {
        Assertions.assertNotNull(body);
        JsonElement bodyRoot = new Gson().fromJson(body, JsonElement.class);
        JsonObject rootObject = bodyRoot.getAsJsonObject();
        // Basic response status
        Assertions.assertEquals("success", rootObject.get("response").getAsString());

        // Active Checks
        Assertions.assertNotNull(rootObject.get("data"));
        JsonArray activeChecks = rootObject.getAsJsonArray("data");
        Assertions.assertEquals(itemNames.length, activeChecks.size());
        for (String itemName : itemNames) {
            boolean found = false;

            for (JsonElement perCheck : activeChecks) {
                JsonObject curCheck = perCheck.getAsJsonObject();
                String itemKey = curCheck.get("key").getAsString();
                if (Objects.equals(itemKey, itemName)) {
                    Assertions.assertTrue(curCheck.get("delay").getAsInt() > 0);
                    Assertions.assertTrue(curCheck.get("lastlogsize").getAsInt() >= 0);
                    Assertions.assertTrue(curCheck.get("mtime").getAsInt() >= 0);
                    found = true;
                }
            }

            if (!found) {
                throw new AssertionError("Could not found " + itemName + " in Active Checks response");
            }
        }
    }
Verify Active checks item names with encoded
oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/test/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixBaseTest.java