Last active
July 30, 2019 20:10
-
-
Save Johnetordoff/17fc36c7d6c1a89c0d64dea3c229efaa to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def make_requests(url, method, num_of_requests=None, user=None): | |
from framework.auth import signing | |
import random | |
results = {} | |
headers = {} | |
def make_request(url, method, user, results, headers, i): | |
if user: | |
headers.update({'Authorization': 'Bearer {}'.format(user.token.token_id)}) | |
from addons.osfstorage.tests.utils import make_payload | |
payload = signing.sign_data(signing.default_signer, make_payload(user, 'file', metadata_name=random.randint(0, 99999999999999))) | |
results[i] = method(url, json=payload, headers=headers) | |
for i in range(0, num_of_requests): | |
results[i] = threading.Thread(target=make_request, args=(url, method, user, results, headers, i), kwargs={}) | |
results[i].start() | |
return results | |
def create_dupe_version(guid, num_of_requests): | |
Node = apps.get_model('osf.AbstractNode') | |
from osf_tests.factories import ApiOAuth2PersonalTokenFactory | |
node = Node.load(guid) | |
user = node.creator | |
token = ApiOAuth2PersonalTokenFactory(owner=user) | |
token.save() | |
user.token = token | |
url = 'http://192.168.168.167:5000/api/v1/{}/osfstorage/{}/children/'.format(node._id, node.get_addon( | |
'osfstorage').get_root()._id) | |
results = make_requests(url, requests.post, num_of_requests, user=user) | |
file_node = node.get_addon('osfstorage').get_root()._children.filter(name='file').get() | |
for result in list(results.values()): | |
print result | |
qs = file_node.versions.all().values_list('identifier', flat=True) | |
assert len(set(list(qs))) == qs.count() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
when this line fails to assert you know the identifiers have doubled up, because the left side is all unique values.