Merge pull request #385 from Megala21/test_case_fixes

Adding initial test cases for group management and negative test cases for android apis
merge-requests/1/head
sinthuja 8 years ago committed by GitHub
commit 582260f40d

@ -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);
}
}

@ -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);
}
}

@ -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);
}
}

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.9" jmeter="3.0 r1743807">
<jmeterTestPlan version="1.2" properties="2.2">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Android Device Management API" enabled="true">
<stringProp name="TestPlan.comments"></stringProp>
@ -45,12 +45,12 @@
</elementProp>
<elementProp name="https_port" elementType="Argument">
<stringProp name="Argument.name">https_port</stringProp>
<stringProp name="Argument.value">9443</stringProp>
<stringProp name="Argument.value">8243</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="http_port" elementType="Argument">
<stringProp name="Argument.name">http_port</stringProp>
<stringProp name="Argument.value">9763</stringProp>
<stringProp name="Argument.value">8280</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="token_ep_host" elementType="Argument">
@ -60,7 +60,12 @@
</elementProp>
<elementProp name="token_ep_port" elementType="Argument">
<stringProp name="Argument.name">token_ep_port</stringProp>
<stringProp name="Argument.value">9763</stringProp>
<stringProp name="Argument.value">8280</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
<elementProp name="https_management_port" elementType="Argument">
<stringProp name="Argument.name">https_management_port</stringProp>
<stringProp name="Argument.value">9443</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
</collectionProp>
@ -108,7 +113,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -136,7 +141,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/UserAdmin.UserAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/UserAdmin.UserAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:xsd=&quot;http://org.apache.axis2/xsd&quot; xmlns:xsd1=&quot;http://common.mgt.user.carbon.wso2.org/xsd&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -162,7 +167,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -189,7 +194,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -217,7 +222,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/UserAdmin.UserAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/UserAdmin.UserAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:xsd=&quot;http://org.apache.axis2/xsd&quot; xmlns:xsd1=&quot;http://common.mgt.user.carbon.wso2.org/xsd&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -243,7 +248,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -264,7 +269,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -292,7 +297,7 @@
<elementProp name="HTTPsampler.Arguments" elementType="Arguments">
<collectionProp name="Arguments.arguments"/>
</elementProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="SoapSampler.URL_DATA">https://${host}:${https_management_port}/services/AuthenticationAdmin.AuthenticationAdminHttpsSoap11Endpoint/</stringProp>
<stringProp name="HTTPSamper.xml_data">&lt;soapenv:Envelope xmlns:soapenv=&quot;http://schemas.xmlsoap.org/soap/envelope/&quot; xmlns:aut=&quot;http://authentication.services.core.carbon.wso2.org&quot;&gt;
&lt;soapenv:Header/&gt;
&lt;soapenv:Body&gt;
@ -312,12 +317,10 @@
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{ &#xd;
&quot;callbackUrl&quot;:&quot;www.google.lk&quot;,&#xd;
&quot;clientName&quot;:&quot;app_${randAppNum}&quot;,&#xd;
&quot;tokenScope&quot;:&quot;Production&quot;,&#xd;
&quot;owner&quot;:&quot;user111&quot;,&#xd;
&quot;grantType&quot;:&quot;password refresh_token&quot;,&#xd;
&quot;saasApp&quot;:true&#xd;
&quot;applicationName&quot;:&quot;app_${randAppNum}&quot;,&#xd;
&quot;isAllowedToAllDomains&quot;:false,&#xd;
&quot;tags&quot;:[&quot;android&quot;, &quot;device_management&quot;],&#xd;
&quot;isMappingAnExistingOAuthApp&quot;:false&#xd;
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@ -329,7 +332,7 @@
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/appm/oauth/v1.0/register</stringProp>
<stringProp name="HTTPSampler.path">/api-application-registration/register</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -348,7 +351,7 @@
</elementProp>
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Host</stringProp>
<stringProp name="Header.value">10.100.1.90:9763</stringProp>
<stringProp name="Header.value">localhost:9763</stringProp>
</elementProp>
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Content-Type</stringProp>
@ -360,7 +363,7 @@
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="ClientID Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp name="RegexExtractor.refname">clientId</stringProp>
<stringProp name="RegexExtractor.regex">&quot;clientId&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.regex">&quot;client_id&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
<stringProp name="RegexExtractor.default">0</stringProp>
<stringProp name="RegexExtractor.match_number">1</stringProp>
@ -369,7 +372,7 @@
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="ClientSecret Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp name="RegexExtractor.refname">clientSecret</stringProp>
<stringProp name="RegexExtractor.regex">&quot;clientSecret&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.regex">&quot;client_secret&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
<stringProp name="RegexExtractor.default">0</stringProp>
<stringProp name="RegexExtractor.match_number">1</stringProp>
@ -416,7 +419,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
</elementProp>
<elementProp name="scope" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">appm:subscribe device:view activity:view device:android:operation:change-lock device:admin:view configuration:view device:android:enroll user:view</stringProp>
<stringProp name="Argument.value">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</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">scope</stringProp>
@ -429,7 +432,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/oauth2/token</stringProp>
<stringProp name="HTTPSampler.path">/token</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -626,12 +629,10 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<elementProp name="" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">false</boolProp>
<stringProp name="Argument.value">{ &#xd;
&quot;callbackUrl&quot;:&quot;www.google.lk&quot;,&#xd;
&quot;clientName&quot;:&quot;appp_${randAppNum}&quot;,&#xd;
&quot;tokenScope&quot;:&quot;Production&quot;,&#xd;
&quot;owner&quot;:&quot;admin&quot;,&#xd;
&quot;grantType&quot;:&quot;password refresh_token&quot;,&#xd;
&quot;saasApp&quot;:true&#xd;
&quot;applicationName&quot;:&quot;app_${randAppNum}&quot;,&#xd;
&quot;isAllowedToAllDomains&quot;:false,&#xd;
&quot;tags&quot;:[&quot;android&quot;, &quot;device_management&quot;],&#xd;
&quot;isMappingAnExistingOAuthApp&quot;:false&#xd;
}</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
</elementProp>
@ -643,7 +644,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/api/appm/oauth/v1.0/register</stringProp>
<stringProp name="HTTPSampler.path">/api-application-registration/register</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -662,7 +663,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
</elementProp>
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Host</stringProp>
<stringProp name="Header.value">10.100.1.90:9763</stringProp>
<stringProp name="Header.value">localhost:9763</stringProp>
</elementProp>
<elementProp name="" elementType="Header">
<stringProp name="Header.name">Content-Type</stringProp>
@ -674,7 +675,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="ClientID Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp name="RegexExtractor.refname">clientId</stringProp>
<stringProp name="RegexExtractor.regex">&quot;clientId&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.regex">&quot;client_id&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
<stringProp name="RegexExtractor.default">0</stringProp>
<stringProp name="RegexExtractor.match_number">1</stringProp>
@ -683,7 +684,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="ClientSecret Extractor" enabled="true">
<stringProp name="RegexExtractor.useHeaders">false</stringProp>
<stringProp name="RegexExtractor.refname">clientSecret</stringProp>
<stringProp name="RegexExtractor.regex">&quot;clientSecret&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.regex">&quot;client_secret&quot;:&quot;(.+?)&quot;</stringProp>
<stringProp name="RegexExtractor.template">$1$</stringProp>
<stringProp name="RegexExtractor.default">0</stringProp>
<stringProp name="RegexExtractor.match_number">1</stringProp>
@ -730,7 +731,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
</elementProp>
<elementProp name="scope" elementType="HTTPArgument">
<boolProp name="HTTPArgument.always_encode">true</boolProp>
<stringProp name="Argument.value">appm:subscribe device:view activity:view device:android:operation:change-lock device:admin:view configuration:view device:android:enroll user:view</stringProp>
<stringProp name="Argument.value">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</stringProp>
<stringProp name="Argument.metadata">=</stringProp>
<boolProp name="HTTPArgument.use_equals">true</boolProp>
<stringProp name="Argument.name">scope</stringProp>
@ -743,7 +744,7 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
<stringProp name="HTTPSampler.response_timeout"></stringProp>
<stringProp name="HTTPSampler.protocol">https</stringProp>
<stringProp name="HTTPSampler.contentEncoding"></stringProp>
<stringProp name="HTTPSampler.path">/oauth2/token</stringProp>
<stringProp name="HTTPSampler.path">/token</stringProp>
<stringProp name="HTTPSampler.method">POST</stringProp>
<boolProp name="HTTPSampler.follow_redirects">true</boolProp>
<boolProp name="HTTPSampler.auto_redirects">false</boolProp>
@ -12424,9 +12425,9 @@ vars.put(&quot;base64encodedId&quot;,new String(encryptedId));</stringProp>
</ResultCollector>
<hashTree/>
</hashTree>
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="false">
<ResultSaver guiclass="ResultSaverGui" testclass="ResultSaver" testname="Save Responses to a file" enabled="true">
<stringProp name="FileSaver.filename">Results</stringProp>
<boolProp name="FileSaver.errorsonly">false</boolProp>
<boolProp name="FileSaver.errorsonly">true</boolProp>
<boolProp name="FileSaver.skipautonumber">false</boolProp>
<boolProp name="FileSaver.skipsuffix">false</boolProp>
<boolProp name="FileSaver.successonly">false</boolProp>

@ -103,6 +103,17 @@
<!--<class name="org.wso2.iot.integration.notification.NotificationManagement"/>-->
<!--</classes>-->
<!--</test>-->
<test name="group-mgt" preserve-order="true" parallel="false">
<classes>
<class name="org.wso2.iot.integration.jmeter.GroupManagementJMeterTestCase"/>
</classes>
</test>
<test name="negative-test" preserve-order="true" parallel="false">
<classes>
<class name="org.wso2.iot.integration.jmeter.DeviceManagementAPINegativeTestCase"/>
</classes>
</test>
<test name="user-mgt" preserve-order="true" parallel="false">
<classes>
<class name="org.wso2.iot.integration.user.UserManagement"/>

Loading…
Cancel
Save