c88397c72e16e460151d14f8a8b4118268bbfc67
[policy/pap.git] / testsuites / performance / src / main / resources / testplans / performance.jmx
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   ONAP Policy PAP
5   ================================================================================
6   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
7   Modifications Copyright (C) 2020-2021,2023 Nordix Foundation.
8   Modifications Copyright (C) 2020,2022 Bell Canada. All rights reserved.
9   ================================================================================
10   Licensed under the Apache License, Version 2.0 (the "License");
11   you may not use this file except in compliance with the License.
12   You may obtain a copy of the License at
13        http://www.apache.org/licenses/LICENSE-2.0
14   Unless required by applicable law or agreed to in writing, software
15   distributed under the License is distributed on an "AS IS" BASIS,
16   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17   See the License for the specific language governing permissions and
18   limitations under the License.
19   ============LICENSE_END=========================================================
20   -->
21 <jmeterTestPlan version="1.2" properties="5.0" jmeter="5.6.2">
22   <hashTree>
23     <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Policy PAP Stability" enabled="true">
24       <stringProp name="TestPlan.comments">Policy PAP Stability Tests</stringProp>
25       <boolProp name="TestPlan.functional_mode">false</boolProp>
26       <boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp>
27       <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
28       <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
29         <collectionProp name="Arguments.arguments">
30           <elementProp name="PAP_HOST" elementType="Argument">
31             <stringProp name="Argument.name">PAP_HOST</stringProp>
32             <stringProp name="Argument.value">localhost</stringProp>
33             <stringProp name="Argument.metadata">=</stringProp>
34           </elementProp>
35           <elementProp name="PAP_PORT" elementType="Argument">
36             <stringProp name="Argument.name">PAP_PORT</stringProp>
37             <stringProp name="Argument.value">30003</stringProp>
38             <stringProp name="Argument.metadata">=</stringProp>
39           </elementProp>
40           <elementProp name="API_HOST" elementType="Argument">
41             <stringProp name="Argument.name">API_HOST</stringProp>
42             <stringProp name="Argument.value">localhost</stringProp>
43             <stringProp name="Argument.metadata">=</stringProp>
44           </elementProp>
45           <elementProp name="API_PORT" elementType="Argument">
46             <stringProp name="Argument.name">API_PORT</stringProp>
47             <stringProp name="Argument.value">30002</stringProp>
48             <stringProp name="Argument.metadata">=</stringProp>
49           </elementProp>
50           <elementProp name="USERS" elementType="Argument">
51             <stringProp name="Argument.name">USERS</stringProp>
52             <stringProp name="Argument.value">10</stringProp>
53             <stringProp name="Argument.metadata">=</stringProp>
54           </elementProp>
55         </collectionProp>
56       </elementProp>
57       <stringProp name="TestPlan.user_define_classpath"></stringProp>
58     </TestPlan>
59     <hashTree>
60       <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="true">
61         <collectionProp name="AuthManager.auth_list">
62           <elementProp name="" elementType="Authorization">
63             <stringProp name="Authorization.url">http://${PAP_HOST}:${PAP_PORT}/policy/pap/v1</stringProp>
64             <stringProp name="Authorization.username">policyadmin</stringProp>
65             <stringProp name="Authorization.password">zb!XztG34</stringProp>
66             <stringProp name="Authorization.domain"></stringProp>
67             <stringProp name="Authorization.realm"></stringProp>
68           </elementProp>
69           <elementProp name="" elementType="Authorization">
70             <stringProp name="Authorization.url">http://${API_HOST}:${API_PORT}/policy/api/v1</stringProp>
71             <stringProp name="Authorization.username">policyadmin</stringProp>
72             <stringProp name="Authorization.password">zb!XztG34</stringProp>
73             <stringProp name="Authorization.domain"></stringProp>
74             <stringProp name="Authorization.realm"></stringProp>
75           </elementProp>
76           <elementProp name="" elementType="Authorization">
77             <stringProp name="Authorization.url">http://${PAP_HOST}:${PAP_PORT}/metrics</stringProp>
78             <stringProp name="Authorization.username">policyadmin</stringProp>
79             <stringProp name="Authorization.password">zb!XztG34</stringProp>
80             <stringProp name="Authorization.domain"></stringProp>
81             <stringProp name="Authorization.realm"></stringProp>
82           </elementProp>
83         </collectionProp>
84         <boolProp name="AuthManager.clearEachIteration">true</boolProp>
85         <boolProp name="AuthManager.controlledByThreadGroup">false</boolProp>
86       </AuthManager>
87       <hashTree/>
88       <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header Manager" enabled="true">
89         <collectionProp name="HeaderManager.headers">
90           <elementProp name="" elementType="Header">
91             <stringProp name="Header.name">Content-Type</stringProp>
92             <stringProp name="Header.value">application/json</stringProp>
93           </elementProp>
94         </collectionProp>
95       </HeaderManager>
96       <hashTree/>
97       <SetupThreadGroup guiclass="SetupThreadGroupGui" testclass="SetupThreadGroup" testname="setUp Thread Group" enabled="true">
98         <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
99         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
100           <boolProp name="LoopController.continue_forever">false</boolProp>
101           <stringProp name="LoopController.loops">1</stringProp>
102         </elementProp>
103         <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
104         <stringProp name="ThreadGroup.ramp_time">1</stringProp>
105         <boolProp name="ThreadGroup.scheduler">false</boolProp>
106         <stringProp name="ThreadGroup.duration"></stringProp>
107         <stringProp name="ThreadGroup.delay"></stringProp>
108         <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
109       </SetupThreadGroup>
110       <hashTree>
111         <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
112           <stringProp name="CounterConfig.start">1</stringProp>
113           <stringProp name="CounterConfig.end"></stringProp>
114           <stringProp name="CounterConfig.incr">1</stringProp>
115           <stringProp name="CounterConfig.name">threadCount</stringProp>
116           <stringProp name="CounterConfig.format"></stringProp>
117           <boolProp name="CounterConfig.per_user">false</boolProp>
118         </CounterConfig>
119         <hashTree/>
120         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create Policy" enabled="true">
121           <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
122           <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
123             <collectionProp name="Arguments.arguments">
124               <elementProp name="" elementType="HTTPArgument">
125                 <boolProp name="HTTPArgument.always_encode">false</boolProp>
126                 <stringProp name="Argument.value">{&#xd;
127     &quot;tosca_definitions_version&quot;: &quot;tosca_simple_yaml_1_1_0&quot;,&#xd;
128     &quot;topology_template&quot;: {&#xd;
129         &quot;policies&quot;: [&#xd;
130             {&#xd;
131                 &quot;operational.modifyconfig${threadCount}&quot;: {&#xd;
132                     &quot;type&quot;: &quot;onap.policies.controlloop.operational.common.Drools&quot;,&#xd;
133                     &quot;type_version&quot;: &quot;1.0.0&quot;,&#xd;
134                     &quot;version&quot;: &quot;1.0.0&quot;,&#xd;
135                     &quot;metadata&quot;: {&#xd;
136                         &quot;policy-id&quot;: &quot;operational.modifyconfig${threadCount}&quot;&#xd;
137                     },&#xd;
138                     &quot;properties&quot;: {&#xd;
139                         &quot;id&quot;: &quot;ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a&quot;,&#xd;
140                         &quot;timeout&quot;: 1200,&#xd;
141                         &quot;abatement&quot;: false,&#xd;
142                         &quot;trigger&quot;: &quot;unique-policy-id-1-modifyConfig&quot;,&#xd;
143                         &quot;operations&quot;: [&#xd;
144                             {&#xd;
145                                 &quot;id&quot;: &quot;unique-policy-id-1-modifyConfig&quot;,&#xd;
146                                 &quot;description&quot;: &quot;Modify the packet generator&quot;,&#xd;
147                                 &quot;operation&quot;: {&#xd;
148                                     &quot;actor&quot;: &quot;CDS&quot;,&#xd;
149                                     &quot;operation&quot;: &quot;modify-config&quot;,&#xd;
150                                     &quot;target&quot;: {&#xd;
151                                         &quot;targetType&quot;: &quot;VNF&quot;,&#xd;
152                                         &quot;entityIds&quot;: {&#xd;
153                                             &quot;resourceID&quot;: &quot;37b008b9-b367-4359-93fd-74d3ce0ee1a0&quot;&#xd;
154                                         }&#xd;
155                                     },&#xd;
156                                     &quot;payload&quot;:{&#xd;
157                                         &quot;artifact_name&quot;: &quot;vFW-CDS&quot;,&#xd;
158                                         &quot;artifact_version&quot;: &quot;1.0.0&quot;,&#xd;
159                                         &quot;data&quot;: &quot;{\&quot;active-streams\&quot;: \&quot;7\&quot;}&quot;&#xd;
160                                     }&#xd;
161                                 },&#xd;
162                                 &quot;timeout&quot;: 300,&#xd;
163                                 &quot;retries&quot;: 0,&#xd;
164                                 &quot;success&quot;: &quot;final_success&quot;,&#xd;
165                                 &quot;failure&quot;: &quot;final_failure&quot;,&#xd;
166                                 &quot;failure_timeout&quot;: &quot;final_failure_timeout&quot;,&#xd;
167                                 &quot;failure_retries&quot;: &quot;final_failure_retries&quot;,&#xd;
168                                 &quot;failure_exception&quot;: &quot;final_failure_exception&quot;,&#xd;
169                                 &quot;failure_guard&quot;: &quot;final_failure_guard&quot;&#xd;
170                             }&#xd;
171                         ],&#xd;
172                         &quot;controllerName&quot;: &quot;usecases&quot;&#xd;
173                     }&#xd;
174                 }&#xd;
175             }&#xd;
176         ]&#xd;
177     }&#xd;
178 }</stringProp>
179                 <stringProp name="Argument.metadata">=</stringProp>
180               </elementProp>
181             </collectionProp>
182           </elementProp>
183           <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp>
184           <stringProp name="HTTPSampler.port">${API_PORT}</stringProp>
185           <stringProp name="HTTPSampler.protocol">http</stringProp>
186           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
187           <stringProp name="HTTPSampler.path">/policy/api/v1/policies</stringProp>
188           <stringProp name="HTTPSampler.method">POST</stringProp>
189           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
190           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
191           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
192           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
193           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
194           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
195           <stringProp name="HTTPSampler.response_timeout"></stringProp>
196         </HTTPSamplerProxy>
197         <hashTree>
198           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
199             <collectionProp name="Asserion.test_strings">
200               <stringProp name="49586">200</stringProp>
201             </collectionProp>
202             <stringProp name="Assertion.custom_message"></stringProp>
203             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
204             <boolProp name="Assertion.assume_success">false</boolProp>
205             <intProp name="Assertion.test_type">1</intProp>
206           </ResponseAssertion>
207           <hashTree/>
208         </hashTree>
209         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change State to ACTIVE (defaultGroup)" enabled="true">
210           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
211             <collectionProp name="Arguments.arguments"/>
212           </elementProp>
213           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
214           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
215           <stringProp name="HTTPSampler.protocol">http</stringProp>
216           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
217           <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/groups/defaultGroup?state=ACTIVE</stringProp>
218           <stringProp name="HTTPSampler.method">PUT</stringProp>
219           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
220           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
221           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
222           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
223           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
224           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
225           <stringProp name="HTTPSampler.response_timeout"></stringProp>
226         </HTTPSamplerProxy>
227         <hashTree>
228           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
229             <collectionProp name="Asserion.test_strings">
230               <stringProp name="49586">200</stringProp>
231             </collectionProp>
232             <stringProp name="Assertion.custom_message"></stringProp>
233             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
234             <boolProp name="Assertion.assume_success">false</boolProp>
235             <intProp name="Assertion.test_type">1</intProp>
236           </ResponseAssertion>
237           <hashTree/>
238         </hashTree>
239       </hashTree>
240       <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="PAP Test Flow" enabled="true">
241         <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
242         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
243           <boolProp name="LoopController.continue_forever">false</boolProp>
244           <intProp name="LoopController.loops">-1</intProp>
245         </elementProp>
246         <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
247         <stringProp name="ThreadGroup.ramp_time">0</stringProp>
248         <boolProp name="ThreadGroup.scheduler">true</boolProp>
249         <stringProp name="ThreadGroup.duration">7200</stringProp>
250         <stringProp name="ThreadGroup.delay"></stringProp>
251         <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
252       </ThreadGroup>
253       <hashTree>
254         <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
255           <stringProp name="CounterConfig.start">1</stringProp>
256           <stringProp name="CounterConfig.end">${USERS}</stringProp>
257           <stringProp name="CounterConfig.incr">1</stringProp>
258           <stringProp name="CounterConfig.name">threadCount</stringProp>
259           <stringProp name="CounterConfig.format"></stringProp>
260           <boolProp name="CounterConfig.per_user">false</boolProp>
261         </CounterConfig>
262         <hashTree/>
263         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Health" enabled="true">
264           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
265             <collectionProp name="Arguments.arguments"/>
266           </elementProp>
267           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
268           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
269           <stringProp name="HTTPSampler.protocol">http</stringProp>
270           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
271           <stringProp name="HTTPSampler.path">/policy/pap/v1/healthcheck</stringProp>
272           <stringProp name="HTTPSampler.method">GET</stringProp>
273           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
274           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
275           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
276           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
277           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
278           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
279           <stringProp name="HTTPSampler.response_timeout"></stringProp>
280           <stringProp name="TestPlan.comments">Basic Health Check</stringProp>
281         </HTTPSamplerProxy>
282         <hashTree>
283           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
284             <collectionProp name="Asserion.test_strings">
285               <stringProp name="49586">200</stringProp>
286             </collectionProp>
287             <stringProp name="Assertion.custom_message"></stringProp>
288             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
289             <boolProp name="Assertion.assume_success">false</boolProp>
290             <intProp name="Assertion.test_type">1</intProp>
291           </ResponseAssertion>
292           <hashTree/>
293           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
294             <stringProp name="scriptLanguage">groovy</stringProp>
295             <stringProp name="parameters"></stringProp>
296             <stringProp name="filename"></stringProp>
297             <stringProp name="cacheKey">true</stringProp>
298             <stringProp name="script">import groovy.json.JsonSlurper;
299
300 def res = [];
301 if (prev.getResponseCode() == &apos;200&apos;) {
302     def jsonSlurper = new JsonSlurper();
303     res = jsonSlurper.parseText(prev.getResponseDataAsString());
304
305     assert res instanceof Map;
306     assert res.code == 200;
307     assert res.name == &quot;Policy PAP&quot;;
308     assert res.healthy==true;
309     assert res.message==&quot;alive&quot;;
310 }
311 </stringProp>
312           </JSR223Assertion>
313           <hashTree/>
314         </hashTree>
315         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="PAP Metrics" enabled="true">
316           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
317             <collectionProp name="Arguments.arguments"/>
318           </elementProp>
319           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
320           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
321           <stringProp name="HTTPSampler.protocol">http</stringProp>
322           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
323           <stringProp name="HTTPSampler.path">/policy/pap/v1/metrics</stringProp>
324           <stringProp name="HTTPSampler.method">GET</stringProp>
325           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
326           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
327           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
328           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
329           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
330           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
331           <stringProp name="HTTPSampler.response_timeout"></stringProp>
332           <stringProp name="TestPlan.comments">PAP Metrics</stringProp>
333         </HTTPSamplerProxy>
334         <hashTree>
335           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
336             <collectionProp name="Asserion.test_strings">
337               <stringProp name="49586">200</stringProp>
338             </collectionProp>
339             <stringProp name="Assertion.custom_message"></stringProp>
340             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
341             <boolProp name="Assertion.assume_success">false</boolProp>
342             <intProp name="Assertion.test_type">1</intProp>
343           </ResponseAssertion>
344           <hashTree/>
345           <JSR223PostProcessor guiclass="TestBeanGUI" testclass="JSR223PostProcessor" testname="JSR223 PostProcessor" enabled="true">
346             <stringProp name="cacheKey">true</stringProp>
347             <stringProp name="filename"></stringProp>
348             <stringProp name="parameters"></stringProp>
349             <stringProp name="script">
350 if (prev.getResponseCode() == &apos;200&apos;) {
351     def res = prev.getResponseDataAsString();
352
353     def simpleDeployAPICount =  &apos;0&apos;;
354     if (res.contains(&apos;http_server_requests_seconds_count{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;/policy/pap/v1/pdps/policies&quot;,} &apos;)) {
355         simpleDeployAPICount = (res =~ /http_server_requests_seconds_count\{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;\/policy\/pap\/v1\/pdps\/policies&quot;,\} ([0-9]+)?([.]*[0-9]*)?/)[0][1]
356     }
357
358     def batchDeploymentAPICount =  &apos;0&apos;;
359     if (res.contains(&apos;http_server_requests_seconds_count{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;/policy/pap/v1/pdps/deployments/batch&quot;,} &apos;)) {
360         batchDeploymentAPICount = (res =~ /http_server_requests_seconds_count\{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;\/policy\/pap\/v1\/pdps\/deployments\/batch&quot;,\} ([0-9]+)?([.]*[0-9]*)?/)[0][1]
361     }
362
363     vars.put(&quot;simpleDeployAPICount&quot;, simpleDeployAPICount);
364     vars.put(&quot;batchDeploymentAPICount&quot;, batchDeploymentAPICount);
365
366 }</stringProp>
367             <stringProp name="scriptLanguage">groovy</stringProp>
368           </JSR223PostProcessor>
369           <hashTree/>
370         </hashTree>
371         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Create/Update PDP Group" enabled="true">
372           <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
373           <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
374             <collectionProp name="Arguments.arguments">
375               <elementProp name="" elementType="HTTPArgument">
376                 <boolProp name="HTTPArgument.always_encode">false</boolProp>
377                 <stringProp name="Argument.value">{&#xd;
378     &quot;groups&quot;: [&#xd;
379         {&#xd;
380             &quot;name&quot;: &quot;sampleGroup${threadCount}&quot;,&#xd;
381             &quot;pdpGroupState&quot;: &quot;ACTIVE&quot;,&#xd;
382             &quot;properties&quot;: {},&#xd;
383             &quot;pdpSubgroups&quot;: [&#xd;
384                 {&#xd;
385                     &quot;pdpType&quot;: &quot;apex&quot;,&#xd;
386                     &quot;desiredInstanceCount&quot;: 1,&#xd;
387                     &quot;properties&quot;: {},&#xd;
388                     &quot;supportedPolicyTypes&quot;: [&#xd;
389                         {&#xd;
390                             &quot;name&quot;: &quot;onap.policies.native.Apex&quot;,&#xd;
391                             &quot;version&quot;: &quot;1.0.0&quot;&#xd;
392                         }&#xd;
393                     ],&#xd;
394                     &quot;policies&quot;: []&#xd;
395                 }&#xd;
396             ]&#xd;
397         }&#xd;
398     ]&#xd;
399 }</stringProp>
400                 <stringProp name="Argument.metadata">=</stringProp>
401               </elementProp>
402             </collectionProp>
403           </elementProp>
404           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
405           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
406           <stringProp name="HTTPSampler.protocol">http</stringProp>
407           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
408           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/groups/batch</stringProp>
409           <stringProp name="HTTPSampler.method">POST</stringProp>
410           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
411           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
412           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
413           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
414           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
415           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
416           <stringProp name="HTTPSampler.response_timeout"></stringProp>
417           <stringProp name="TestPlan.comments">create SampleGroup </stringProp>
418         </HTTPSamplerProxy>
419         <hashTree>
420           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
421             <collectionProp name="Asserion.test_strings">
422               <stringProp name="49586">200</stringProp>
423             </collectionProp>
424             <stringProp name="Assertion.custom_message"></stringProp>
425             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
426             <boolProp name="Assertion.assume_success">false</boolProp>
427             <intProp name="Assertion.test_type">1</intProp>
428           </ResponseAssertion>
429           <hashTree/>
430         </hashTree>
431         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check PdpGroup Query" enabled="true">
432           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
433             <collectionProp name="Arguments.arguments"/>
434           </elementProp>
435           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
436           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
437           <stringProp name="HTTPSampler.protocol">http</stringProp>
438           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
439           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps</stringProp>
440           <stringProp name="HTTPSampler.method">GET</stringProp>
441           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
442           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
443           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
444           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
445           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
446           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
447           <stringProp name="HTTPSampler.response_timeout"></stringProp>
448           <stringProp name="TestPlan.comments">Check PdpGroup Query</stringProp>
449         </HTTPSamplerProxy>
450         <hashTree>
451           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
452             <collectionProp name="Asserion.test_strings">
453               <stringProp name="49586">200</stringProp>
454             </collectionProp>
455             <stringProp name="Assertion.custom_message"></stringProp>
456             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
457             <boolProp name="Assertion.assume_success">false</boolProp>
458             <intProp name="Assertion.test_type">1</intProp>
459           </ResponseAssertion>
460           <hashTree/>
461           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
462             <stringProp name="scriptLanguage">groovy</stringProp>
463             <stringProp name="parameters"></stringProp>
464             <stringProp name="filename"></stringProp>
465             <stringProp name="cacheKey">true</stringProp>
466             <stringProp name="script">import groovy.json.JsonSlurper;
467 def res = [];
468 if (prev.getResponseCode() == &apos;200&apos;) {
469     def jsonSlurper = new JsonSlurper();
470     res = jsonSlurper.parseText(prev.getResponseDataAsString());
471
472     assert res instanceof Map;
473     assert res.groups.size &gt;= 2;
474     assert res.groups[0].pdpGroupState== &apos;ACTIVE&apos;;
475     assert res.groups[1].pdpGroupState== &apos;ACTIVE&apos;;
476 }
477 </stringProp>
478           </JSR223Assertion>
479           <hashTree/>
480         </hashTree>
481         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Deploy Policy" enabled="true">
482           <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
483           <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
484             <collectionProp name="Arguments.arguments">
485               <elementProp name="" elementType="HTTPArgument">
486                 <boolProp name="HTTPArgument.always_encode">false</boolProp>
487                 <stringProp name="Argument.value">{&#xd;
488   &quot;policies&quot; : [&#xd;
489     {&#xd;
490       &quot;policy-id&quot;: &quot;operational.modifyconfig${threadCount}&quot;,&#xd;
491       &quot;policy-version&quot;: &quot;1.0.0&quot;&#xd;
492     }&#xd;
493     ]&#xd;
494 }</stringProp>
495                 <stringProp name="Argument.metadata">=</stringProp>
496               </elementProp>
497             </collectionProp>
498           </elementProp>
499           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
500           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
501           <stringProp name="HTTPSampler.protocol">http</stringProp>
502           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
503           <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/policies</stringProp>
504           <stringProp name="HTTPSampler.method">POST</stringProp>
505           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
506           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
507           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
508           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
509           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
510           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
511           <stringProp name="HTTPSampler.response_timeout"></stringProp>
512         </HTTPSamplerProxy>
513         <hashTree>
514           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
515             <collectionProp name="Asserion.test_strings">
516               <stringProp name="49588">202</stringProp>
517             </collectionProp>
518             <stringProp name="Assertion.custom_message"></stringProp>
519             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
520             <boolProp name="Assertion.assume_success">false</boolProp>
521             <intProp name="Assertion.test_type">1</intProp>
522           </ResponseAssertion>
523           <hashTree/>
524           <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
525             <stringProp name="ConstantTimer.delay">5000</stringProp>
526           </ConstantTimer>
527           <hashTree/>
528         </hashTree>
529         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check status of policy" enabled="true">
530           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
531             <collectionProp name="Arguments.arguments"/>
532           </elementProp>
533           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
534           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
535           <stringProp name="HTTPSampler.protocol">http</stringProp>
536           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
537           <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status/defaultGroup/operational.modifyconfig${threadCount}/1.0.0</stringProp>
538           <stringProp name="HTTPSampler.method">GET</stringProp>
539           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
540           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
541           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
542           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
543           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
544           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
545           <stringProp name="HTTPSampler.response_timeout"></stringProp>
546           <stringProp name="TestPlan.comments">Query policies status for defaultGroup</stringProp>
547         </HTTPSamplerProxy>
548         <hashTree>
549           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
550             <collectionProp name="Asserion.test_strings">
551               <stringProp name="49586">200</stringProp>
552             </collectionProp>
553             <stringProp name="Assertion.custom_message"></stringProp>
554             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
555             <boolProp name="Assertion.assume_success">false</boolProp>
556             <intProp name="Assertion.test_type">1</intProp>
557           </ResponseAssertion>
558           <hashTree/>
559         </hashTree>
560         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check status of PdpGroups" enabled="true">
561           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
562             <collectionProp name="Arguments.arguments"/>
563           </elementProp>
564           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
565           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
566           <stringProp name="HTTPSampler.protocol">http</stringProp>
567           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
568           <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/status</stringProp>
569           <stringProp name="HTTPSampler.method">GET</stringProp>
570           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
571           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
572           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
573           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
574           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
575           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
576           <stringProp name="HTTPSampler.response_timeout"></stringProp>
577           <stringProp name="TestPlan.comments">Query policies status</stringProp>
578         </HTTPSamplerProxy>
579         <hashTree>
580           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
581             <collectionProp name="Asserion.test_strings">
582               <stringProp name="49586">200</stringProp>
583             </collectionProp>
584             <stringProp name="Assertion.custom_message"></stringProp>
585             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
586             <boolProp name="Assertion.assume_success">false</boolProp>
587             <intProp name="Assertion.test_type">1</intProp>
588           </ResponseAssertion>
589           <hashTree/>
590         </hashTree>
591         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check PdpGroup Audit defaultGroup" enabled="true">
592           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
593             <collectionProp name="Arguments.arguments"/>
594           </elementProp>
595           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
596           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
597           <stringProp name="HTTPSampler.protocol">http</stringProp>
598           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
599           <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/audit/defaultGroup</stringProp>
600           <stringProp name="HTTPSampler.method">GET</stringProp>
601           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
602           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
603           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
604           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
605           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
606           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
607           <stringProp name="HTTPSampler.response_timeout"></stringProp>
608           <stringProp name="TestPlan.comments">Check PdpGroup Audit</stringProp>
609         </HTTPSamplerProxy>
610         <hashTree>
611           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
612             <collectionProp name="Asserion.test_strings">
613               <stringProp name="49586">200</stringProp>
614             </collectionProp>
615             <stringProp name="Assertion.custom_message"></stringProp>
616             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
617             <boolProp name="Assertion.assume_success">false</boolProp>
618             <intProp name="Assertion.test_type">1</intProp>
619           </ResponseAssertion>
620           <hashTree/>
621         </hashTree>
622         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check PdpGroup Audit Policy (defaultGroup)" enabled="true">
623           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
624             <collectionProp name="Arguments.arguments"/>
625           </elementProp>
626           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
627           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
628           <stringProp name="HTTPSampler.protocol">http</stringProp>
629           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
630           <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/audit/defaultGroup/operational.modifyconfig${threadCount}/1.0.0</stringProp>
631           <stringProp name="HTTPSampler.method">GET</stringProp>
632           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
633           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
634           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
635           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
636           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
637           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
638           <stringProp name="HTTPSampler.response_timeout"></stringProp>
639           <stringProp name="TestPlan.comments">Check PdpGroup Audit</stringProp>
640         </HTTPSamplerProxy>
641         <hashTree>
642           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
643             <collectionProp name="Asserion.test_strings">
644               <stringProp name="49586">200</stringProp>
645             </collectionProp>
646             <stringProp name="Assertion.custom_message"></stringProp>
647             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
648             <boolProp name="Assertion.assume_success">false</boolProp>
649             <intProp name="Assertion.test_type">1</intProp>
650           </ResponseAssertion>
651           <hashTree/>
652         </hashTree>
653         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check PdpGroup Query" enabled="true">
654           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
655             <collectionProp name="Arguments.arguments"/>
656           </elementProp>
657           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
658           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
659           <stringProp name="HTTPSampler.protocol">http</stringProp>
660           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
661           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps</stringProp>
662           <stringProp name="HTTPSampler.method">GET</stringProp>
663           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
664           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
665           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
666           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
667           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
668           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
669           <stringProp name="HTTPSampler.response_timeout"></stringProp>
670           <stringProp name="TestPlan.comments">Check PdpGroup Query</stringProp>
671         </HTTPSamplerProxy>
672         <hashTree>
673           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
674             <collectionProp name="Asserion.test_strings">
675               <stringProp name="49586">200</stringProp>
676             </collectionProp>
677             <stringProp name="Assertion.custom_message"></stringProp>
678             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
679             <boolProp name="Assertion.assume_success">false</boolProp>
680             <intProp name="Assertion.test_type">1</intProp>
681           </ResponseAssertion>
682           <hashTree/>
683           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
684             <stringProp name="scriptLanguage">groovy</stringProp>
685             <stringProp name="parameters"></stringProp>
686             <stringProp name="filename"></stringProp>
687             <stringProp name="cacheKey">true</stringProp>
688             <stringProp name="script">import groovy.json.JsonSlurper;
689
690 def res = [];
691 if (prev.getResponseCode() == &apos;200&apos;) {
692     def jsonSlurper = new JsonSlurper();
693     res = jsonSlurper.parseText(prev.getResponseDataAsString());
694
695     assert res instanceof Map;
696     assert res.groups.size &gt;= 2;
697
698     for(int groupSize=0;groupSize&lt;res.groups.size;groupSize++){
699
700          for(int subGrpSize=0;subGrpSize&lt;res.groups[groupSize].pdpSubgroups.size;subGrpSize++){
701                 
702                         def pdpSubGrp=res.groups[groupSize].pdpSubgroups[subGrpSize];
703                         if(pdpSubGrp.pdpType ==&apos;drools&apos;){
704                                 assert pdpSubGrp.pdpInstances.size == 1;
705                                 if (res.groups[groupSize].name == &apos;defaultGroup&apos;) {
706                                              assert pdpSubGrp.policies.size &gt;= 1;
707                                 }
708                              else if(res.groups[groupSize].name == &apos;sampleGroup&apos; ){
709                                 assert pdpSubGrp.policies.size == 0;
710                                 //assert pdpSubGrp.policies[0].name == &apos;operational.apex.stabilityTestDefaultDomain&apos;;
711                              }
712                         }
713                 
714          }
715     }
716 }
717 </stringProp>
718           </JSR223Assertion>
719           <hashTree/>
720         </hashTree>
721         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Consolidated Health" enabled="true">
722           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
723             <collectionProp name="Arguments.arguments"/>
724           </elementProp>
725           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
726           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
727           <stringProp name="HTTPSampler.protocol">http</stringProp>
728           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
729           <stringProp name="HTTPSampler.path">/policy/pap/v1/components/healthcheck</stringProp>
730           <stringProp name="HTTPSampler.method">GET</stringProp>
731           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
732           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
733           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
734           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
735           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
736           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
737           <stringProp name="HTTPSampler.response_timeout"></stringProp>
738           <stringProp name="TestPlan.comments">Consolidated Health Check</stringProp>
739         </HTTPSamplerProxy>
740         <hashTree>
741           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
742             <collectionProp name="Asserion.test_strings">
743               <stringProp name="49586">200</stringProp>
744             </collectionProp>
745             <stringProp name="Assertion.custom_message"></stringProp>
746             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
747             <boolProp name="Assertion.assume_success">false</boolProp>
748             <intProp name="Assertion.test_type">1</intProp>
749           </ResponseAssertion>
750           <hashTree/>
751           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
752             <stringProp name="scriptLanguage">groovy</stringProp>
753             <stringProp name="parameters"></stringProp>
754             <stringProp name="filename"></stringProp>
755             <stringProp name="cacheKey">true</stringProp>
756             <stringProp name="script">import groovy.json.JsonSlurper;
757
758 def res = [];
759 if (prev.getResponseCode() == &apos;200&apos;) {
760     def jsonSlurper = new JsonSlurper();
761     res = jsonSlurper.parseText(prev.getResponseDataAsString());
762     assert res instanceof Map;
763     //assert res.pdps.xacml!=null;
764     //assert res.pdps.drools!=null;
765     assert res.pdps.apex!=null;
766 }
767 </stringProp>
768           </JSR223Assertion>
769           <hashTree/>
770         </hashTree>
771         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check Deployed Policies" enabled="true">
772           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
773             <collectionProp name="Arguments.arguments"/>
774           </elementProp>
775           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
776           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
777           <stringProp name="HTTPSampler.protocol">http</stringProp>
778           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
779           <stringProp name="HTTPSampler.path">/policy/pap/v1/policies/deployed</stringProp>
780           <stringProp name="HTTPSampler.method">GET</stringProp>
781           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
782           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
783           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
784           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
785           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
786           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
787           <stringProp name="HTTPSampler.response_timeout"></stringProp>
788           <stringProp name="TestPlan.comments">Query Deployed policies</stringProp>
789         </HTTPSamplerProxy>
790         <hashTree>
791           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
792             <collectionProp name="Asserion.test_strings">
793               <stringProp name="49586">200</stringProp>
794             </collectionProp>
795             <stringProp name="Assertion.custom_message"></stringProp>
796             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
797             <boolProp name="Assertion.assume_success">false</boolProp>
798             <intProp name="Assertion.test_type">1</intProp>
799           </ResponseAssertion>
800           <hashTree/>
801           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
802             <stringProp name="scriptLanguage">groovy</stringProp>
803             <stringProp name="parameters"></stringProp>
804             <stringProp name="filename"></stringProp>
805             <stringProp name="cacheKey">true</stringProp>
806             <stringProp name="script">import groovy.json.JsonSlurper;
807
808 def res = [];
809 if (prev.getResponseCode() == &apos;200&apos;) {
810     def jsonSlurper = new JsonSlurper();
811     res = jsonSlurper.parseText(prev.getResponseDataAsString());
812    assert res.size &gt;1 ;
813
814 }
815 </stringProp>
816           </JSR223Assertion>
817           <hashTree/>
818         </hashTree>
819         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Undeploy Policy" enabled="true">
820           <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
821           <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
822             <collectionProp name="Arguments.arguments">
823               <elementProp name="" elementType="HTTPArgument">
824                 <boolProp name="HTTPArgument.always_encode">false</boolProp>
825                 <stringProp name="Argument.value">{&#xd;
826     &quot;groups&quot;: [&#xd;
827         {&#xd;
828             &quot;name&quot;: &quot;defaultGroup&quot;,&#xd;
829             &quot;deploymentSubgroups&quot;: [&#xd;
830                 {&#xd;
831                     &quot;pdpType&quot;: &quot;drools&quot;,&#xd;
832                     &quot;action&quot;: &quot;DELETE&quot;,&#xd;
833                     &quot;policies&quot;: [&#xd;
834                         {&#xd;
835                             &quot;name&quot;: &quot;operational.modifyconfig${threadCount}&quot;,&#xd;
836                             &quot;version&quot;: &quot;1.0.0&quot;&#xd;
837                         }&#xd;
838                     ]&#xd;
839                 }&#xd;
840             ]&#xd;
841         }&#xd;
842     ]&#xd;
843 }</stringProp>
844                 <stringProp name="Argument.metadata">=</stringProp>
845               </elementProp>
846             </collectionProp>
847           </elementProp>
848           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
849           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
850           <stringProp name="HTTPSampler.protocol">http</stringProp>
851           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
852           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/deployments/batch</stringProp>
853           <stringProp name="HTTPSampler.method">POST</stringProp>
854           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
855           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
856           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
857           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
858           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
859           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
860           <stringProp name="HTTPSampler.response_timeout"></stringProp>
861         </HTTPSamplerProxy>
862         <hashTree>
863           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
864             <collectionProp name="Asserion.test_strings">
865               <stringProp name="49588">202</stringProp>
866             </collectionProp>
867             <stringProp name="Assertion.custom_message"></stringProp>
868             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
869             <boolProp name="Assertion.assume_success">false</boolProp>
870             <intProp name="Assertion.test_type">1</intProp>
871           </ResponseAssertion>
872           <hashTree/>
873         </hashTree>
874         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change sampleGroup State to PASSIVE" enabled="true">
875           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
876             <collectionProp name="Arguments.arguments"/>
877           </elementProp>
878           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
879           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
880           <stringProp name="HTTPSampler.protocol">http</stringProp>
881           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
882           <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/groups/sampleGroup${threadCount}?state=PASSIVE</stringProp>
883           <stringProp name="HTTPSampler.method">PUT</stringProp>
884           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
885           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
886           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
887           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
888           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
889           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
890           <stringProp name="HTTPSampler.response_timeout"></stringProp>
891         </HTTPSamplerProxy>
892         <hashTree>
893           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
894             <collectionProp name="Asserion.test_strings">
895               <stringProp name="49586">200</stringProp>
896             </collectionProp>
897             <stringProp name="Assertion.custom_message"></stringProp>
898             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
899             <boolProp name="Assertion.assume_success">false</boolProp>
900             <intProp name="Assertion.test_type">1</intProp>
901           </ResponseAssertion>
902           <hashTree/>
903         </hashTree>
904         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete PdpGroup SampleGroup" enabled="true">
905           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
906             <collectionProp name="Arguments.arguments"/>
907           </elementProp>
908           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
909           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
910           <stringProp name="HTTPSampler.protocol">http</stringProp>
911           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
912           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps/groups/sampleGroup${threadCount}</stringProp>
913           <stringProp name="HTTPSampler.method">DELETE</stringProp>
914           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
915           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
916           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
917           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
918           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
919           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
920           <stringProp name="HTTPSampler.response_timeout"></stringProp>
921           <stringProp name="TestPlan.comments">Delete PdpGroup </stringProp>
922         </HTTPSamplerProxy>
923         <hashTree>
924           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
925             <collectionProp name="Asserion.test_strings">
926               <stringProp name="49586">200</stringProp>
927             </collectionProp>
928             <stringProp name="Assertion.custom_message"></stringProp>
929             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
930             <boolProp name="Assertion.assume_success">false</boolProp>
931             <intProp name="Assertion.test_type">1</intProp>
932           </ResponseAssertion>
933           <hashTree/>
934         </hashTree>
935         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Check PdpGroup Query" enabled="true">
936           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
937             <collectionProp name="Arguments.arguments"/>
938           </elementProp>
939           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
940           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
941           <stringProp name="HTTPSampler.protocol">http</stringProp>
942           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
943           <stringProp name="HTTPSampler.path">/policy/pap/v1/pdps</stringProp>
944           <stringProp name="HTTPSampler.method">GET</stringProp>
945           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
946           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
947           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
948           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
949           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
950           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
951           <stringProp name="HTTPSampler.response_timeout"></stringProp>
952           <stringProp name="TestPlan.comments">Check PdpGroup Query</stringProp>
953         </HTTPSamplerProxy>
954         <hashTree>
955           <SyncTimer guiclass="TestBeanGUI" testclass="SyncTimer" testname="Synchronizing Timer" enabled="true">
956             <intProp name="groupSize">0</intProp>
957             <longProp name="timeoutInMs">30000</longProp>
958           </SyncTimer>
959           <hashTree/>
960           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
961             <collectionProp name="Asserion.test_strings">
962               <stringProp name="49586">200</stringProp>
963             </collectionProp>
964             <stringProp name="Assertion.custom_message"></stringProp>
965             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
966             <boolProp name="Assertion.assume_success">false</boolProp>
967             <intProp name="Assertion.test_type">1</intProp>
968           </ResponseAssertion>
969           <hashTree/>
970           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
971             <stringProp name="scriptLanguage">groovy</stringProp>
972             <stringProp name="parameters"></stringProp>
973             <stringProp name="filename"></stringProp>
974             <stringProp name="cacheKey">true</stringProp>
975             <stringProp name="script">import groovy.json.JsonSlurper;
976
977 def res = [];
978 if (prev.getResponseCode() == &apos;200&apos;) {
979     def jsonSlurper = new JsonSlurper();
980     res = jsonSlurper.parseText(prev.getResponseDataAsString());
981
982     assert res instanceof Map;
983     assert res.groups.size == 1;
984
985          for(int subGrpSize=0;subGrpSize&lt;res.groups[0].pdpSubgroups.size;subGrpSize++){
986                 
987                         def pdpSubGrp=res.groups[0].pdpSubgroups[subGrpSize];
988                         if(pdpSubGrp.pdpType ==&apos;drools&apos;){
989                                 assert pdpSubGrp.pdpInstances.size == 1;
990                                 assert pdpSubGrp.policies.size == 0;
991                         }
992                 
993          }
994
995 }
996 </stringProp>
997           </JSR223Assertion>
998           <hashTree/>
999         </hashTree>
1000         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="PAP Metrics after deployments" enabled="true">
1001           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
1002             <collectionProp name="Arguments.arguments"/>
1003           </elementProp>
1004           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
1005           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
1006           <stringProp name="HTTPSampler.protocol">http</stringProp>
1007           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
1008           <stringProp name="HTTPSampler.path">/policy/pap/v1/metrics</stringProp>
1009           <stringProp name="HTTPSampler.method">GET</stringProp>
1010           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
1011           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
1012           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
1013           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
1014           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
1015           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
1016           <stringProp name="HTTPSampler.response_timeout"></stringProp>
1017           <stringProp name="TestPlan.comments">PAP Metrics after deployments</stringProp>
1018         </HTTPSamplerProxy>
1019         <hashTree>
1020           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
1021             <collectionProp name="Asserion.test_strings">
1022               <stringProp name="49586">200</stringProp>
1023             </collectionProp>
1024             <stringProp name="Assertion.custom_message"></stringProp>
1025             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
1026             <boolProp name="Assertion.assume_success">false</boolProp>
1027             <intProp name="Assertion.test_type">1</intProp>
1028           </ResponseAssertion>
1029           <hashTree/>
1030           <JSR223Assertion guiclass="TestBeanGUI" testclass="JSR223Assertion" testname="JSR223 Assertion" enabled="true">
1031             <stringProp name="scriptLanguage">groovy</stringProp>
1032             <stringProp name="parameters"></stringProp>
1033             <stringProp name="filename"></stringProp>
1034             <stringProp name="cacheKey">true</stringProp>
1035             <stringProp name="script">
1036 if (prev.getResponseCode() == &apos;200&apos;) {
1037     def res = prev.getResponseDataAsString();
1038     assert res.contains(&apos;http_server_requests_seconds_count{exception=&quot;None&quot;,method=&quot;GET&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;200&quot;,uri=&quot;/policy/pap/v1/healthcheck&quot;,}&apos;);
1039
1040     def newSimpleDeployAPICount =  &apos;0&apos;;
1041     if (res.contains(&apos;http_server_requests_seconds_count{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;/policy/pap/v1/pdps/policies&quot;,} &apos;)) {
1042         newSimpleDeployAPICount = (res =~ /http_server_requests_seconds_count\{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;\/policy\/pap\/v1\/pdps\/policies&quot;,\} ([0-9]+)?([.]*[0-9]*)?/)[0][1]
1043     }
1044
1045     def newBatchDeploymentAPICount =  &apos;0&apos;;
1046     if (res.contains(&apos;http_server_requests_seconds_count{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;/policy/pap/v1/pdps/deployments/batch&quot;,} &apos;)) {
1047         newBatchDeploymentAPICount = (res =~ /http_server_requests_seconds_count\{exception=&quot;None&quot;,method=&quot;POST&quot;,outcome=&quot;SUCCESS&quot;,status=&quot;202&quot;,uri=&quot;\/policy\/pap\/v1\/pdps\/deployments\/batch&quot;,\} ([0-9]+)?([.]*[0-9]*)?/)[0][1]
1048     }
1049
1050     assert Long.valueOf(vars.get(&quot;simpleDeployAPICount&quot;)) &lt; Long.valueOf(newSimpleDeployAPICount);
1051     assert Long.valueOf(vars.get(&quot;batchDeploymentAPICount&quot;)) &lt; Long.valueOf(newBatchDeploymentAPICount);
1052     
1053 }</stringProp>
1054           </JSR223Assertion>
1055           <hashTree/>
1056         </hashTree>
1057       </hashTree>
1058       <PostThreadGroup guiclass="PostThreadGroupGui" testclass="PostThreadGroup" testname="tearDown Thread Group" enabled="true">
1059         <stringProp name="ThreadGroup.on_sample_error">stoptest</stringProp>
1060         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
1061           <boolProp name="LoopController.continue_forever">false</boolProp>
1062           <stringProp name="LoopController.loops">1</stringProp>
1063         </elementProp>
1064         <stringProp name="ThreadGroup.num_threads">${USERS}</stringProp>
1065         <stringProp name="ThreadGroup.ramp_time">1</stringProp>
1066         <boolProp name="ThreadGroup.scheduler">false</boolProp>
1067         <stringProp name="ThreadGroup.duration"></stringProp>
1068         <stringProp name="ThreadGroup.delay"></stringProp>
1069         <boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
1070       </PostThreadGroup>
1071       <hashTree>
1072         <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
1073           <stringProp name="CounterConfig.start">1</stringProp>
1074           <stringProp name="CounterConfig.end"></stringProp>
1075           <stringProp name="CounterConfig.incr">1</stringProp>
1076           <stringProp name="CounterConfig.name">threadCount</stringProp>
1077           <stringProp name="CounterConfig.format"></stringProp>
1078           <boolProp name="CounterConfig.per_user">false</boolProp>
1079         </CounterConfig>
1080         <hashTree/>
1081         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Change defaultGroup State to PASSIVE" enabled="true">
1082           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
1083             <collectionProp name="Arguments.arguments"/>
1084           </elementProp>
1085           <stringProp name="HTTPSampler.domain">${PAP_HOST}</stringProp>
1086           <stringProp name="HTTPSampler.port">${PAP_PORT}</stringProp>
1087           <stringProp name="HTTPSampler.protocol">http</stringProp>
1088           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
1089           <stringProp name="HTTPSampler.path">policy/pap/v1/pdps/groups/defaultGroup?state=PASSIVE</stringProp>
1090           <stringProp name="HTTPSampler.method">PUT</stringProp>
1091           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
1092           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
1093           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
1094           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
1095           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
1096           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
1097           <stringProp name="HTTPSampler.response_timeout"></stringProp>
1098         </HTTPSamplerProxy>
1099         <hashTree>
1100           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
1101             <collectionProp name="Asserion.test_strings">
1102               <stringProp name="49586">200</stringProp>
1103             </collectionProp>
1104             <stringProp name="Assertion.custom_message"></stringProp>
1105             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
1106             <boolProp name="Assertion.assume_success">false</boolProp>
1107             <intProp name="Assertion.test_type">1</intProp>
1108           </ResponseAssertion>
1109           <hashTree/>
1110         </hashTree>
1111         <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="Delete Policy" enabled="true">
1112           <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
1113             <collectionProp name="Arguments.arguments"/>
1114           </elementProp>
1115           <stringProp name="HTTPSampler.domain">${API_HOST}</stringProp>
1116           <stringProp name="HTTPSampler.port">${API_PORT}</stringProp>
1117           <stringProp name="HTTPSampler.protocol">http</stringProp>
1118           <stringProp name="HTTPSampler.contentEncoding"></stringProp>
1119           <stringProp name="HTTPSampler.path">/policy/api/v1/policies/operational.modifyconfig${threadCount}/versions/1.0.0</stringProp>
1120           <stringProp name="HTTPSampler.method">DELETE</stringProp>
1121           <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
1122           <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
1123           <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
1124           <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
1125           <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
1126           <stringProp name="HTTPSampler.connect_timeout"></stringProp>
1127           <stringProp name="HTTPSampler.response_timeout"></stringProp>
1128         </HTTPSamplerProxy>
1129         <hashTree>
1130           <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="Response Assertion" enabled="true">
1131             <collectionProp name="Asserion.test_strings">
1132               <stringProp name="49586">200</stringProp>
1133             </collectionProp>
1134             <stringProp name="Assertion.custom_message"></stringProp>
1135             <stringProp name="Assertion.test_field">Assertion.response_code</stringProp>
1136             <boolProp name="Assertion.assume_success">false</boolProp>
1137             <intProp name="Assertion.test_type">1</intProp>
1138           </ResponseAssertion>
1139           <hashTree/>
1140         </hashTree>
1141       </hashTree>
1142       <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
1143         <boolProp name="ResultCollector.error_logging">false</boolProp>
1144         <objProp>
1145           <name>saveConfig</name>
1146           <value class="SampleSaveConfiguration">
1147             <time>true</time>
1148             <latency>true</latency>
1149             <timestamp>true</timestamp>
1150             <success>true</success>
1151             <label>true</label>
1152             <code>true</code>
1153             <message>true</message>
1154             <threadName>true</threadName>
1155             <dataType>true</dataType>
1156             <encoding>false</encoding>
1157             <assertions>true</assertions>
1158             <subresults>true</subresults>
1159             <responseData>false</responseData>
1160             <samplerData>false</samplerData>
1161             <xml>false</xml>
1162             <fieldNames>true</fieldNames>
1163             <responseHeaders>false</responseHeaders>
1164             <requestHeaders>false</requestHeaders>
1165             <responseDataOnError>false</responseDataOnError>
1166             <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
1167             <assertionsResultsToSave>0</assertionsResultsToSave>
1168             <bytes>true</bytes>
1169             <sentBytes>true</sentBytes>
1170             <url>true</url>
1171             <threadCounts>true</threadCounts>
1172             <idleTime>true</idleTime>
1173             <connectTime>true</connectTime>
1174           </value>
1175         </objProp>
1176         <stringProp name="filename">/home/ramesh/s3pTestResults.jtl</stringProp>
1177       </ResultCollector>
1178       <hashTree/>
1179       <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
1180         <boolProp name="ResultCollector.error_logging">false</boolProp>
1181         <objProp>
1182           <name>saveConfig</name>
1183           <value class="SampleSaveConfiguration">
1184             <time>true</time>
1185             <latency>true</latency>
1186             <timestamp>true</timestamp>
1187             <success>true</success>
1188             <label>true</label>
1189             <code>true</code>
1190             <message>true</message>
1191             <threadName>true</threadName>
1192             <dataType>true</dataType>
1193             <encoding>false</encoding>
1194             <assertions>true</assertions>
1195             <subresults>true</subresults>
1196             <responseData>false</responseData>
1197             <samplerData>false</samplerData>
1198             <xml>false</xml>
1199             <fieldNames>true</fieldNames>
1200             <responseHeaders>false</responseHeaders>
1201             <requestHeaders>false</requestHeaders>
1202             <responseDataOnError>false</responseDataOnError>
1203             <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
1204             <assertionsResultsToSave>0</assertionsResultsToSave>
1205             <bytes>true</bytes>
1206             <sentBytes>true</sentBytes>
1207             <url>true</url>
1208             <threadCounts>true</threadCounts>
1209             <idleTime>true</idleTime>
1210             <connectTime>true</connectTime>
1211           </value>
1212         </objProp>
1213         <stringProp name="filename">/home/ramesh/s3pTestResults.jtl</stringProp>
1214       </ResultCollector>
1215       <hashTree/>
1216       <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
1217         <boolProp name="ResultCollector.error_logging">false</boolProp>
1218         <objProp>
1219           <name>saveConfig</name>
1220           <value class="SampleSaveConfiguration">
1221             <time>true</time>
1222             <latency>true</latency>
1223             <timestamp>true</timestamp>
1224             <success>true</success>
1225             <label>true</label>
1226             <code>true</code>
1227             <message>true</message>
1228             <threadName>true</threadName>
1229             <dataType>true</dataType>
1230             <encoding>false</encoding>
1231             <assertions>true</assertions>
1232             <subresults>true</subresults>
1233             <responseData>false</responseData>
1234             <samplerData>false</samplerData>
1235             <xml>false</xml>
1236             <fieldNames>true</fieldNames>
1237             <responseHeaders>false</responseHeaders>
1238             <requestHeaders>false</requestHeaders>
1239             <responseDataOnError>false</responseDataOnError>
1240             <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
1241             <assertionsResultsToSave>0</assertionsResultsToSave>
1242             <bytes>true</bytes>
1243             <sentBytes>true</sentBytes>
1244             <url>true</url>
1245             <threadCounts>true</threadCounts>
1246             <idleTime>true</idleTime>
1247             <connectTime>true</connectTime>
1248           </value>
1249         </objProp>
1250         <stringProp name="filename">/home/asreekumar/s3p/resultTable.log</stringProp>
1251       </ResultCollector>
1252       <hashTree/>
1253     </hashTree>
1254   </hashTree>
1255 </jmeterTestPlan>