|
|
|
@ -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) |
|
|
|
|
|
|
|
|
|