🤡(demo) demo generate dummy documents
The demo command will generate dummy documents and dummy accesses.
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
"""Parameters that define how the demo site will be built."""
|
"""Parameters that define how the demo site will be built."""
|
||||||
|
|
||||||
NB_OBJECTS = {
|
NB_OBJECTS = {
|
||||||
"users": 100,
|
"users": 50,
|
||||||
|
"docs": 50,
|
||||||
|
"max_users_per_document": 50,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,6 +125,33 @@ def create_demo(stdout):
|
|||||||
)
|
)
|
||||||
queue.flush()
|
queue.flush()
|
||||||
|
|
||||||
|
with Timeit(stdout, "Creating documents"):
|
||||||
|
for _ in range(defaults.NB_OBJECTS["docs"]):
|
||||||
|
queue.push(
|
||||||
|
models.Document(
|
||||||
|
title=fake.sentence(nb_words=4),
|
||||||
|
is_public=random_true_with_probability(0.5),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
queue.flush()
|
||||||
|
|
||||||
|
with Timeit(stdout, "Creating docs accesses"):
|
||||||
|
docs_ids = list(models.Document.objects.values_list("id", flat=True))
|
||||||
|
users_ids = list(models.User.objects.values_list("id", flat=True))
|
||||||
|
for doc_id in docs_ids:
|
||||||
|
for user_id in random.sample(
|
||||||
|
users_ids,
|
||||||
|
random.randint(1, defaults.NB_OBJECTS["max_users_per_document"]),
|
||||||
|
):
|
||||||
|
role = random.choice(models.RoleChoices.choices)
|
||||||
|
queue.push(
|
||||||
|
models.DocumentAccess(
|
||||||
|
document_id=doc_id, user_id=user_id, role=role[0]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
queue.flush()
|
||||||
|
|
||||||
with Timeit(stdout, "Creating Template"):
|
with Timeit(stdout, "Creating Template"):
|
||||||
with open(
|
with open(
|
||||||
file="demo/data/template/code.txt", mode="r", encoding="utf-8"
|
file="demo/data/template/code.txt", mode="r", encoding="utf-8"
|
||||||
|
|||||||
@@ -16,3 +16,6 @@ def test_commands_create_demo():
|
|||||||
call_command("create_demo")
|
call_command("create_demo")
|
||||||
|
|
||||||
assert models.Template.objects.count() == 1
|
assert models.Template.objects.count() == 1
|
||||||
|
assert models.User.objects.count() >= 50
|
||||||
|
assert models.Document.objects.count() >= 50
|
||||||
|
assert models.DocumentAccess.objects.count() > 50
|
||||||
|
|||||||
Reference in New Issue
Block a user