models: Add USER_CREATED event type constant to RealmAuditLog.

This commit is contained in:
Vishnu Ks
2018-07-09 15:41:56 +05:30
committed by Tim Abbott
parent 4d1a68430a
commit 2c8effe9fe
6 changed files with 18 additions and 15 deletions

View File

@@ -31,7 +31,7 @@ class Command(BaseCommand):
realm=realm, short_name=full_name, pointer=-1, last_pointer_updater='none',
api_key='42', date_joined=date_joined)
RealmAuditLog.objects.create(
realm=realm, modified_user=user, event_type='user_created',
realm=realm, modified_user=user, event_type=RealmAuditLog.USER_CREATED,
event_time=user.date_joined)
return user

View File

@@ -896,7 +896,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
event_time=self.TIME_ZERO - hours_offset*self.HOUR)
def test_user_deactivated_in_future(self) -> None:
self.add_event('user_created', 1)
self.add_event(RealmAuditLog.USER_CREATED, 1)
self.add_event('user_deactivated', 0)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup'], [['false']])
@@ -908,7 +908,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
self.assertTableState(UserCount, [], [])
def test_user_active_then_deactivated_same_day(self) -> None:
self.add_event('user_created', 1)
self.add_event(RealmAuditLog.USER_CREATED, 1)
self.add_event('user_deactivated', .5)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, [], [])
@@ -922,7 +922,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
# Arguably these next two tests are duplicates of the _in_future tests, but are
# a guard against future refactorings where they may no longer be duplicates
def test_user_active_then_deactivated_with_day_gap(self) -> None:
self.add_event('user_created', 2)
self.add_event(RealmAuditLog.USER_CREATED, 2)
self.add_event('user_deactivated', 1)
process_count_stat(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup', 'end_time'],
@@ -935,7 +935,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
self.assertTableState(UserCount, ['subgroup'], [['false']])
def test_event_types(self) -> None:
self.add_event('user_created', 4)
self.add_event(RealmAuditLog.USER_CREATED, 4)
self.add_event('user_deactivated', 3)
self.add_event('user_activated', 2)
self.add_event('user_reactivated', 1)
@@ -953,7 +953,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
user3 = self.create_user(realm=second_realm)
user4 = self.create_user(realm=second_realm, is_bot=True)
for user in [user1, user2, user3, user4]:
self.add_event('user_created', 1, user=user)
self.add_event(RealmAuditLog.USER_CREATED, 1, user=user)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup', 'user'],
[['false', user1], ['false', user2], ['false', user3], ['true', user4]])
@@ -971,7 +971,7 @@ class TestActiveUsersAudit(AnalyticsTestCase):
# CountStat.HOUR from CountStat.DAY, this will fail, while many of the
# tests above will not.
def test_update_from_two_days_ago(self) -> None:
self.add_event('user_created', 2)
self.add_event(RealmAuditLog.USER_CREATED, 2)
process_count_stat(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup', 'end_time'],
[['false', self.TIME_ZERO], ['false', self.TIME_ZERO-self.DAY]])
@@ -987,14 +987,14 @@ class TestActiveUsersAudit(AnalyticsTestCase):
self.assertTableState(UserCount, [], [])
def test_max_audit_entry_is_unrelated(self) -> None:
self.add_event('user_created', 1)
self.add_event(RealmAuditLog.USER_CREATED, 1)
self.add_event('unrelated', .5)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup'], [['false']])
# Simultaneous related audit entries should not be allowed, and so not testing for that.
def test_simultaneous_unrelated_audit_entry(self) -> None:
self.add_event('user_created', 1)
self.add_event(RealmAuditLog.USER_CREATED, 1)
self.add_event('unrelated', 1)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['subgroup'], [['false']])
@@ -1003,9 +1003,9 @@ class TestActiveUsersAudit(AnalyticsTestCase):
user1 = self.create_user()
user2 = self.create_user()
user3 = self.create_user()
self.add_event('user_created', .5, user=user1)
self.add_event('user_created', .5, user=user2)
self.add_event('user_created', 1, user=user3)
self.add_event(RealmAuditLog.USER_CREATED, .5, user=user1)
self.add_event(RealmAuditLog.USER_CREATED, .5, user=user2)
self.add_event(RealmAuditLog.USER_CREATED, 1, user=user3)
self.add_event('user_deactivated', .5, user=user3)
do_fill_count_stat_at_hour(self.stat, self.TIME_ZERO)
self.assertTableState(UserCount, ['user', 'subgroup'],

View File

@@ -520,7 +520,7 @@ def do_create_user(email: str, password: Optional[str], realm: Realm, full_name:
event_time = user_profile.date_joined
RealmAuditLog.objects.create(realm=user_profile.realm, modified_user=user_profile,
event_type='user_created', event_time=event_time,
event_type=RealmAuditLog.USER_CREATED, event_time=event_time,
requires_billing_update=activity_change_requires_seat_update(user_profile))
do_increment_logging_stat(user_profile.realm, COUNT_STATS['active_users_log:is_bot:day'],
user_profile.is_bot, event_time)

View File

@@ -32,7 +32,7 @@ def bulk_create_users(realm: Realm,
RealmAuditLog.objects.bulk_create(
[RealmAuditLog(realm=realm, modified_user=profile_,
event_type='user_created', event_time=profile_.date_joined)
event_type=RealmAuditLog.USER_CREATED, event_time=profile_.date_joined)
for profile_ in profiles_to_create])
profiles_by_email = {} # type: Dict[str, UserProfile]

View File

@@ -1961,6 +1961,9 @@ class RealmAuditLog(models.Model):
CARD_ADDED = 'card_added'
PLAN_START = 'plan_start'
PLAN_UPDATE_QUANTITY = 'plan_update_quantity'
USER_CREATED = 'user_created'
event_type = models.CharField(max_length=40) # type: str
def __str__(self) -> str:

View File

@@ -28,7 +28,7 @@ class TestRealmAuditLog(ZulipTestCase):
realm=realm, acting_user=None, modified_user=user, modified_stream=None,
event_time__gte=now, event_time__lte=now+timedelta(minutes=60))
.order_by('event_time').values_list('event_type', flat=True))
self.assertEqual(event_types, ['user_created', 'user_deactivated', 'user_activated',
self.assertEqual(event_types, [RealmAuditLog.USER_CREATED, 'user_deactivated', 'user_activated',
'user_deactivated', 'user_reactivated'])
def test_change_password(self) -> None: