diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/AndroidDeviceManagementAPIJmeterTestCase.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/AndroidDeviceManagementAPIJmeterTestCase.java
index b8419a1e..205b5382 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/AndroidDeviceManagementAPIJmeterTestCase.java
+++ b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/AndroidDeviceManagementAPIJmeterTestCase.java
@@ -36,9 +36,8 @@ public class AndroidDeviceManagementAPIJmeterTestCase {
@Test()
public void permutationTest() throws AutomationFrameworkException {
URL url = Thread.currentThread().getContextClassLoader().getResource(
- "jmeter-scripts/AndroidDeviceManagementAPIAdditionalPermutations.jmx");
- JMeterTest script = new JMeterTest(
- new File(url.getPath()));
+ "jmeter-scripts" + File.separator + "AndroidDeviceManagementAPIAdditionalPermutations.jmx");
+ JMeterTest script = new JMeterTest(new File(url.getPath()));
JMeterTestManager manager = new JMeterTestManager();
log.info("Running permutation test using jmeter scripts");
manager.runTest(script);
@@ -46,13 +45,11 @@ public class AndroidDeviceManagementAPIJmeterTestCase {
@Test(dependsOnMethods = {"permutationTest"})
public void listServices() throws AutomationFrameworkException {
- URL url = Thread.currentThread().getContextClassLoader().getResource(
- "jmeter-scripts/NewAndroidDeviceManagementAPI.jmx");
- JMeterTest script = new JMeterTest(
- new File(url.getPath()));
+ URL url = Thread.currentThread().getContextClassLoader()
+ .getResource("jmeter-scripts" + File.separator + "NewAndroidDeviceManagementAPI.jmx");
+ JMeterTest script = new JMeterTest(new File(url.getPath()));
JMeterTestManager manager = new JMeterTestManager();
log.info("Running API service test using jmeter scripts");
manager.runTest(script);
}
-
}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/DeviceManagementAPINegativeTestCase.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/DeviceManagementAPINegativeTestCase.java
new file mode 100644
index 00000000..7d973685
--- /dev/null
+++ b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/DeviceManagementAPINegativeTestCase.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.wso2.iot.integration.jmeter;
+
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
+import org.wso2.carbon.automation.extensions.jmeter.JMeterTest;
+import org.wso2.carbon.automation.extensions.jmeter.JMeterTestManager;
+
+import java.io.File;
+import java.net.URL;
+
+/**
+ * This is to test the Device Management API scenarios, which gives a bad response.
+ */
+public class DeviceManagementAPINegativeTestCase {
+
+ @Test(description = "This test case tests the response when the APIs are called with invalid payloads and without"
+ + " required parameters")
+ public void negativeTests() throws AutomationFrameworkException {
+ URL url = Thread.currentThread().getContextClassLoader()
+ .getResource("jmeter-scripts" + File.separator + "AndroidDeviceManagementAPI_Negative_Tests.jmx");
+ JMeterTest script = new JMeterTest(new File(url.getPath()));
+ JMeterTestManager manager = new JMeterTestManager();
+ manager.runTest(script);
+ }
+}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/GroupManagementJMeterTestCase.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/GroupManagementJMeterTestCase.java
new file mode 100644
index 00000000..0d4bb257
--- /dev/null
+++ b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/jmeter/GroupManagementJMeterTestCase.java
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+*
+* WSO2 Inc. licenses this file to you under the Apache License,
+* Version 2.0 (the "License"); you may not use this file except
+* in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied. See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+package org.wso2.iot.integration.jmeter;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
+import org.wso2.carbon.automation.extensions.jmeter.JMeterTest;
+import org.wso2.carbon.automation.extensions.jmeter.JMeterTestManager;
+
+import java.io.File;
+import java.net.URL;
+
+/**
+ * This test case is used to run the jmeter test cases related with Group Management APIs.
+ */
+public class GroupManagementJMeterTestCase {
+ private static Log log = LogFactory.getLog(GroupManagementJMeterTestCase.class);
+
+ @Test(description = "This test case tests the Group Management APIs")
+ public void GroupManagementTest() throws AutomationFrameworkException {
+ URL url = Thread.currentThread().getContextClassLoader()
+ .getResource("jmeter-scripts" + File.separator + "GroupManagementAPI.jmx");
+ JMeterTest script = new JMeterTest(new File(url.getPath()));
+ JMeterTestManager manager = new JMeterTestManager();
+ log.info("Running group management api test cases using jmeter scripts");
+ manager.runTest(script);
+ }
+}
diff --git a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPIAdditionalPermutations.jmx b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPIAdditionalPermutations.jmx
index c99af367..9415a4fa 100644
--- a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPIAdditionalPermutations.jmx
+++ b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPIAdditionalPermutations.jmx
@@ -312,12 +312,10 @@
false
{
- "callbackUrl":"www.google.lk",
- "clientName":"app_${randAppNum}",
- "tokenScope":"Production",
- "owner":"user111",
- "grantType":"password refresh_token",
- "saasApp":true
+ "applicationName":"app_${randAppNum}",
+ "isAllowedToAllDomains":false,
+ "tags":["android", "device_management"],
+ "isMappingAnExistingOAuthApp":false
}
=
@@ -329,7 +327,7 @@
https
- /api/appm/oauth/v1.0/register
+ /api-application-registration/register
POST
true
false
@@ -348,7 +346,7 @@
Host
- 10.100.1.90:9763
+ localhost:9763
Content-Type
@@ -360,7 +358,7 @@
false
clientId
- "clientId":"(.+?)"
+ "client_id":"(.+?)"
$1$
0
1
@@ -369,7 +367,7 @@
false
clientSecret
- "clientSecret":"(.+?)"
+ "client_secret":"(.+?)"
$1$
0
1
@@ -416,7 +414,7 @@ vars.put("base64encodedId",new String(encryptedId));
true
- appm:subscribe device:view activity:view device:android:operation:change-lock device:admin:view configuration:view device:android:enroll user:view
+ perm:android:enroll perm:android:wipe perm:android:ring perm:android:lock-devices perm:android:configure-vpn perm:android:configure-wifi perm:android:enroll perm:android:uninstall-application perm:android:manage-configuration perm:android:location perm:android:install-application perm:android:mute perm:android:change-lock-code perm:android:blacklist-applications perm:android:set-password-policy perm:android:encrypt-storage perm:android:clear-password perm:android:enterprise-wipe perm:android:info perm:android:view-configuration perm:android:upgrade-firmware perm:android:set-webclip perm:android:send-notification perm:android:disenroll perm:android:update-application perm:android:unlock-devices perm:android:control-camera perm:android:reboot perm:android:logcat appm:subscribe perm:sign-csr perm:admin:devices:view perm:roles:add perm:roles:add-users perm:roles:update perm:roles:permissions perm:roles:details perm:roles:view perm:roles:create-combined-role perm:roles:delete perm:dashboard:vulnerabilities perm:dashboard:non-compliant-count perm:dashboard:non-compliant perm:dashboard:by-groups perm:dashboard:device-counts perm:dashboard:feature-non-compliant perm:dashboard:count-overview perm:dashboard:filtered-count perm:dashboard:details perm:get-activity perm:devices:delete perm:devices:applications perm:devices:effective-policy perm:devices:compliance-data perm:devices:features perm:devices:operations perm:devices:search perm:devices:details perm:devices:update perm:devices:view perm:view-configuration perm:manage-configuration perm:policies:remove perm:policies:priorities perm:policies:deactivate perm:policies:get-policy-details perm:policies:manage perm:policies:activate perm:policies:update perm:policies:changes perm:policies:get-details perm:users:add perm:users:details perm:users:count perm:users:delete perm:users:roles perm:users:user-details perm:users:credentials perm:users:search perm:users:is-exist perm:users:update perm:users:send-invitation perm:admin-users:view perm:groups:devices perm:groups:update perm:groups:add perm:groups:device perm:groups:devices-count perm:groups:remove perm:groups:groups perm:groups:groups-view perm:groups:share perm:groups:count perm:groups:roles perm:groups:devices-remove perm:groups:devices-add perm:groups:assign perm:device-types:features perm:device-types:types perm:applications:install perm:applications:uninstall perm:admin-groups:count perm:admin-groups:view perm:notifications:mark-checked perm:notifications:view perm:admin:certificates:delete perm:admin:certificates:details perm:admin:certificates:view perm:admin:certificates:add perm:admin:certificates:verify perm:ios:enroll perm:ios:view-device perm:ios:apn perm:ios:ldap perm:ios:enterprise-app perm:ios:store-application perm:ios:remove-application perm:ios:app-list perm:ios:profile-list perm:ios:lock perm:ios:enterprise-wipe perm:ios:device-info perm:ios:restriction perm:ios:email perm:ios:cellular perm:ios:applications perm:ios:wifi perm:ios:ring perm:ios:location perm:ios:notification perm:ios:airplay perm:ios:caldav perm:ios:cal-subscription perm:ios:passcode-policy perm:ios:webclip perm:ios:vpn perm:ios:per-app-vpn perm:ios:app-to-per-app-vpn perm:ios:app-lock perm:ios:clear-passcode perm:ios:remove-profile perm:ios:get-restrictions perm:ios:wipe-data perm:admin perm:android:applications
=
true
scope
@@ -429,7 +427,7 @@ vars.put("base64encodedId",new String(encryptedId));
https
- /oauth2/token
+ /token
POST
true
false
@@ -626,12 +624,10 @@ vars.put("base64encodedId",new String(encryptedId));
false
{
- "callbackUrl":"www.google.lk",
- "clientName":"appp_${randAppNum}",
- "tokenScope":"Production",
- "owner":"admin",
- "grantType":"password refresh_token",
- "saasApp":true
+ "applicationName":"app_${randAppNum}",
+ "isAllowedToAllDomains":false,
+ "tags":["android", "device_management"],
+ "isMappingAnExistingOAuthApp":false
}
=
@@ -643,7 +639,7 @@ vars.put("base64encodedId",new String(encryptedId));
https
- /api/appm/oauth/v1.0/register
+ /api-application-registration/register
POST
true
false
@@ -662,7 +658,7 @@ vars.put("base64encodedId",new String(encryptedId));
Host
- 10.100.1.90:9763
+ localhost:9763
Content-Type
@@ -674,7 +670,7 @@ vars.put("base64encodedId",new String(encryptedId));
false
clientId
- "clientId":"(.+?)"
+ "client_id":"(.+?)"
$1$
0
1
@@ -683,7 +679,7 @@ vars.put("base64encodedId",new String(encryptedId));
false
clientSecret
- "clientSecret":"(.+?)"
+ "client_secret":"(.+?)"
$1$
0
1
@@ -730,7 +726,7 @@ vars.put("base64encodedId",new String(encryptedId));
true
- appm:subscribe device:view activity:view device:android:operation:change-lock device:admin:view configuration:view device:android:enroll user:view
+ perm:android:enroll perm:android:wipe perm:android:ring perm:android:lock-devices perm:android:configure-vpn perm:android:configure-wifi perm:android:enroll perm:android:uninstall-application perm:android:manage-configuration perm:android:location perm:android:install-application perm:android:mute perm:android:change-lock-code perm:android:blacklist-applications perm:android:set-password-policy perm:android:encrypt-storage perm:android:clear-password perm:android:enterprise-wipe perm:android:info perm:android:view-configuration perm:android:upgrade-firmware perm:android:set-webclip perm:android:send-notification perm:android:disenroll perm:android:update-application perm:android:unlock-devices perm:android:control-camera perm:android:reboot perm:android:logcat appm:subscribe perm:sign-csr perm:admin:devices:view perm:roles:add perm:roles:add-users perm:roles:update perm:roles:permissions perm:roles:details perm:roles:view perm:roles:create-combined-role perm:roles:delete perm:dashboard:vulnerabilities perm:dashboard:non-compliant-count perm:dashboard:non-compliant perm:dashboard:by-groups perm:dashboard:device-counts perm:dashboard:feature-non-compliant perm:dashboard:count-overview perm:dashboard:filtered-count perm:dashboard:details perm:get-activity perm:devices:delete perm:devices:applications perm:devices:effective-policy perm:devices:compliance-data perm:devices:features perm:devices:operations perm:devices:search perm:devices:details perm:devices:update perm:devices:view perm:view-configuration perm:manage-configuration perm:policies:remove perm:policies:priorities perm:policies:deactivate perm:policies:get-policy-details perm:policies:manage perm:policies:activate perm:policies:update perm:policies:changes perm:policies:get-details perm:users:add perm:users:details perm:users:count perm:users:delete perm:users:roles perm:users:user-details perm:users:credentials perm:users:search perm:users:is-exist perm:users:update perm:users:send-invitation perm:admin-users:view perm:groups:devices perm:groups:update perm:groups:add perm:groups:device perm:groups:devices-count perm:groups:remove perm:groups:groups perm:groups:groups-view perm:groups:share perm:groups:count perm:groups:roles perm:groups:devices-remove perm:groups:devices-add perm:groups:assign perm:device-types:features perm:device-types:types perm:applications:install perm:applications:uninstall perm:admin-groups:count perm:admin-groups:view perm:notifications:mark-checked perm:notifications:view perm:admin:certificates:delete perm:admin:certificates:details perm:admin:certificates:view perm:admin:certificates:add perm:admin:certificates:verify perm:ios:enroll perm:ios:view-device perm:ios:apn perm:ios:ldap perm:ios:enterprise-app perm:ios:store-application perm:ios:remove-application perm:ios:app-list perm:ios:profile-list perm:ios:lock perm:ios:enterprise-wipe perm:ios:device-info perm:ios:restriction perm:ios:email perm:ios:cellular perm:ios:applications perm:ios:wifi perm:ios:ring perm:ios:location perm:ios:notification perm:ios:airplay perm:ios:caldav perm:ios:cal-subscription perm:ios:passcode-policy perm:ios:webclip perm:ios:vpn perm:ios:per-app-vpn perm:ios:app-to-per-app-vpn perm:ios:app-lock perm:ios:clear-passcode perm:ios:remove-profile perm:ios:get-restrictions perm:ios:wipe-data perm:admin perm:android:applications
=
true
scope
@@ -743,7 +739,7 @@ vars.put("base64encodedId",new String(encryptedId));
https
- /oauth2/token
+ /token
POST
true
false
diff --git a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPI_Negative_Tests.jmx b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPI_Negative_Tests.jmx
new file mode 100644
index 00000000..1e5b70dd
--- /dev/null
+++ b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/AndroidDeviceManagementAPI_Negative_Tests.jmx
@@ -0,0 +1,4202 @@
+
+
+
+
+ The script should be run against a fresh pack.
+ false
+ false
+
+
+
+
+
+
+
+ 9999
+ 100
+
+ false
+
+ randAppNum
+
+
+
+
+
+ host
+ localhost
+ =
+
+
+ https_port
+ 8243
+ =
+
+
+ http_port
+ 8280
+ =
+
+
+ token_ep_host
+ localhost
+ =
+
+
+ token_ep_port
+ 8280
+ =
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1465464058000
+ 1465464058000
+ false
+
+
+
+
+
+ 1
+
+ 1
+ DeviceID
+ #
+ false
+
+
+
+ true
+
+
+
+ false
+ {
+ "applicationName":"app_${randAppNum}",
+ "isAllowedToAllDomains":false,
+ "tags":["android", "device_management"],
+ "isMappingAnExistingOAuthApp":false
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api-application-registration/register
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Basic YWRtaW46YWRtaW4=
+
+
+ Host
+ localhost:9763
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+ false
+ clientId
+ "client_id":"(.+?)"
+ $1$
+ 0
+ 1
+
+
+
+ false
+ clientSecret
+ "client_secret":"(.+?)"
+ $1$
+ 0
+ 1
+
+
+
+
+
+ clientId,clientSecret
+ false
+ import org.apache.commons.codec.binary.Base64;
+
+String clientId= vars.get("clientId");
+String clientSecret = vars.get("clientSecret");
+String toEncode = clientId + ":" + clientSecret;
+
+byte[] encryptedId = Base64.encodeBase64(toEncode.getBytes());
+vars.put("base64encodedId",new String(encryptedId));
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ username
+
+
+ false
+ admin
+ =
+ true
+ password
+
+
+ false
+ password
+ =
+ true
+ grant_type
+
+
+ false
+ perm:android:enroll perm:android:wipe perm:android:ring perm:android:lock-devices perm:android:configure-vpn perm:android:configure-wifi perm:android:enroll perm:android:uninstall-application perm:android:manage-configuration perm:android:location perm:android:install-application perm:android:mute perm:android:change-lock-code perm:android:blacklist-applications perm:android:set-password-policy perm:android:encrypt-storage perm:android:clear-password perm:android:enterprise-wipe perm:android:info perm:android:view-configuration perm:android:upgrade-firmware perm:android:set-webclip perm:android:send-notification perm:android:disenroll perm:android:update-application perm:android:unlock-devices perm:android:control-camera perm:android:reboot perm:android:logcat appm:subscribe perm:sign-csr perm:admin:devices:view perm:roles:add perm:roles:add-users perm:roles:update perm:roles:permissions perm:roles:details perm:roles:view perm:roles:create-combined-role perm:roles:delete perm:dashboard:vulnerabilities perm:dashboard:non-compliant-count perm:dashboard:non-compliant perm:dashboard:by-groups perm:dashboard:device-counts perm:dashboard:feature-non-compliant perm:dashboard:count-overview perm:dashboard:filtered-count perm:dashboard:details perm:get-activity perm:devices:delete perm:devices:applications perm:devices:effective-policy perm:devices:compliance-data perm:devices:features perm:devices:operations perm:devices:search perm:devices:details perm:devices:update perm:devices:view perm:view-configuration perm:manage-configuration perm:policies:remove perm:policies:priorities perm:policies:deactivate perm:policies:get-policy-details perm:policies:manage perm:policies:activate perm:policies:update perm:policies:changes perm:policies:get-details perm:users:add perm:users:details perm:users:count perm:users:delete perm:users:roles perm:users:user-details perm:users:credentials perm:users:search perm:users:is-exist perm:users:update perm:users:send-invitation perm:admin-users:view perm:groups:devices perm:groups:update perm:groups:add perm:groups:device perm:groups:devices-count perm:groups:remove perm:groups:groups perm:groups:groups-view perm:groups:share perm:groups:count perm:groups:roles perm:groups:devices-remove perm:groups:devices-add perm:groups:assign perm:device-types:features perm:device-types:types perm:applications:install perm:applications:uninstall perm:admin-groups:count perm:admin-groups:view perm:notifications:mark-checked perm:notifications:view perm:admin:certificates:delete perm:admin:certificates:details perm:admin:certificates:view perm:admin:certificates:add perm:admin:certificates:verify perm:ios:enroll perm:ios:view-device perm:ios:apn perm:ios:ldap perm:ios:enterprise-app perm:ios:store-application perm:ios:remove-application perm:ios:app-list perm:ios:profile-list perm:ios:lock perm:ios:enterprise-wipe perm:ios:device-info perm:ios:restriction perm:ios:email perm:ios:cellular perm:ios:applications perm:ios:wifi perm:ios:ring perm:ios:location perm:ios:notification perm:ios:airplay perm:ios:caldav perm:ios:cal-subscription perm:ios:passcode-policy perm:ios:webclip perm:ios:vpn perm:ios:per-app-vpn perm:ios:app-to-per-app-vpn perm:ios:app-lock perm:ios:clear-passcode perm:ios:remove-profile perm:ios:get-restrictions perm:ios:wipe-data perm:admin perm:android:applications
+ =
+ true
+ scope
+
+
+ false
+
+ =
+ true
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /token
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Basic ${base64encodedId}
+
+
+ Content-Type
+ application/x-www-form-urlencoded
+
+
+
+
+
+ false
+ access_token
+ "access_token":"(.+?)"
+ $1$
+ no_token
+ 1
+
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ username
+
+
+ false
+ admin
+ =
+ true
+ password
+
+
+ false
+ password
+ =
+ true
+ grant_type
+
+
+ true
+ perm:android:enroll perm:android:wipe perm:android:ring perm:android:lock-devices perm:android:configure-vpn perm:android:configure-wifi perm:android:enroll perm:android:uninstall-application perm:android:manage-configuration perm:android:location perm:android:install-application perm:android:mute perm:android:change-lock-code perm:android:blacklist-applications perm:android:set-password-policy perm:android:encrypt-storage perm:android:clear-password perm:android:enterprise-wipe perm:android:info perm:android:view-configuration perm:android:upgrade-firmware perm:android:set-webclip perm:android:send-notification perm:android:disenroll perm:android:update-application perm:android:unlock-devices perm:android:control-camera perm:android:reboot perm:android:logcat appm:subscribe perm:sign-csr perm:admin:devices:view perm:roles:add perm:roles:add-users perm:roles:update perm:roles:permissions perm:roles:details perm:roles:view perm:roles:create-combined-role perm:roles:delete perm:dashboard:vulnerabilities perm:dashboard:non-compliant-count perm:dashboard:non-compliant perm:dashboard:by-groups perm:dashboard:device-counts perm:dashboard:feature-non-compliant perm:dashboard:count-overview perm:dashboard:filtered-count perm:dashboard:details perm:get-activity perm:devices:delete perm:devices:applications perm:devices:effective-policy perm:devices:compliance-data perm:devices:features perm:devices:operations perm:devices:search perm:devices:details perm:devices:update perm:devices:view perm:view-configuration perm:manage-configuration perm:policies:remove perm:policies:priorities perm:policies:deactivate perm:policies:get-policy-details perm:policies:manage perm:policies:activate perm:policies:update perm:policies:changes perm:policies:get-details perm:users:add perm:users:details perm:users:count perm:users:delete perm:users:roles perm:users:user-details perm:users:credentials perm:users:search perm:users:is-exist perm:users:update perm:users:send-invitation perm:admin-users:view perm:groups:devices perm:groups:update perm:groups:add perm:groups:device perm:groups:devices-count perm:groups:remove perm:groups:groups perm:groups:groups-view perm:groups:share perm:groups:count perm:groups:roles perm:groups:devices-remove perm:groups:devices-add perm:groups:assign perm:device-types:features perm:device-types:types perm:applications:install perm:applications:uninstall perm:admin-groups:count perm:admin-groups:view perm:notifications:mark-checked perm:notifications:view perm:admin:certificates:delete perm:admin:certificates:details perm:admin:certificates:view perm:admin:certificates:add perm:admin:certificates:verify perm:ios:enroll perm:ios:view-device perm:ios:apn perm:ios:ldap perm:ios:enterprise-app perm:ios:store-application perm:ios:remove-application perm:ios:app-list perm:ios:profile-list perm:ios:lock perm:ios:enterprise-wipe perm:ios:device-info perm:ios:restriction perm:ios:email perm:ios:cellular perm:ios:applications perm:ios:wifi perm:ios:ring perm:ios:location perm:ios:notification perm:ios:airplay perm:ios:caldav perm:ios:cal-subscription perm:ios:passcode-policy perm:ios:webclip perm:ios:vpn perm:ios:per-app-vpn perm:ios:app-to-per-app-vpn perm:ios:app-lock perm:ios:clear-passcode perm:ios:remove-profile perm:ios:get-restrictions perm:ios:wipe-data perm:admin perm:android:applications
+ =
+ true
+ scope
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /token
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Basic ${base64encodedId}
+
+
+ Content-Type
+ application/x-www-form-urlencoded
+
+
+
+
+
+ false
+ access_token
+ "access_token":"(.+?)"
+ $1$
+ no_token
+ 1
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id":10${DeviceID},
+ "name":"androiddevice${DeviceID}",
+ "type":"android",
+ "description":"this is an android device",
+ "deviceIdentifier":"d24f870f390352a3${DeviceID}",
+ "enrolmentInfo":{
+ "id":10${DeviceID},
+ "device":{
+
+ },
+ "dateOfEnrolment":0,
+ "dateOfLastUpdate":0,
+ "ownership":"BYOD",
+ "status":"CREATED",
+ "owner":"admin"
+ },
+ "features":[
+ {
+ "id":10,
+ "code":"aaaa1111",
+ "name":"newfeature1",
+ "description":"this is the new feature 1",
+ "deviceType":"android",
+ "metadataEntries":[
+ {
+ "id":10,
+ "value":{
+
+ }
+ }
+ ]
+ }
+ ],
+ "properties":[
+ {
+ "name":"property1",
+ "value":"value1"
+ }
+ ],
+ "deviceInfo":{
+ "deviceModel":"S8",
+ "vendor":"SAMSUNG",
+ "osVersion":"5.1",
+ "batteryLevel":1,
+ "internalTotalMemory":32,
+ "internalAvailableMemory":24,
+ "externalTotalMemory":64,
+ "externalAvailableMemory":60,
+ "operator":"dialog",
+ "connectionType":"GSM",
+ "mobileSignalStrength":1,
+ "ssid":"picassowifi",
+ "cpuUsage":0,
+ "totalRAMMemory":2,
+ "availableRAMMemory":1,
+ "pluggedIn":false,
+ "location":{
+ "deviceId":0,
+ "deviceIdentifier":{
+ "id":"string",
+ "type":"string"
+ },
+ "latitude":0,
+ "longitude":0,
+ "street1":"string",
+ "street2":"string",
+ "city":"string",
+ "state":"string",
+ "zip":"string",
+ "country":"string"
+ },
+ "deviceDetailsMap":{
+
+ },
+ "imei":"string",
+ "imsi":"string"
+ },
+ "applications":[
+ {
+ "id":0,
+ "platform":"string",
+ "category":"string",
+ "name":"string",
+ "locationUrl":"string",
+ "imageUrl":"string",
+ "version":"string",
+ "type":"string",
+ "appProperties":{
+
+ },
+ "applicationIdentifier":"string",
+ "memoryUsage":0
+ }
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ true
+ 25
+
+
+
+ 1
+
+ 1
+ DeviceIDL
+ #
+ false
+
+
+
+ true
+
+
+
+ false
+ {
+ "id":10${DeviceIDL},
+ "name":"androiddevicep${DeviceIDL}",
+ "type":"android",
+ "description":"this is an android device",
+ "deviceIdentifier":"d24f860f390352a3${DeviceIDL}",
+ "enrolmentInfo":{
+ "id":10${DeviceIDL},
+ "device":{
+
+ },
+ "dateOfEnrolment":0,
+ "dateOfLastUpdate":0,
+ "ownership":"BYOD",
+ "status":"CREATED",
+ "owner":"admin"
+ },
+ "features":[
+ {
+ "id":10,
+ "code":"aaaa1111",
+ "name":"newfeature1",
+ "description":"this is the new feature 1",
+ "deviceType":"android",
+ "metadataEntries":[
+ {
+ "id":10,
+ "value":{
+
+ }
+ }
+ ]
+ }
+ ],
+ "properties":[
+ {
+ "name":"property1",
+ "value":"value1"
+ }
+ ],
+ "deviceInfo":{
+ "deviceModel":"S8",
+ "vendor":"SAMSUNG",
+ "osVersion":"5.1",
+ "batteryLevel":1,
+ "internalTotalMemory":32,
+ "internalAvailableMemory":24,
+ "externalTotalMemory":64,
+ "externalAvailableMemory":60,
+ "operator":"dialog",
+ "connectionType":"GSM",
+ "mobileSignalStrength":1,
+ "ssid":"picassowifi",
+ "cpuUsage":0,
+ "totalRAMMemory":2,
+ "availableRAMMemory":1,
+ "pluggedIn":false,
+ "location":{
+ "deviceId":0,
+ "deviceIdentifier":{
+ "id":"string",
+ "type":"string"
+ },
+ "latitude":0,
+ "longitude":0,
+ "street1":"string",
+ "street2":"string",
+ "city":"string",
+ "state":"string",
+ "zip":"string",
+ "country":"string"
+ },
+ "deviceDetailsMap":{
+
+ },
+ "imei":"string",
+ "imsi":"string"
+ },
+ "applications":[
+ {
+ "id":0,
+ "platform":"string",
+ "category":"string",
+ "name":"string",
+ "locationUrl":"string",
+ "imageUrl":"string",
+ "version":"string",
+ "type":"string",
+ "appProperties":{
+
+ },
+ "applicationIdentifier":"string",
+ "memoryUsage":0
+ }
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 1000
+
+
+
+
+
+
+
+ false
+ 0
+ =
+ true
+ offset
+
+
+ false
+ 1
+ =
+ true
+ limit
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ [
+ {
+ "serial": "qwe12-23fdf-2s332-53fv3-sfs33",
+ "pem": "
+MIIEXjCCA0agAwIBAgIJAPocSteC87XUMA0GCSqGSIb3DQEBBQUAMHwxCzAJBgNV
+BAYTAlNMMRAwDgYDVQQIEwdDb2xvbWJvMRAwDgYDVQQHEwdDb2xvbWJvMRIwEAYD
+VQQKEwlXU08yIEluYy4xHzAdBgkqhkiG9w0BCQEWEHRlY2hvcHNAd3NvMi5jb20x
+FDASBgNVBAMTC1dTTzIgUmFkaXVzMB4XDTEzMDYyNzAzMzA0NFoXDTIzMDYyNTAz
+MzA0NFowfDELMAkGA1UEBhMCU0wxEDAOBgNVBAgTB0NvbG9tYm8xEDAOBgNVBAcT
+B0NvbG9tYm8xEjAQBgNVBAoTCVdTTzIgSW5jLjEfMB0GCSqGSIb3DQEJARYQdGVj
+aG9wc0B3c28yLmNvbTEUMBIGA1UEAxMLV1NPMiBSYWRpdXMwggEiMA0GCSqGSIb3
+DQEBAQUAA4IBDwAwggEKAoIBAQDNmhw12cF0H2UGE/XtWVt238oGxn19+n/HkM2B
+cDNQgnStqI+g/K2HBtjmvVPBh17Mt+dU2BIathn06amza+LI+hHgeLUSv30jutv4
+L5zD2laAU9A/I0Wtrxu5FlsevRPSiY7buLjTbjP7IMn9vdwb+9nBQCGxVpO6AK2A
+gsFJ5udnp7L+jNsHmHFt36AYZouihgD+/RGVLBAhtPoU6XFB1JoGFM+4qxklJLPh
+k86WollG4cFvHXSbO1P95n6Jb/V3hfM0PvwFZswRPVnW8ngqm889C/JEk5rK4FHy
+xk9MgeFRW6zA+3rVnyPdhy6/q4EerBLMfBEWpzFHyHDKMGanAgMBAAGjgeIwgd8w
+HQYDVR0OBBYEFKRxtF0CWPwL7jRvA4NSIzploUgrMIGvBgNVHSMEgacwgaSAFKRx
+tF0CWPwL7jRvA4NSIzploUgroYGApH4wfDELMAkGA1UEBhMCU0wxEDAOBgNVBAgT
+B0NvbG9tYm8xEDAOBgNVBAcTB0NvbG9tYm8xEjAQBgNVBAoTCVdTTzIgSW5jLjEf
+MB0GCSqGSIb3DQEJARYQdGVjaG9wc0B3c28yLmNvbTEUMBIGA1UEAxMLV1NPMiBS
+YWRpdXOCCQD6HErXgvO11DAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IB
+AQCDQV9wy8rfuFp4uByqYhnrQjzBN75VbNcgpdYocOxQPLnjWRM5qdJHELrt4FEl
+rDMGd1BpP7QMAEYJUIcpDHPbs9HVCeEV6hdOrLgGxNDB0YVa2Fr5k2U8gsNIgKZo
+fKxscx0w5OM71IQbuppAgIHK29DBVBVppO+zduIbVtSoBo/gcVIqVGXQXf8TFtoV
+xyfGUTYdBDP4fT4p8uLASXmdaFyegQOhkjSuchVPGSJOZD6TvOjE6ZvBu9eC7sqh
+oTPY56Ld0GscWJmAuj+8vmWGu0md8MnM2DE0SIYE3bo/sPp3yEIbCAnHmcveG8hn
+GEL4ZNjZ+jnwSkzwBU5vh/QS",
+ "tenantId": 0
+ }
+]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ false
+ 3
+ =
+ true
+ offset
+
+
+ false
+ 2
+ =
+ true
+ limit
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs35
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ false
+ 0
+ =
+ true
+ offset
+
+
+ false
+ 100000
+ =
+ true
+ limit
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs33
+ DELETE
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates/qwe12-23fdf-2s332-53fv3-sfs34
+ DELETE
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 404
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ false
+ 0
+ =
+ true
+ offset
+
+
+ false
+ 100000
+ =
+ true
+ limit
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/certificate-mgt/v1.0/admin/certificates
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/devices/android/d24f760f390352a31
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 404
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/devices/android/d24f760f390352a31/applications
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/devices/android/d24f760f390352a31/effective-policy
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ owner
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/devices/android/d24f760f390352a31/operations
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 500
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/devices/android/d24f760f390352a31/compliance-data
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id":101,
+ "name":"androiddevice1000${DeviceID}",
+ "type":"android",
+ "description":"this is an android device",
+ "deviceIdentifier":"d24f860f390352a31",
+ "enrolmentInfo":{
+ "id":101,
+ "device":{
+
+ },
+ "dateOfEnrolment":0,
+ "dateOfLastUpdate":0,
+ "ownership":"BYOD",
+ "status":"CREATED",
+ "owner":"admin"
+ }
+ "features":[
+ {
+ "id":10,
+ "code":"aaaa1111",
+ "name":"newfeature1",
+ "description":"this is the new feature 1",
+ "deviceType":"android",
+ "metadataEntries":[
+ {
+ "id":10,
+ "value":{
+
+ }
+ }
+ ]
+ }
+ ],
+ "properties":[
+ {
+ "name":"property1",
+ "value":"value1"
+ }
+ ],
+ "deviceInfo":{
+ "deviceModel":"S8",
+ "vendor":"SAMSUNG",
+ "osVersion":"5.1",
+ "batteryLevel":1,
+ "internalTotalMemory":32,
+ "internalAvailableMemory":24,
+ "externalTotalMemory":64,
+ "externalAvailableMemory":60,
+ "operator":"dialog",
+ "connectionType":"GSM",
+ "mobileSignalStrength":1,
+ "ssid":"picassowifi",
+ "cpuUsage":0,
+ "totalRAMMemory":2,
+ "availableRAMMemory":1,
+ "pluggedIn":false,
+ "location":{
+ "deviceId":0,
+ "deviceIdentifier":{
+ "id":"string",
+ "type":"string"
+ },
+ "latitude":0,
+ "longitude":0,
+ "street1":"string",
+ "street2":"string",
+ "city":"string",
+ "state":"string",
+ "zip":"string",
+ "country":"string"
+ },
+ "deviceDetailsMap":{
+
+ },
+ "imei":"string",
+ "imsi":"string"
+ },
+ "applications":[
+ {
+ "id":0,
+ "platform":"string",
+ "category":"string",
+ "name":"string",
+ "locationUrl":"string",
+ "imageUrl":"string",
+ "version":"string",
+ "type":"string",
+ "appProperties":{
+
+ },
+ "applicationIdentifier":"string",
+ "memoryUsage":0
+ }
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+ A json parse error may get thrown on server side for this test. This is expected.
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id":1012,
+ "name":"androiddevice10001122",
+ "type":"android",
+ "description":"this is an android device",
+ "deviceIdentifier":"d24f760f390352a31",
+ "enrolmentInfo":{
+ "id":1012,
+ "device":{
+
+ },
+ "dateOfEnrolment":0,
+ "dateOfLastUpdate":0,
+ "ownership":"BYOD",
+ "status":"CREATED",
+ "owner":"admin"
+ },
+ "features":[
+ {
+ "id":10,
+ "code":"aaaa1111",
+ "name":"newfeature2",
+ "description":"this is the new feature 2",
+ "deviceType":"android",
+ "metadataEntries":[
+ {
+ "id":10,
+ "value":{
+
+ }
+ }
+ ]
+ }
+ ],
+ "properties":[
+ {
+ "name":"property1",
+ "value":"value1"
+ }
+ ],
+ "deviceInfo":{
+ "deviceModel":"S8",
+ "vendor":"SAMSUNG",
+ "osVersion":"5.1",
+ "batteryLevel":1,
+ "internalTotalMemory":32,
+ "internalAvailableMemory":24,
+ "externalTotalMemory":64,
+ "externalAvailableMemory":60,
+ "operator":"dialog",
+ "connectionType":"GSM",
+ "mobileSignalStrength":1,
+ "ssid":"picassowifi",
+ "cpuUsage":0,
+ "totalRAMMemory":2,
+ "availableRAMMemory":1,
+ "pluggedIn":false,
+ "location":{
+ "deviceId":0,
+ "deviceIdentifier":{
+ "id":"string",
+ "type":"string"
+ },
+ "latitude":0,
+ "longitude":0,
+ "street1":"string",
+ "street2":"string",
+ "city":"string",
+ "state":"string",
+ "zip":"string",
+ "country":"string"
+ },
+ "deviceDetailsMap":{
+
+ },
+ "imei":"string",
+ "imsi":"string"
+ },
+ "applications":[
+ {
+ "id":0,
+ "platform":"string",
+ "category":"string",
+ "name":"string",
+ "locationUrl":"string",
+ "imageUrl":"string",
+ "version":"string",
+ "type":"string",
+ "appProperties":{
+
+ },
+ "applicationIdentifier":"string",
+ "memoryUsage":0
+ }
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices/d24f760f390352a31
+ PUT
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ [
+ {
+ "id": 10,
+ "platform": "android",
+ "category": "Business",
+ "name": "Graphical",
+ "locationUrl": "string",
+ "imageUrl": "string",
+ "version": "1.0.0",
+ "type": "string",
+ "appProperties": {},
+ "applicationIdentifier": "string",
+ "memoryUsage": 0
+ }
+]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+ UTF-8
+ /api/device-mgt/android/v1.0/devices/d24f760f390352a31/applications
+ PUT
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 500
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices/d24f760f390352a31/status
+ GET
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 404
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/applications
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "lockCode": "0000"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/change-lock-code
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "lockCod": "0000"
+ },
+ "deviceIDs": [
+ "d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/change-lock-code
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+ Changing the Lock Code on Android Device with Invalid payload valid dev ID
+
+
+
+
+ 400
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/clear-password
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "ssid": "string",
+ "password": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/configure-wifi
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "ssid": 1,
+ "password": 24
+ },
+ "deviceIDs": [
+ "d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/configure-wifi
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+ Configuring Wi-Fi on Android Device with invalid payload data types
+
+
+
+
+ 400
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "enabled": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/control-camera
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "enabled": 59
+ },
+ "deviceIDs": [
+ "d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/control-camera
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+ Enabling or Disabling the Camera with Invalid Payload data types
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "encrypted": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/encrypt-storage
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "encrypt": 78
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/encrypt-storage
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/enterprise-wipe
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/location
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ [1234567890]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/location
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ],
+ "operation": {
+ "message": "string",
+ "hardLockEnabled": false
+ }
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/lock-devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceIDs": [
+ "d24f860f390352a31"
+ ],
+ "operation": {
+ "message": "string",
+ "hardLockEnabled": 56
+ }
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/lock-devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/mute
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/reboot
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/ring
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ],
+ "operation": {
+ "messageText": "string",
+ "messageTitle": "string"
+ }
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/send-notification
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "maxFailedAttempts": 0,
+ "minLength": 0,
+ "pinHistory": 0,
+ "minComplexChars": 0,
+ "maxPINAgeInDays": 0,
+ "requireAlphanumeric": false,
+ "allowSimple": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/set-password-policy
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "identity": "string",
+ "title": "string",
+ "type": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/set-webclip
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/unlock-devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "pin": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/wipe
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 400
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/applications
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "lockCode": "0000"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/change-lock-code
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f750f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/clear-password
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "ssid": "string",
+ "password": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/configure-wifi
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "enabled": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/control-camera
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "encrypted": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/encrypt-storage
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/enterprise-wipe
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ [1234567890,"d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/location
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ],
+ "operation": {
+ "message": "string",
+ "hardLockEnabled": false
+ }
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/lock-devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/reboot
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/ring
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ],
+ "operation": {
+ "messageText": "string",
+ "messageTitle": "string"
+ }
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/send-notification
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "maxFailedAttempts": 0,
+ "minLength": 0,
+ "pinHistory": 0,
+ "minComplexChars": 0,
+ "maxPINAgeInDays": 0,
+ "requireAlphanumeric": false,
+ "allowSimple": false
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/set-password-policy
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "identity": "string",
+ "title": "string",
+ "type": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/set-webclip
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/unlock-devices
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "operation": {
+ "pin": "string"
+ },
+ "deviceIDs": [
+ "d24f760f390352a31","d24f860f390352a31"
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/wipe
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ true
+
+
+
+ false
+ ["d24f760f390352a31","d24f860f390352a31"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/admin/devices/mute
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+ Accept
+ application/json
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ 0
+ true
+ true
+ true
+
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+ assertion failures will be marked with a Response Assertion : Test failed msg.
+
+
+
+
+
diff --git a/modules/integration/tests-integration/src/test/resources/jmeter-scripts/GroupManagementAPI.jmx b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/GroupManagementAPI.jmx
new file mode 100644
index 00000000..338b9e13
--- /dev/null
+++ b/modules/integration/tests-integration/src/test/resources/jmeter-scripts/GroupManagementAPI.jmx
@@ -0,0 +1,2032 @@
+
+
+
+
+
+ false
+ false
+
+
+
+ host
+ 172.17.0.1
+ =
+
+
+ http_port
+ 9763
+ =
+
+
+ https_port
+ 9443
+ =
+
+
+
+
+
+
+
+ 9999
+ 100
+
+ false
+
+ randAppNum
+
+
+
+
+
+ host
+ localhost
+ =
+
+
+ https_port
+ 8243
+ =
+
+
+ http_port
+ 8280
+ =
+
+
+ token_ep_host
+ localhost
+ =
+
+
+ token_ep_port
+ 8280
+ =
+
+
+ group_name
+ Group 2
+ =
+
+
+ new_group_name
+ New Group
+ =
+
+
+ role_name
+ group_sharing
+ =
+
+
+ DeviceID
+ 1
+ =
+
+
+ DeviceIdentifier
+ group_device
+ =
+
+
+
+
+
+ continue
+
+ false
+ 1
+
+ 1
+ 1
+ 1465464058000
+ 1465464058000
+ false
+
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "applicationName":"app_${randAppNum}",
+ "isAllowedToAllDomains":false,
+ "tags":["android", "device_management"],
+ "isMappingAnExistingOAuthApp":false
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api-application-registration/register
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Basic YWRtaW46YWRtaW4=
+
+
+ Host
+ localhost:9763
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+ false
+ clientId
+ "client_id":"(.+?)"
+ $1$
+ 0
+ 1
+
+
+
+ false
+ clientSecret
+ "client_secret":"(.+?)"
+ $1$
+ 0
+ 1
+
+
+
+
+
+ clientId,clientSecret
+ false
+ import org.apache.commons.codec.binary.Base64;
+
+String clientId= vars.get("clientId");
+String clientSecret = vars.get("clientSecret");
+String toEncode = clientId + ":" + clientSecret;
+
+byte[] encryptedId = Base64.encodeBase64(toEncode.getBytes());
+vars.put("base64encodedId",new String(encryptedId));
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ username
+
+
+ false
+ admin
+ =
+ true
+ password
+
+
+ false
+ password
+ =
+ true
+ grant_type
+
+
+ false
+ perm:android:enroll perm:android:wipe perm:android:ring perm:android:lock-devices perm:android:configure-vpn perm:android:configure-wifi perm:android:enroll perm:android:uninstall-application perm:android:manage-configuration perm:android:location perm:android:install-application perm:android:mute perm:android:change-lock-code perm:android:blacklist-applications perm:android:set-password-policy perm:android:encrypt-storage perm:android:clear-password perm:android:enterprise-wipe perm:android:info perm:android:view-configuration perm:android:upgrade-firmware perm:android:set-webclip perm:android:send-notification perm:android:disenroll perm:android:update-application perm:android:unlock-devices perm:android:control-camera perm:android:reboot perm:android:logcat appm:subscribe perm:sign-csr perm:admin:devices:view perm:roles:add perm:roles:add-users perm:roles:update perm:roles:permissions perm:roles:details perm:roles:view perm:roles:create-combined-role perm:roles:delete perm:dashboard:vulnerabilities perm:dashboard:non-compliant-count perm:dashboard:non-compliant perm:dashboard:by-groups perm:dashboard:device-counts perm:dashboard:feature-non-compliant perm:dashboard:count-overview perm:dashboard:filtered-count perm:dashboard:details perm:get-activity perm:devices:delete perm:devices:applications perm:devices:effective-policy perm:devices:compliance-data perm:devices:features perm:devices:operations perm:devices:search perm:devices:details perm:devices:update perm:devices:view perm:view-configuration perm:manage-configuration perm:policies:remove perm:policies:priorities perm:policies:deactivate perm:policies:get-policy-details perm:policies:manage perm:policies:activate perm:policies:update perm:policies:changes perm:policies:get-details perm:users:add perm:users:details perm:users:count perm:users:delete perm:users:roles perm:users:user-details perm:users:credentials perm:users:search perm:users:is-exist perm:users:update perm:users:send-invitation perm:admin-users:view perm:groups:devices perm:groups:update perm:groups:add perm:groups:device perm:groups:devices-count perm:groups:remove perm:groups:groups perm:groups:groups-view perm:groups:share perm:groups:count perm:groups:roles perm:groups:devices-remove perm:groups:devices-add perm:groups:assign perm:device-types:features perm:device-types:types perm:applications:install perm:applications:uninstall perm:admin-groups:count perm:admin-groups:view perm:notifications:mark-checked perm:notifications:view perm:admin:certificates:delete perm:admin:certificates:details perm:admin:certificates:view perm:admin:certificates:add perm:admin:certificates:verify perm:ios:enroll perm:ios:view-device perm:ios:apn perm:ios:ldap perm:ios:enterprise-app perm:ios:store-application perm:ios:remove-application perm:ios:app-list perm:ios:profile-list perm:ios:lock perm:ios:enterprise-wipe perm:ios:device-info perm:ios:restriction perm:ios:email perm:ios:cellular perm:ios:applications perm:ios:wifi perm:ios:ring perm:ios:location perm:ios:notification perm:ios:airplay perm:ios:caldav perm:ios:cal-subscription perm:ios:passcode-policy perm:ios:webclip perm:ios:vpn perm:ios:per-app-vpn perm:ios:app-to-per-app-vpn perm:ios:app-lock perm:ios:clear-passcode perm:ios:remove-profile perm:ios:get-restrictions perm:ios:wipe-data perm:admin perm:android:applications
+ =
+ true
+ scope
+
+
+ false
+
+ =
+ true
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /token
+ POST
+ true
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Basic ${base64encodedId}
+
+
+ Content-Type
+ application/x-www-form-urlencoded
+
+
+
+
+
+ false
+ access_token
+ "access_token":"(.+?)"
+ $1$
+ no_token
+ 1
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/count
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ 0
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+ true
+
+
+
+ false
+
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "count":0
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id" : 2,
+ "description" : "This is a test group",
+ "name" : "${group_name}"
+ }
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id" : 2,
+ "description" : "This is a test group",
+ "name" : "${group_name}"
+ }
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 409
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+ true
+
+
+
+ false
+
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "name":"Group 2"
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+ "count":1
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+ false
+ groupId
+ "id":(.+?)
+ $1$
+ no_token
+ 1
+
+
+
+
+
+
+
+ false
+ false_group
+ =
+ true
+ name
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "deviceGroups":[]
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ owner
+
+
+ true
+ Group 2
+ =
+ true
+ name
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "name":"Group 2"
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+ "count":1
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+
+
+
+ false
+ admin
+ =
+ true
+ owner
+
+
+ false
+ dadad
+ =
+ true
+ name
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "deviceGroups":[]
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/count
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ 1
+
+ Assertion.response_data
+ false
+ 16
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "description":"This is a test group"
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/3333
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 404
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/hello
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 404
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id" : "${groupId}",
+ "description" : "This is a new test group",
+ "name" : "${group_name}"
+ }
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+ UTF-8
+ /api/device-mgt/v1.0/groups/id/10000
+ PUT
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 409
+
+ Assertion.response_code
+ true
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id" : "${groupId}",
+ "description" : "This is a new test group",
+ "name" : "${new_group_name}"
+ }
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+ UTF-8
+ /api/device-mgt/v1.0/groups/id/${groupId}
+ PUT
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "description":"This is a new test group"
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "roleName": "${role_name}",
+ "users" : ["admin"]
+}
+
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/roles
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 201
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ ["${role_name}"]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/share
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/roles
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "count":1
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ "${role_name}"
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "id":1000${DeviceID},
+ "name":"androiddevice${DeviceID}",
+ "type":"android",
+ "description":"this is an android device",
+ "deviceIdentifier":"${DeviceIdentifier}",
+ "enrolmentInfo":{
+ "id":1000${DeviceID},
+ "device":{
+
+ },
+ "dateOfEnrolment":0,
+ "dateOfLastUpdate":0,
+ "ownership":"BYOD",
+ "status":"CREATED",
+ "owner":"admin"
+ },
+ "features":[
+ {
+ "id":10,
+ "code":"aaaa1111",
+ "name":"newfeature1",
+ "description":"this is the new feature 1",
+ "deviceType":"android",
+ "metadataEntries":[
+ {
+ "id":10,
+ "value":{
+
+ }
+ }
+ ]
+ }
+ ],
+ "properties":[
+ {
+ "name":"property1",
+ "value":"value1"
+ }
+ ],
+ "deviceInfo":{
+ "deviceModel":"S6",
+ "vendor":"SAMSUNG",
+ "osVersion":"5.1",
+ "batteryLevel":1,
+ "internalTotalMemory":32,
+ "internalAvailableMemory":24,
+ "externalTotalMemory":64,
+ "externalAvailableMemory":60,
+ "operator":"dialog",
+ "connectionType":"GSM",
+ "mobileSignalStrength":1,
+ "ssid":"picassowifi",
+ "cpuUsage":0,
+ "totalRAMMemory":2,
+ "availableRAMMemory":1,
+ "pluggedIn":false,
+ "location":{
+ "deviceId":0,
+ "deviceIdentifier":{
+ "id":"string",
+ "type":"string"
+ },
+ "latitude":0,
+ "longitude":0,
+ "street1":"string",
+ "street2":"string",
+ "city":"string",
+ "state":"string",
+ "zip":"string",
+ "country":"string"
+ },
+ "deviceDetailsMap":{
+
+ },
+ "imei":"string",
+ "imsi":"string"
+ },
+ "applications":[
+ {
+ "id":0,
+ "platform":"string",
+ "category":"string",
+ "name":"string",
+ "locationUrl":"string",
+ "imageUrl":"string",
+ "version":"string",
+ "type":"string",
+ "appProperties":{
+
+ },
+ "applicationIdentifier":"string",
+ "memoryUsage":0
+ }
+ ]
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/android/v1.0/devices
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ [{"id":"${DeviceIdentifier}", "type":"android"}]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/devices/add
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/devices/
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "count":1
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/devices/count
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ 1
+
+ Assertion.response_data
+ false
+ 8
+
+
+
+
+
+
+
+ false
+ ${DeviceIdentifier}
+ =
+ true
+ deviceId
+
+
+ false
+ android
+ =
+ true
+ deviceType
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/device
+ GET
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 2
+
+
+
+
+ "${new_group_name}"
+
+ Assertion.response_data
+ false
+ 2
+
+
+
+
+ true
+
+
+
+ false
+ {
+ "deviceGroupIds" : [${groupId}],
+ "deviceIdentifier" : {"id":"${DeviceIdentifier}", "type":"android"}
+}
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/device/assign
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+ true
+
+
+
+ false
+ [{"id":"${DeviceIdentifier}", "type":"android"}]
+ =
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}/devices/remove
+ POST
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+
+
+ ${host}
+ ${https_port}
+
+
+ https
+
+ /api/device-mgt/v1.0/groups/id/${groupId}
+ DELETE
+ false
+ false
+ true
+ false
+ HttpClient4
+ false
+
+
+
+
+
+
+ Authorization
+ Bearer ${access_token}
+
+
+ Content-Type
+ application/json
+
+
+
+
+
+
+ 200
+
+ Assertion.response_code
+ false
+ 8
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+ Results
+ true
+ false
+ true
+ false
+
+
+
+ false
+
+ saveConfig
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+ true
+ true
+ true
+
+ true
+ true
+ true
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ 0
+ true
+ true
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-integration/src/test/resources/testng.xml b/modules/integration/tests-integration/src/test/resources/testng.xml
index 5b704d39..2d8e6ec9 100644
--- a/modules/integration/tests-integration/src/test/resources/testng.xml
+++ b/modules/integration/tests-integration/src/test/resources/testng.xml
@@ -64,14 +64,14 @@
-
-
-
+
+
+
-
-
-
+
+
+
@@ -79,30 +79,41 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+