GC, Seed and User management (#52)

* Update sql to map uuid to token

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Fix millis to secs conversion

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Add synchronisation to media enpoint DB access

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Change error code for rate limiter

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* move prepared statements to Thread Local Storage

* Change test end points

* init GC

* Add GC

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Change status return

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Auto generate token in db

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Remove user management and rate limiting

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Add seed for random number generator

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Store random instance as class member

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Update locustfile

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Add API documentation

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Move updateTimeStamp to getChallenge methdod
Remove user tables for the DB

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Update Timestamp when creating mapId entry

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Add request method type

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>

* Minor fixes

Signed-off-by: Rahul Rudragoudar <rr83019@gmail.com>
This commit is contained in:
Rahul Rudragoudar
2020-09-23 22:58:42 +05:30
committed by GitHub
parent 2b02d49e4f
commit 5c3bdfeb83
4 changed files with 193 additions and 143 deletions

44
tests/locustfile.py Normal file
View File

@@ -0,0 +1,44 @@
from locust import task, between, SequentialTaskSet
from locust.contrib.fasthttp import FastHttpUser
import json
import uuid
class QuickStartUser(SequentialTaskSet):
wait_time = between(0.1,1)
captcha_params = {"level":"some","media":"some","input_type":"some"}
answerBody = {"answer": "qwer123"}
@task
def captcha(self):
resp = self.client.post(path="/v1/captcha", json=self.captcha_params, name="/captcha")
if resp.status_code != 200:
print("\nError on /captcha endpoint: ")
print(resp)
print(resp.text)
print("----------------END.C-------------------\n\n")
self.answerBody["id"] = json.loads(resp.text).get("id")
@task
def media(self):
resp = self.client.get(path="/v1/media?id=%s" % self.answerBody.get("id"), name="/media")
if resp.status_code != 200:
print("\nError on /media endpoint: ")
print(resp)
print(resp.text)
print("-----------------END.M-------------------\n\n")
@task
def answer(self):
resp = self.client.post(path='/v1/answer', json=self.answerBody, name="/answer")
if resp.status_code != 200:
print("\nError on /answer endpoint: ")
print(resp)
print(resp.text)
print("-------------------END.A---------------\n\n")
class User(FastHttpUser):
wait_time = between(0.1,1)
tasks = [QuickStartUser]
host = "http://localhost:8888"