From commits-return-51986-archive-asf-public=cust-asf.ponee.io@directory.apache.org Wed Sep 16 15:54:16 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mailroute1-lw-us.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with ESMTPS id F157218066D for ; Wed, 16 Sep 2020 17:54:15 +0200 (CEST) Received: from mail.apache.org (localhost [127.0.0.1]) by mailroute1-lw-us.apache.org (ASF Mail Server at mailroute1-lw-us.apache.org) with SMTP id 2F5C212210C for ; Wed, 16 Sep 2020 15:54:15 +0000 (UTC) Received: (qmail 29573 invoked by uid 500); 16 Sep 2020 15:54:15 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 29557 invoked by uid 99); 16 Sep 2020 15:54:14 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Sep 2020 15:54:14 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id A5E998087C; Wed, 16 Sep 2020 15:54:14 +0000 (UTC) Date: Wed, 16 Sep 2020 15:54:15 +0000 To: "commits@directory.apache.org" Subject: [directory-fortress-core] 01/01: jmeter add user test case MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: smckinney@apache.org In-Reply-To: <160027165451.22615.13512693480343962932@gitbox.apache.org> References: <160027165451.22615.13512693480343962932@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: directory-fortress-core X-Git-Refname: refs/heads/jmeter-add-case X-Git-Reftype: branch X-Git-Rev: 5401fdaa61bebf48b4d36212b26a2b8e9635d268 X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20200916155414.A5E998087C@gitbox.apache.org> This is an automated email from the ASF dual-hosted git repository. smckinney pushed a commit to branch jmeter-add-case in repository https://gitbox.apache.org/repos/asf/directory-fortress-core.git commit 5401fdaa61bebf48b4d36212b26a2b8e9635d268 Author: Shawn McKinney AuthorDate: Wed Sep 16 10:54:07 2020 -0500 jmeter add user test case --- README.md | 7 +- pom.xml | 72 ++++++++++- .../directory/fortress/core/jmeter/AddUser.java | 144 +++++++++++++++++++++ src/test/jmeter/ftAddUser.jmx | 105 +++++++++++++++ 4 files changed, 321 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 1948f6e..9ed3e4d 100644 --- a/README.md +++ b/README.md @@ -830,6 +830,11 @@ ________________________________________________________________________________ mvn -Ploadtest-accel-createsess jmeter:jmeter ``` + F. Add Users: + ``` + mvn -Ploadtest-fortress-adduser jmeter:jmeter + ``` + The tests will run and produce measurements for throughput and latency. ___________________________________________________________________________________ @@ -857,4 +862,4 @@ use the 'encrypt' ant target. ``` ___________________________________________________________________________________ - #### END OF README \ No newline at end of file + #### END OF README diff --git a/pom.xml b/pom.xml index ad3802c..9f9f7af 100644 --- a/pom.xml +++ b/pom.xml @@ -862,7 +862,7 @@ - + loadtest-accel @@ -915,7 +915,7 @@ - + loadtest-fortress @@ -975,7 +975,7 @@ - + loadtest-accel-createsess @@ -1031,7 +1031,7 @@ - + loadtest-fortress-createsess @@ -1092,7 +1092,7 @@ - + loadtest-fortress-sessperms @@ -1152,7 +1152,7 @@ - + loadtest-accel-sessperms @@ -1210,6 +1210,66 @@ + + + + loadtest-fortress-adduser + + + + com.lazerycode.jmeter + jmeter-maven-plugin + 1.10.0 + + DEBUG + false + + ftAddUser.jmx + + + ${project.version} + + + ${tenant} + + + + + jmeter-tests + + jmeter + + + + + + org.apache.logging.log4j + log4j-api + ${version.log4j} + + + org.apache.logging.log4j + log4j-core + ${version.log4j} + + + org.apache.directory.fortress + fortress-core + ${project.version} + + + org.apache.directory.fortress + fortress-core + test-jar + ${project.version} + + + + + + + + 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 new file mode 100644 index 0000000..9bed581 --- /dev/null +++ b/src/test/java/org/apache/directory/fortress/core/jmeter/AddUser.java @@ -0,0 +1,144 @@ +/* + * 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. + * + */ +package org.apache.directory.fortress.core.jmeter; + +import org.apache.commons.lang.StringUtils; +import org.apache.directory.fortress.core.*; +import org.apache.directory.fortress.core.SecurityException; +import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient; +import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext; +import org.apache.jmeter.samplers.SampleResult; +import org.slf4j.LoggerFactory; +import org.apache.directory.fortress.core.AdminMgr; +import org.apache.directory.fortress.core.model.Session; +import org.apache.directory.fortress.core.impl.TestUtils; +import org.apache.directory.fortress.core.model.User; + +import static org.junit.Assert.*; + +/** + * Description of the Class + * + * @author Apache Directory Project + */ +public class AddUser extends AbstractJavaSamplerClient +{ + private AdminMgr adminMgr; + private static final org.slf4j.Logger LOG = LoggerFactory.getLogger( AddUser.class ); + private static int count = 0; + private int key = 0; + private int ctr = 0; + //private String userId = ""; + + /** + * Description of the Method + * + * @param samplerContext Description of the Parameter + * @return Description of the Return Value + */ + public SampleResult runTest( JavaSamplerContext samplerContext ) + { + String userId = ""; + SampleResult sampleResult = new SampleResult(); + try + { + sampleResult.sampleStart(); + String message = "FT AddUser TID: " + getThreadId() + " UID:" + userId + " CTR:" + ctr++; + LOG.info( message ); + //System.out.println( message ); + assertNotNull( adminMgr ); + + key = getKey(); + userId = "loadtestuser" + key; + + Session session; + User user = new User(); + // positive test case: + user.setUserId( userId ); + user.setPassword( "secret" ); + user.setOu( "dev0"); + User outUser = adminMgr.addUser( user ); + assertNotNull( outUser ); + sampleResult.sampleEnd(); + sampleResult.setBytes(1); + sampleResult.setResponseMessage("test completed TID: " + getThreadId() + " UID: " + userId); + sampleResult.setSuccessful(true); + } + catch ( org.apache.directory.fortress.core.SecurityException se ) + { + System.out.println( "ThreadId:" + getThreadId() + "Error running test: " + se ); + se.printStackTrace(); + sampleResult.setSuccessful( false ); + } + + return sampleResult; + } + + /** + * Description of the Method + * + * @param samplerContext Description of the Parameter + */ + public void setupTest( JavaSamplerContext samplerContext ) + { + ctr = 0; + String message = "FT SETUP AdminMgr TID: " + getThreadId(); + LOG.info( message ); + System.out.println( message ); + try + { + adminMgr = AdminMgrFactory.createInstance( TestUtils.getContext() ); + } + catch ( SecurityException se ) + { + System.out.println( "ThreadId:" + getThreadId() + "FT SETUP Error: " + se ); + se.printStackTrace(); + } + } + + /** + * + * @return + */ + synchronized private int getKey( ) + { + return ++count; + } + synchronized private String getKey( long threadId ) + { + return threadId + "-" + count++; + } + private String getThreadId() + { + return "" + Thread.currentThread().getId(); + } + + /** + * Description of the Method + * + * @param samplerContext Description of the Parameter + */ + public void teardownTest( JavaSamplerContext samplerContext ) + { + String message = "FT SETUP CreateSession TID: " + getThreadId(); + LOG.info( message ); + System.out.println( message ); + } +} diff --git a/src/test/jmeter/ftAddUser.jmx b/src/test/jmeter/ftAddUser.jmx new file mode 100644 index 0000000..ef41bdb --- /dev/null +++ b/src/test/jmeter/ftAddUser.jmx @@ -0,0 +1,105 @@ + + + + + + + false + false + + + + ../../../config + + + + , + + AddUser.csv + false + true + shareMode.all + false + + + + + continue + + false + + 10 + + 10 + 10 + false + + + + + + + + + type + 2 + = + + + + org.apache.directory.fortress.core.jmeter.AddUser + + + + false + + saveConfig + + + true + true + true + + true + true + true + true + false + true + true + false + false + true + false + false + false + false + false + 0 + true + + + + + + + + +