mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-02 07:55:16 +00:00
perf: 修改生成假数据
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
from .base import FakeDataGenerator
|
||||
from terminal.models import Command
|
||||
from users.models import *
|
||||
from assets.models import *
|
||||
from terminal.models import *
|
||||
import forgery_py
|
||||
import random
|
||||
|
||||
|
||||
class CommandGenerator(FakeDataGenerator):
|
||||
@@ -8,3 +12,42 @@ class CommandGenerator(FakeDataGenerator):
|
||||
def do_generate(self, batch, batch_size):
|
||||
Command.generate_fake(len(batch), self.org)
|
||||
|
||||
|
||||
class SessionGenerator(FakeDataGenerator):
|
||||
resource = 'session'
|
||||
users: list
|
||||
assets: list
|
||||
system_users: list
|
||||
|
||||
def pre_generate(self):
|
||||
self.users = list(User.objects.all())
|
||||
self.assets = list(Asset.objects.all())
|
||||
self.system_users = list(SystemUser.objects.all())
|
||||
|
||||
def do_generate(self, batch, batch_size):
|
||||
user = random.choice(self.users)
|
||||
asset = random.choice(self.assets)
|
||||
system_user = random.choice(self.system_users)
|
||||
|
||||
objects = []
|
||||
|
||||
now = timezone.now()
|
||||
timedelta = list(range(30))
|
||||
for i in batch:
|
||||
delta = random.choice(timedelta)
|
||||
date_start = now - timezone.timedelta(days=delta, seconds=delta * 60)
|
||||
date_end = date_start + timezone.timedelta(seconds=delta * 60)
|
||||
data = dict(
|
||||
user=user.name,
|
||||
user_id=user.id,
|
||||
asset=asset.hostname,
|
||||
asset_id=asset.id,
|
||||
system_user=system_user.name,
|
||||
system_user_id=system_user.id,
|
||||
org_id=self.org.id,
|
||||
date_start=date_start,
|
||||
date_end=date_end,
|
||||
)
|
||||
objects.append(Session(**data))
|
||||
creates = Session.objects.bulk_create(objects, ignore_conflicts=True)
|
||||
|
||||
|
Reference in New Issue
Block a user