You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by ro...@apache.org on 2015/02/17 21:36:16 UTC
[1/2] incubator-usergrid git commit: updated postcustomentitiytest
Repository: incubator-usergrid
Updated Branches:
refs/heads/two-dot-o-import 1385ffe8e -> 5569509ed
updated postcustomentitiytest
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/a8fe482e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/a8fe482e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/a8fe482e
Branch: refs/heads/two-dot-o-import
Commit: a8fe482e944970309ffc0a14a5040a10c0e88bcf
Parents: 0fe3fe8
Author: Rod Simpson <ro...@apigee.com>
Authored: Tue Feb 17 13:35:45 2015 -0700
Committer: Rod Simpson <ro...@apigee.com>
Committed: Tue Feb 17 13:35:45 2015 -0700
----------------------------------------------------------------------
.../datagenerators/EntityDataGenerator.scala | 17 +++++++-----
.../datagenerators/FeederGenerator.scala | 24 ++++++++++++++++-
.../usergrid/scenarios/EntityScenarios.scala | 20 +++++++++-----
.../org/apache/usergrid/settings/Settings.scala | 2 ++
.../PostCustomEntitySimulation.scala | 28 ++++++++++++++++----
5 files changed, 73 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a8fe482e/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/EntityDataGenerator.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/EntityDataGenerator.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/EntityDataGenerator.scala
index f923eb2..daa54be 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/EntityDataGenerator.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/EntityDataGenerator.scala
@@ -21,8 +21,9 @@
import org.apache.usergrid.settings.Utils
import scala.collection.mutable.ArrayBuffer
+ import scala.util.parsing.json.JSONObject
-object EntityDataGenerator {
+ object EntityDataGenerator {
def generateBlockUserLists(numUsers: Int): Map[String, String] = {
@@ -43,7 +44,9 @@ object EntityDataGenerator {
def generateUser(userId: String): Map[String,String] = {
- return Map("username" -> "user".concat(userId.toString),
+ return Map(
+
+ "username" -> "user".concat(userId.toString),
"profileId" -> Utils.generateRandomInt(10000, 1000000).toString,
"displayName" -> Utils.generateRandomInt(10000, 1000000).toString,
"showAge" -> Utils.generateRandomInt(0, 1).toString,
@@ -59,10 +62,10 @@ object EntityDataGenerator {
)
}
- def generateCustomEntity(entityName: String): Map[String,String] = {
+ def generateCustomEntity(): Map[String,String] = {
- return Map(
- "name" -> entityName,
+ var entity: Map[String, String] = Map(
+ // "name" -> "fdsa",
"address" -> Utils.generateRandomInt(10000, 1000000).toString,
"city" -> Utils.generateRandomInt(10000, 1000000).toString,
"state" -> Utils.generateRandomInt(10000, 1000000).toString,
@@ -78,6 +81,8 @@ object EntityDataGenerator {
"bar" -> Utils.generateRandomInt(120, 350).toString,
"tables" -> Utils.generateRandomInt(50, 100000).toString,
"outdoor" -> Utils.generateRandomInt(50, 100000).toString
- )
+ )
+ return Map("entity" -> new JSONObject(entity).toString())
+
}
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a8fe482e/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala
index 6bd28a7..46dfdde 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/datagenerators/FeederGenerator.scala
@@ -152,10 +152,32 @@
* @return
*/
def generateCustomEntityInfinite(seed:Int): Iterator[Map[String, String]] = {
- val userFeeder = Iterator.from(seed).map(i=>EntityDataGenerator.generateCustomEntity(i.toString))
+ //val rod = "rod"
+ val userFeeder = Iterator.from(seed).map(i=>EntityDataGenerator.generateCustomEntity())
+ return userFeeder
+ }
+
+ def testFeeder(seed:Int): Iterator[Map[String, String]] = {
+ var entity: Map[String, String] = EntityDataGenerator.generateCustomEntity();
+ Map("entity" -> entity)
+ val userFeeder = Iterator.from(seed).map(i=>EntityDataGenerator.generateCustomEntity())
return userFeeder
}
+/*
+
+ def testFeeder(): Array[Map[String, String]] = {
+ var userArray: ArrayBuffer[Map[String, String]] = new ArrayBuffer[Map[String, String]]
+ for (userCount <- 1 to numUsers) {
+ var user: Map[String, String] = EntityDataGenerator.generateUser(userCount.toString)
+ var geolocation: Map[String, String] = Utils.generateRandomGeolocation(radius, centerLatitude, centerLongitude)
+ var blockLists: Map[String, String] = EntityDataGenerator.generateBlockUserLists(numUsers)
+ user = user ++ geolocation ++ blockLists
+ userArray += user
+ }
+ return userArray.toArray
+ }
+ */
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a8fe482e/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityScenarios.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityScenarios.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityScenarios.scala
index c9d8279..70d66fa 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityScenarios.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/scenarios/EntityScenarios.scala
@@ -21,6 +21,8 @@ import io.gatling.http.Predef._
import org.apache.usergrid.datagenerators.{EntityDataGenerator, FeederGenerator}
import org.apache.usergrid.settings.{Headers, Utils, Settings}
+import scala.util.parsing.json.JSONObject
+
/**
* Provides CRUD methods for custom entities
*
@@ -30,7 +32,7 @@ import org.apache.usergrid.settings.{Headers, Utils, Settings}
object EntityScenarios {
val getEntity = exec(
- http("GET custom entityr")
+ http("GET custom entity")
.get(Settings.baseAppUrl+"/${collectionType}/${entityName}")
.headers(Headers.jsonAuthorized)
.check(status.is(200))
@@ -46,7 +48,7 @@ object EntityScenarios {
val deleteEntity = exec(
- http("DELETE custom entityr")
+ http("DELETE custom entity")
.get(Settings.baseAppUrl+"/${collectionType}/${entityName}")
.headers(Headers.jsonAuthorized)
.check(status.is(200))
@@ -54,12 +56,18 @@ object EntityScenarios {
val postEntity = exec(
http("Post custom entity")
- //.post(Settings.baseUrl+"/${collectionType}")
- .post(Settings.baseAppUrl+"/freds")
- //.body(StringBody(EntityDataGenerator.generateCustomEntity().toString()))
- .body(StringBody("{\"property\":\"fred\"}"))
+ .post(Settings.baseAppUrl+"/"+ Settings.collectionType)
+ .body(StringBody("""${entity}"""))
.headers(Headers.jsonAnonymous)
.check(status.is(200))
)
+
+ val postEntityWithToken = exec(
+ http("Post custom entity")
+ .post(Settings.baseAppUrl+"/"+ Settings.collectionType)
+ .body(StringBody("""${entity}"""))
+ .headers(Headers.jsonAuthorized)
+ .check(status.is(200))
+ )
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a8fe482e/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
index 4ef28c1..949f65a 100755
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/settings/Settings.scala
@@ -44,6 +44,8 @@ object Settings {
val numEntities:Int = Integer.getInteger("numEntities", 5000).toInt
val numDevices:Int = Integer.getInteger("numDevices", 4000).toInt
+
+ val collectionType:String = System.getProperty("collectionType")
val rampTime:Int = Integer.getInteger("rampTime", 0).toInt // in seconds
val throttle:Int = Integer.getInteger("throttle", 50).toInt // in seconds
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/a8fe482e/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PostCustomEntitySimulation.scala
----------------------------------------------------------------------
diff --git a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PostCustomEntitySimulation.scala b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PostCustomEntitySimulation.scala
index c0ef23a..d01e30f 100644
--- a/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PostCustomEntitySimulation.scala
+++ b/stack/loadtests/src/main/scala/org/apache/usergrid/simulations/PostCustomEntitySimulation.scala
@@ -28,32 +28,50 @@ import java.nio.file.{Paths, Files}
import io.gatling.core.Predef._
import org.apache.usergrid.datagenerators.FeederGenerator
import scala.concurrent.duration._
-import org.apache.usergrid.settings.{Headers, Settings}
+import org.apache.usergrid.settings.{Utils, Headers, Settings}
/**
- * Classy class class.
+ * PostCustomEntitySimulation - creates lots of custom entities
+ *
+ * Run this way:
+ * mvn gatling:execute -DrampTime=10 -DmaxPossibleUsers=10 -Dduration=120 -Dorg=yourorgname -Dapp=sandbox -Dbaseurl=https://api.usergrid.com -DadminUser=yourusername -DadminPassword='yourpassword' -Dgatling.simulationClass=org.apache.usergrid.simulations.PostCustomEntitySimulation -DcollectionType=yourcollection
+ *
+ *
*/
class PostCustomEntitySimulation extends Simulation {
if(!Settings.skipSetup) {
println("Begin setup")
- //Setup.setupOrg()
- //Setup.setupApplication()
+ println("These aren't the droids you are looking for...")
+ exec(TokenScenarios.getManagementToken)
println("End Setup")
}else{
println("Skipping Setup")
}
val numEntities:Int = Settings.numEntities
- val collectionType:String = "restaurants"
+ val collectionType = Settings.collectionType
+ println("collection type = " + collectionType)
val rampTime:Int = Settings.rampTime
val throttle:Int = Settings.throttle
val feeder = FeederGenerator.generateCustomEntityInfinite(0)
val httpConf = Settings.httpConf
+ // exec(TokenScenarios.getManagementToken)
val scnToRun = scenario("POST custom entities")
.feed(feeder)
.exec(EntityScenarios.postEntity)
+
+ /*
+ val scnToRun = scenario("POST custom entities")
+ .feed(feeder)
+ .doIfOrElse(session => session("token").as[String].nonEmpty(session)) {
+ exec(EntityScenarios.postEntityWithToken)
+ } {
+ exec(EntityScenarios.postEntity)
+ }
+*/
+
setUp(scnToRun.inject(
rampUsers(Settings.maxPossibleUsers) over Settings.rampTime,
[2/2] incubator-usergrid git commit: Merge branch 'two-dot-o-import'
of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into
apache_usergrid/two-dot-o-import
Posted by ro...@apache.org.
Merge branch 'two-dot-o-import' of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into apache_usergrid/two-dot-o-import
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/5569509e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/5569509e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/5569509e
Branch: refs/heads/two-dot-o-import
Commit: 5569509ed70587acbf9c6529cffde2fb1a45429b
Parents: a8fe482 1385ffe
Author: Rod Simpson <ro...@apigee.com>
Authored: Tue Feb 17 13:36:10 2015 -0700
Committer: Rod Simpson <ro...@apigee.com>
Committed: Tue Feb 17 13:36:10 2015 -0700
----------------------------------------------------------------------
.../corepersistence/CpEntityManager.java | 14 +----
.../corepersistence/CpRelationManager.java | 40 ++++++++------
.../corepersistence/util/CpEntityMapUtils.java | 55 ++++++++++++++------
.../org/apache/usergrid/utils/JsonUtils.java | 6 ++-
.../management/importer/ImportCollectionIT.java | 15 ++++++
5 files changed, 84 insertions(+), 46 deletions(-)
----------------------------------------------------------------------