Skip to content

Commit 6ddb3d7

Browse files
committed
Broken update to demonstrate problem with bulk_create.
1 parent a23d8b9 commit 6ddb3d7

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

tests/test_models.py

Lines changed: 36 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -307,37 +307,52 @@ def setUp(self):
307307
client_type=Application.CLIENT_CONFIDENTIAL,
308308
authorization_grant_type=Application.GRANT_AUTHORIZATION_CODE,
309309
)
310-
for i in range(100):
311-
old = AccessToken.objects.create(token="old access token {}".format(i), expires=earlier)
312-
new = AccessToken.objects.create(token="current access token {}".format(i), expires=later)
313-
# make half of these Access Tokens have related Refresh Tokens, which prevent their deletion.
314-
if i % 2:
315-
RefreshToken.objects.create(
316-
token="old refresh token {}".format(i),
317-
application=app,
318-
access_token=old,
319-
user=self.user,
320-
)
321-
RefreshToken.objects.create(
322-
token="current refresh token {}".format(i),
323-
application=app,
324-
access_token=new,
325-
user=self.user,
326-
)
327-
Grant.objects.create(
310+
311+
expired_access_tokens = AccessToken.objects.bulk_create(
312+
AccessToken(token="expired AccessToken {}".format(i), expires=earlier) for i in range(100)
313+
)
314+
current_access_tokens = AccessToken.objects.bulk_create(
315+
AccessToken(token="current AccessToken {}".format(i), expires=later) for i in range(100)
316+
)
317+
318+
RefreshToken.objects.bulk_create(
319+
RefreshToken(
320+
token="expired AT's refresh token {}".format(i),
321+
application=app,
322+
access_token=expired_access_tokens[i],
323+
user=self.user,
324+
)
325+
for i in range(100, 2)
326+
)
327+
RefreshToken.objects.bulk_create(
328+
RefreshToken(
329+
token="current AT's refresh token {}".format(i),
330+
application=app,
331+
access_token=expired_access_tokens[i],
332+
user=self.user,
333+
)
334+
for i in range(49, 100, 2)
335+
)
336+
Grant.objects.bulk_create(
337+
Grant(
328338
user=self.user,
329339
code="old grant code {}".format(i),
330340
application=app,
331-
expires=earlier,
341+
expires=expired_access_tokens[i],
332342
redirect_uri="https://localhost/redirect",
333343
)
334-
Grant.objects.create(
344+
for i in range(100)
345+
)
346+
Grant.objects.bulk_create(
347+
Grant(
335348
user=self.user,
336349
code="new grant code {}".format(i),
337350
application=app,
338-
expires=later,
351+
expires=current_access_tokens[i],
339352
redirect_uri="https://localhost/redirect",
340353
)
354+
for i in range(100)
355+
)
341356

342357
def test_clear_expired_tokens(self):
343358
self.oauth2_settings.REFRESH_TOKEN_EXPIRE_SECONDS = 60

0 commit comments

Comments
 (0)