directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From smckin...@apache.org
Subject [directory-fortress-core] branch master updated: Expand the tests, assign role, check permission.
Date Sun, 25 Oct 2020 14:22:09 GMT
This is an automated email from the ASF dual-hosted git repository.

smckinney pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-fortress-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 9d3eb35  Expand the tests, assign role, check permission.
9d3eb35 is described below

commit 9d3eb35a50ad4a9ea8af2fb2097b8ed32e698800
Author: Shawn McKinney <smckinney@symas.com>
AuthorDate: Sun Oct 25 09:22:03 2020 -0500

    Expand the tests, assign role, check permission.
---
 README-LOAD-TESTING.md                             | 190 +++++++++++++++++++++
 README.md                                          |  43 +----
 ldap/setup/JmeterTestPolicy.xml                    | 106 ++++++++++++
 pom.xml                                            |   3 +
 .../directory/fortress/core/jmeter/AddUser.java    |  12 ++
 .../directory/fortress/core/jmeter/CheckUser.java  |  27 +++
 .../directory/fortress/core/jmeter/UserBase.java   |  12 ++
 src/test/jmeter/ftAddUser.jmx                      |  10 +-
 src/test/jmeter/ftCheckUser.jmx                    |   8 +-
 9 files changed, 367 insertions(+), 44 deletions(-)

