summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Shyba <victor.shyba@gmail.com>2016-02-02 12:56:30 -0300
committerVictor Shyba <victor.shyba@gmail.com>2016-02-02 12:56:30 -0300
commit6d809fa4abdb824cb47455e057dfc8c344641474 (patch)
tree8b43b5f18ab217f726aee1d4c62142b72a792591
parent5dd5d764de52e08b2da238aea5c86c9bc20f3737 (diff)
load test now using invites
pairing with NavaL
-rw-r--r--service/test/load/locustfile.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/service/test/load/locustfile.py b/service/test/load/locustfile.py
index e2dcd4bd..7aca10e5 100644
--- a/service/test/load/locustfile.py
+++ b/service/test/load/locustfile.py
@@ -8,9 +8,17 @@ from leap.exceptions import SRPAuthenticationError
from locust import HttpLocust, TaskSet, task
from pixelated.resources.login_resource import LoginResource
-LEAP_SERVER_HOST = os.environ.get('LEAP_SERVER_HOST', 'https://api.dev.pixelated-project.org:4430')
+LEAP_PROVIDER = os.environ.get('LEAP_PROVIDER', 'dev.pixelated-project.org')
+LEAP_SERVER_HOST = os.environ.get('LEAP_SERVER_HOST', 'https://api.%s:4430' % LEAP_PROVIDER)
LEAP_VERIFY_CERTIFICATE = os.environ.get('LEAP_VERIFY_CERTIFICATE', '~/.leap/ca.crt')
MAX_NUMBER_USER = os.environ.get('MAX_NUMBER_USER', 10000)
+INVITES_FILENAME = os.environ.get('INVITES_FILENAME', '/tmp/invite_codes.txt')
+
+
+def load_invite_from_number(number):
+ with open(INVITES_FILENAME) as invites_file:
+ lines = invites_file.readlines()
+ return lines[number].strip()
class UserBehavior(TaskSet):
@@ -20,16 +28,16 @@ class UserBehavior(TaskSet):
def _get_or_create_user(self, number):
srp_auth = SRPAuth(LEAP_SERVER_HOST, os.path.expanduser(LEAP_VERIFY_CERTIFICATE))
- # username, password = 'loadtest%d' % number, 'password_%d' % number
- username, password = 'loadtest123', 'asdfasdf'
+ username, password = ('loadtest%d' % number), ('password_%d' % number)
+# username, password = 'loadtest123', 'asdfasdf'
try:
srp_auth.authenticate(username, password)
except SRPAuthenticationError:
- srp_auth.register(username, password)
+ srp_auth.register(username, password, load_invite_from_number(number))
return username, password
def login(self):
- number = randint(1, MAX_NUMBER_USER)
+ number = randint(1, int(MAX_NUMBER_USER))
username, password = self._get_or_create_user(number)
self.client.post("/%s" % LoginResource.BASE_URL, {"username": username, "password": password})
self.username = username
@@ -46,7 +54,7 @@ class UserBehavior(TaskSet):
@task(3)
def send_mail(self):
payload = {"tags": ["drafts"], "body": "some text lorem ipsum", "attachments": [], "ident": "",
- "header": {"to": ["%s@%s" % (self.username, LEAP_SERVER_HOST)], "cc": [], "bcc": [], "subject": "load testing"}}
+ "header": {"to": ["%s@%s" % (self.username, LEAP_PROVIDER)], "cc": [], "bcc": [], "subject": "load testing"}}
with self.client.post('/mails', json=payload, catch_response=True) as email_response:
if email_response.status_code == 201:
email_id = json.loads(email_response.content)['ident']