48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import time
|
|
import json
|
|
import os
|
|
import subprocess
|
|
import requests
|
|
from threading import Thread
|
|
from django.test import TestCase, Client
|
|
from django.test import Client
|
|
from django.conf import settings
|
|
from products.models import *
|
|
from django.contrib.auth.models import User
|
|
|
|
BASE_DIR = os.path.abspath(os.path.dirname(__file__) + "/..")
|
|
|
|
class StressTest(TestCase):
|
|
def setUp(self):
|
|
User(is_superuser=True, username="admin", password="testpass").save()
|
|
|
|
self.token0 = 'tenanttoken0'
|
|
t = Tenant(username="tenant0", mobile="12300000000",
|
|
password="testpass", token=self.token0)
|
|
t.save()
|
|
|
|
self.tenant = t
|
|
self.client = Client()
|
|
|
|
def test_qr_verify(self):
|
|
p = Product.objects.create(name='testprod',
|
|
tenant=self.tenant)
|
|
b = CodeBatch.objects.create(product=p, code_prefix="")
|
|
c = SerialCode.objects.create(batch=b, code='1234441219866726744')
|
|
|
|
begin = time.time()
|
|
for i in range(100):
|
|
self.do_qr_verify()
|
|
|
|
end = time.time()
|
|
|
|
self.assertLess(end - begin, 1)
|
|
|
|
def do_qr_verify(self):
|
|
img = open(os.path.join(BASE_DIR, "tests/data/qr.png"), 'rb')
|
|
r = self.client.post("/api/v1/qr-verify/", {
|
|
'username': 'testuser',
|
|
'photo': img,
|
|
})
|
|
self.assertEqual(r.json().get('error'), None)
|