diff --git a/README-LOAD-TESTING.md b/README-LOAD-TESTING.md
new file mode 100644
index 0000000..283fe63
--- /dev/null
+++ b/README-LOAD-TESTING.md
@@ -0,0 +1,190 @@
+
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF 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.
+
+# README-LOAD-TESTING
+
+Contains instructions to load test Apache Fortress using maven jmeter plugin.
+
+## Prerequisites
+
+A working Apache Fortress test environment.  Follow the instructions in the README's located
under package root folder.
+___________________________________________________________________________________
+## SECTION 1. Instructions to performance test
+
+ This section describes the Apache Fortress jmeter test programs.
+
+1. Load the security policy and users required by the jmeter test routines:
+
+ ```
+ mvn install -Dload.file=./ldap/setup/JmeterTestPolicy.xml
+ ```
+
+2. The .jmx files located in [.src/test/jmeter](.src/test/jmeter) folder correspond to each
test type:
+
+ A. Add User:
+  [src/test/jmeter/ftAddUser.jmx](src/test/jmeter/ftAddUser.jmx)
+
+ B. Del User:
+  [src/test/jmeter/ftDelUser.jmx](src/test/jmeter/ftDelUser.jmx)
+
+ C. Check User:
+  [src/test/jmeter/ftCheckUser.jmx](src/test/jmeter/ftCheckUser.jmx)
+
+3. Setting the jmeter parameters.
+
+ These settings affect the length, duration, and the number of threads:
+
+ * **LoopController.continue_forever**: boolean value, if *false*, test duration is controlled
by numbers of *loops* and *threads*.
+ * **LoopController.loops**: integer value, contains the number of iterations each thread
performs the test function.
+ * **ThreadGroup.num_threads**: integer value, contains the number of threads to use in the
test.
+ * **ThreadGroup.ramp_time**: integer value, number of seconds for starting threads.  A rule
of thumb, set to same as num_threads.
+
+ For example:
+ ```
+ <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Fortress CreateSession"
enabled="true">
+     ...
+     <elementProp name="ThreadGroup.main_controller" ...>
+         <boolProp name="LoopController.continue_forever">false</boolProp>
+         <stringProp name="LoopController.loops">1000</stringProp>
+     </elementProp>
+     <stringProp name="ThreadGroup.num_threads">10</stringProp>
+     <stringProp name="ThreadGroup.ramp_time">10</stringProp>
+     ...
+ </ThreadGroup>
+ ```
+
+ This test will start ten threads in ten seconds.  Each thread executes the *createSession*
function 1000 times before terminating.
+
+4.  Run the tests.
+
+ From **FORTRESS_HOME** folder, enter the following command from a system prompt:
+
+ A. Add Users:
+ 
+ Will add user entry.  Optionally will perform an update and/or role assignment.
+ 
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsleep=30 -Dupdate=true
-Dou=loadtestu -Drole=jmeterrole
+  ```
+
+  This test adds users.  It uses runtime arguments to define behavior:
+   * hostname=foo     <-- optional field useful for distributing the load across servers
in a multi-master env, it will override what's in fortress.properties 
+   * qualifier=A1     <-- this is used to construct userid: hostname + qualifier + counter

+   * verify=true      <-- will read after operation to verify success 
+   * update=true      <-- will edit user's description if set to true 
+   * sleep=30         <-- sleep this many millisecones after each op 
+   * ou=loadtestu     <-- this is a required attribute on user entry and must exist in
user ou tree prior to test 
+   * role=jmeterrole  <-- this is an optional attribute on user entry 
+     
+  * All but hostname may also be set as properties in [add config](src/test/jmeter/ftAddUser.jmx)
or [del config](src/test/jmeter/ftDelUser.jmx) files.
+     
+ B. Delete Users:
+ 
+  ```
+  mvn -Ploadtest-fortress-deluser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsleep=30
+  ```
+
+  * Same properties as add except for 'ou', which is not used for delete ops
+
+ C. Check Users:
+ 
+ Will perform a createSession.  Optionally reads the entry and/or permission checks.
+ 
+  ```
+  mvn -Ploadtest-fortress-checkuser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsize=20
-Dperm=jmeterobject.oper
+  ```
+
+  This test performs createSession on users.  It uses runtime arguments to define behavior:
+   * size=20                  <-- defines the number of users in the test set
+   * Dperm=jmeterobject.oper  <-- this is an optional property, will perform permission
checks if set
+
+5. Understanding the tests.
+
+A. Qualifier property.
+
+The add test generates userids based on: hostname + qualifier + counter.  The counter is
global across all threads, so if you enable 20 threads * 100 loops, with a qualifier = 'A1',
2,000 users will be added:
+
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1
+  ```
+
+hostname-A1-1
+hostname-A1-2
+hostname-A1-3
+...
+hostname-A1-1000
+
+If you run the test a second time (before a delete run) there will be duplicates because
it tries to add users with same userids again.  This is the idea of the 'qualifier'.  Change
its value to ensure the uids remain unique across test runs.
+
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A2
+  ```
+
+Or, you can run a delete before the next add:
+
+  ```
+  mvn -Ploadtest-fortress-deluser jmeter:jmeter -Dqualifier=A1
+  ```
+
+Just make sure the thread and loop counts in ftDelUser.jmx are the same as ftAddUser.jmx
+
+B. Verify
+
+If set to true, after every operation, a read of the entry will be performed.
+
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1 -Dverify=true
+  ```
+
+C. Update
+
+If set to true, after every add, an update will be performed on user's description field.
+
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1 -Dupdate=true
+  ```
+
+D. Role
+
+If 'role' set as property, it will be assigned after the user has been added.  The role itself
must already exist before being used in assignment to user.
+
+  ```
+  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1 -Drole=jmeterrole
+  ```
+
+E. Perm
+
+This applies only to the CheckUser test.  If set, it will be used as permission in checkAccess
call 10 times.  For example:
+
+  ```
+  mvn -Ploadtest-fortress-checkuser jmeter:jmeter -Dperm=jmeterobject.oper
+  ```
+
+  Will call checkAccess:
+  
+  obj: jmeterobject op oper1
+  obj: jmeterobject op oper2
+  obj: jmeterobject op oper3
+  ...
+  obj: jmeterobject op oper10
+  
+These assignments must already exist before running this test.  
+
+____________________________________________________________________________________
+ 
+ #### END OF README
diff --git a/README.md b/README.md
index 77d44b2..98c7926 100644
--- a/README.md
+++ b/README.md
@@ -774,15 +774,6 @@ ________________________________________________________________________________
  E. Accelerator CreateSession:
   [src/test/jmeter/acCreateSession.jmx](src/test/jmeter/acCreateSession.jmx)
 
- F. Fortress Add User:
-  [src/test/jmeter/ftAddUser.jmx](src/test/jmeter/ftAddUser.jmx)
-
- G. Fortress Del User:
-  [src/test/jmeter/ftDelUser.jmx](src/test/jmeter/ftDelUser.jmx)
-
- H. Fortress Check User:
-  [src/test/jmeter/ftCheckUser.jmx](src/test/jmeter/ftCheckUser.jmx)
-
 3. Setting the jmeter parameters.
 
  These settings affect the length, duration, and the number of threads:
@@ -836,35 +827,5 @@ ________________________________________________________________________________
   ```
   mvn -Ploadtest-accel-createsess jmeter:jmeter
   ```
-
- F. Add Users:
-  ```
-  mvn -Ploadtest-fortress-adduser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsleep=30 -Dou=uou1
-  ```
-
-  This test adds users.  It uses runtime arguments to define behavior:
-   * hostname=foo  <-- optional field useful for distributing the load across servers
in a multi-master env, it will override what's in fortress.properties 
-   * qualifier=A1  <-- this is used to construct userid: hostname + qualifier + counter

-   * verify=true   <-- will read after operation to verify success 
-   * sleep=30      <-- sleep this many millisecones after each op 
-   * ou=uou1       <-- this is a required attribute on user entry and must exist in user
ou tree prior to test 
-     
-  * All but hostname may also be set as properties in [add config](src/test/jmeter/ftAddUser.jmx)
or [del config](src/test/jmeter/ftDelUser.jmx) files.
-     
- G. Delete Users:
-  ```
-  mvn -Ploadtest-fortress-deluser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsleep=30
-  ```
-
-  * Same properties as add except for 'ou', which is not used for delete ops
-
- H. Check Users:
-  ```
-  mvn -Ploadtest-fortress-checkuser jmeter:jmeter -Dqualifier=A1 -Dverify=true -Dsize=20
-  ```
-
-  This test performs createSession on users.  It uses runtime arguments to define behavior:
-   * size=20  <-- defines the number of users in the test set. 
-
- ___________________________________________________________________________________
- #### END OF README
+___________________________________________________________________________________
+#### END OF README
diff --git a/ldap/setup/JmeterTestPolicy.xml b/ldap/setup/JmeterTestPolicy.xml
new file mode 100644
index 0000000..f6fa30c
--- /dev/null
+++ b/ldap/setup/JmeterTestPolicy.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF 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.
+-->
+<project basedir="." default="all" name="Sample Data for Jmeter tests">
+    <taskdef classname="org.apache.directory.fortress.core.ant.FortressAntTask" name="FortressAdmin"
>
+        <classpath path="${java.class.path}"/>
+    </taskdef>
+
+    <target name="all">
+        <FortressAdmin>
+            <delorgunit>
+                <orgunit name="loadtestu" typeName="USER" description="Test User Org for
Load Tests"/>
+                <orgunit name="loadtestp" typeName="PERM" description="Test Perm Org for
Load Tests"/>
+            </delorgunit>
+
+            <addorgunit>
+                <orgunit name="loadtestu" typeName="USER" description="Test User Org for
Load Tests"/>
+                <orgunit name="loadtestp" typeName="PERM" description="Test Perm Org for
Load Tests"/>
+            </addorgunit>
+
+            <delrole>
+                <role name="jmeterrole"/>
+            </delrole>
+
+            <addrole>
+                <role name="jmeterrole" description="Used for Access Management Load Testing"/>
+            </addrole>
+
+            <delpermobj>
+                <permobj objName="jmeterobject"/>
+            </delpermobj>
+
+            <addpermobj>
+                <permobj objName="jmeterobject" description="This object is used for load
testing" ou="loadtestp" type="test"/>
+            </addpermobj>
+
+            <delpermop>
+                <permop opName="oper1"  objName="jmeterobject"/>
+                <permop opName="oper2"  objName="jmeterobject"/>
+                <permop opName="oper3"  objName="jmeterobject"/>
+                <permop opName="oper4"  objName="jmeterobject"/>
+                <permop opName="oper5"  objName="jmeterobject"/>
+                <permop opName="oper6"  objName="jmeterobject"/>
+                <permop opName="oper7"  objName="jmeterobject"/>
+                <permop opName="oper8"  objName="jmeterobject"/>
+                <permop opName="oper9"  objName="jmeterobject"/>
+                <permop opName="oper10" objName="jmeterobject"/>
+            </delpermop>
+
+            <addpermop>
+                <permop opName="oper1"  objName="jmeterobject" type="test"/>
+                <permop opName="oper2"  objName="jmeterobject" type="test"/>
+                <permop opName="oper3"  objName="jmeterobject" type="test"/>
+                <permop opName="oper4"  objName="jmeterobject" type="test"/>
+                <permop opName="oper5"  objName="jmeterobject" type="test"/>
+                <permop opName="oper6"  objName="jmeterobject" type="test"/>
+                <permop opName="oper7"  objName="jmeterobject" type="test"/>
+                <permop opName="oper8"  objName="jmeterobject" type="test"/>
+                <permop opName="oper9"  objName="jmeterobject" type="test"/>
+                <permop opName="oper10" objName="jmeterobject" type="test"/>
+            </addpermop>
+
+            <delpermgrant>
+                <permgrant objName="jmeterobject" opName="oper1"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper2"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper3"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper4"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper5"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper6"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper7"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper8"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper9"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper10" roleNm="jmeterrole"/>
+            </delpermgrant>
+
+            <addpermgrant>
+                <permgrant objName="jmeterobject" opName="oper1"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper2"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper3"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper4"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper5"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper6"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper7"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper8"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper9"  roleNm="jmeterrole"/>
+                <permgrant objName="jmeterobject" opName="oper10" roleNm="jmeterrole"/>
+            </addpermgrant>
+        </FortressAdmin>
+    </target>
+</project>
diff --git a/pom.xml b/pom.xml
index 5a49c23..55a88c7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1226,6 +1226,8 @@
                 <output>${output}</output>
                 <update>${update}</update>
                 <sleep>${sleep}</sleep>
+                <role>${role}</role>
+                <ou>${ou}</ou>
               </propertiesSystem>
             </configuration>
             <executions>
@@ -1332,6 +1334,7 @@
                 <output>${output}</output>
                 <sleep>${sleep}</sleep>
                 <size>${size}</size>
+                <perm>${perm}</perm>
               </propertiesSystem>
             </configuration>
             <executions>
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
index 6d50748..24debbe 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java
@@ -19,6 +19,8 @@
  */
 package org.apache.directory.fortress.core.jmeter;
 
+import jodd.util.StringUtil;
+import org.apache.directory.fortress.core.model.UserRole;
 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.directory.fortress.core.model.User;
@@ -42,6 +44,7 @@ public class AddUser extends UserBase
      */
     public SampleResult runTest( JavaSamplerContext samplerContext )
     {
+        int opCtr = 0;
         String userId  = hostname + '-' + qualifier + '-' + getKey();
         SampleResult sampleResult = new SampleResult();
         try
@@ -54,16 +57,24 @@ public class AddUser extends UserBase
             user.setOu( ou );
             write( "threadid: " + getThreadId() + ", userId: " + userId );
             User outUser = adminMgr.addUser( user );
+            opCtr++;
             assertNotNull( outUser );
             if( update )
             {
                 user.setDescription( "updated: " + user.getUserId() );
                 outUser = adminMgr.updateUser( user );
+                opCtr++;
+            }
+            if(StringUtil.isNotEmpty( role ) )
+            {
+                adminMgr.assignUser( new UserRole( user.getUserId(), role ));
+                opCtr++;
             }
             assertNotNull( outUser );
             if ( verify )
             {
                 assertTrue( verify( userId, Op.ADD ) );
+                opCtr++;
             }
             if( sleep > 0 )
             {
@@ -76,6 +87,7 @@ public class AddUser extends UserBase
                     Thread.currentThread().interrupt();
                 }
             }
+            sampleResult.setSampleCount( opCtr );
             sampleResult.sampleEnd();
             sampleResult.setBytes(1);
             sampleResult.setResponseMessage("test completed TID: " + getThreadId() + " UID:
" + userId);
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
index 1c9c369..2290452 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/CheckUser.java
@@ -19,7 +19,10 @@
  */
 package org.apache.directory.fortress.core.jmeter;
 
+import jodd.util.StringUtil;
+import org.apache.directory.fortress.core.model.Permission;
 import org.apache.directory.fortress.core.model.Session;
+import org.apache.directory.fortress.core.model.UserRole;
 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
 import org.apache.jmeter.samplers.SampleResult;
 import org.apache.directory.fortress.core.model.User;
@@ -43,6 +46,7 @@ public class CheckUser extends UserBase
      */
     public SampleResult runTest( JavaSamplerContext samplerContext )
     {
+        int opCtr = 0;
         String userId  = hostname + '-' + qualifier + '-' + getRandomNumber();
         SampleResult sampleResult = new SampleResult();
         try
@@ -54,12 +58,34 @@ public class CheckUser extends UserBase
             user.setPassword( "secret" );
             write( "threadid: " + getThreadId() + ", userId: " + userId );
             LOG.warn( "CheckUser: " + userId );
+            // This method performs both an ldap bind and a search:
             Session session = accessMgr.createSession( user, false );
+            opCtr++;
             assertNotNull( session );
             if ( verify )
             {
+                // perform an ldap 'read':
                 assertTrue( verify( userId, Op.CHECK ) );
+                opCtr++;
             }
+            if(StringUtil.isNotEmpty( perm ) )
+            {
+                // The perm property format is: object.operation
+                int indx = perm.indexOf('.');
+                if (indx != -1)
+                {
+                    Permission p = new Permission( );
+                    p.setObjName( perm.substring(0, indx) );
+                    for( int i = 1; i < 11; i++ )
+                    {
+                        p.setOpName( perm.substring( indx + 1 ) + i );
+                        // This method performs an ldap 'read':
+                        accessMgr.checkAccess( session, p );
+                        opCtr++;
+                    }
+                }
+            }
+
             if( sleep > 0 )
             {
                 try
@@ -71,6 +97,7 @@ public class CheckUser extends UserBase
                     Thread.currentThread().interrupt();
                 }
             }
+            sampleResult.setSampleCount( opCtr );
             sampleResult.sampleEnd();
             sampleResult.setBytes(1);
             sampleResult.setResponseMessage("test completed TID: " + getThreadId() + " UID:
" + userId);
diff --git a/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java b/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
index 8d96913..3f72ff9 100644
--- a/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
+++ b/src/test/java/org/apache/directory/fortress/core/jmeter/UserBase.java
@@ -58,6 +58,8 @@ public abstract class UserBase extends AbstractJavaSamplerClient
     protected boolean verify = false;
     protected boolean output = false;
     protected boolean update = false;
+    protected String role = null;
+    protected String perm = null;
     protected String ou = null;
     protected int sleep = 0;
     protected int size = 0;
@@ -143,6 +145,16 @@ public abstract class UserBase extends AbstractJavaSamplerClient
         {
             ou = samplerContext.getParameter( "ou" );
         }
+        role = System.getProperty( "role" );
+        if (StringUtils.isEmpty( role ))
+        {
+            role = samplerContext.getParameter( "role" );
+        }
+        perm = System.getProperty( "perm" );
+        if (StringUtils.isEmpty( perm ))
+        {
+            perm = samplerContext.getParameter( "perm" );
+        }
         String szVerify = System.getProperty( "verify" );
         if (StringUtils.isEmpty( szVerify ))
         {
diff --git a/src/test/jmeter/ftAddUser.jmx b/src/test/jmeter/ftAddUser.jmx
index 281aaec..99b1e9e 100644
--- a/src/test/jmeter/ftAddUser.jmx
+++ b/src/test/jmeter/ftAddUser.jmx
@@ -84,8 +84,14 @@
               </elementProp>
               <elementProp name="ou" elementType="Argument">
                 <stringProp name="Argument.name">ou</stringProp>
-                <!-- Use one from OrgUnitExample.xml -->
-                <stringProp name="Argument.value">uou1</stringProp>
+                <!-- Use one from JmeterTestPolicy.xml -->
+                <stringProp name="Argument.value">loadtestu</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
+              <elementProp name="role" elementType="Argument">
+                <stringProp name="Argument.name">role</stringProp>
+                <!-- Use one from JmeterTestPolicy.xml -->
+                <stringProp name="Argument.value">jmeterrole</stringProp>
                 <stringProp name="Argument.metadata">=</stringProp>
               </elementProp>
             </collectionProp>
diff --git a/src/test/jmeter/ftCheckUser.jmx b/src/test/jmeter/ftCheckUser.jmx
index ed43cdc..4abcb5d 100644
--- a/src/test/jmeter/ftCheckUser.jmx
+++ b/src/test/jmeter/ftCheckUser.jmx
@@ -45,7 +45,7 @@
         <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel"
testclass="LoopController" testname="Loop Controller" enabled="true">
           <boolProp name="LoopController.continue_forever">false</boolProp>
 
-          <stringProp name="LoopController.loops">100000</stringProp>
+          <stringProp name="LoopController.loops">1000</stringProp>
         </elementProp>
         <stringProp name="ThreadGroup.num_threads">10</stringProp>
         <stringProp name="ThreadGroup.ramp_time">10</stringProp>
@@ -87,6 +87,12 @@
                 <stringProp name="Argument.value">20</stringProp>
                 <stringProp name="Argument.metadata">=</stringProp>
               </elementProp>
+              <elementProp name="perm" elementType="Argument">
+                <stringProp name="Argument.name">perm</stringProp>
+                <!-- Use one from JmeterTestPolicy.xml -->
+                <stringProp name="Argument.value">jmeterobject.oper</stringProp>
+                <stringProp name="Argument.metadata">=</stringProp>
+              </elementProp>
             </collectionProp>
           </elementProp>
           <stringProp name="classname">org.apache.directory.fortress.core.jmeter.CheckUser</stringProp>


Mime
View raw message