Sfoglia il codice sorgente

HUE-9204 [useradmin] Filter not yet login users out of active users metric

Ying Chen 5 anni fa
parent
commit
63e68465a2

+ 5 - 1
apps/useradmin/src/useradmin/metrics.py

@@ -27,7 +27,11 @@ LOG = logging.getLogger(__name__)
 def active_users():
   from useradmin.models import UserProfile
   try:
-    count = UserProfile.objects.filter(last_activity__gt=datetime.now() - timedelta(hours=1)).count()
+    count = UserProfile.objects.filter(
+        last_activity__gt=datetime.now() - timedelta(hours=1),
+        first_login=False,
+        hostname__isnull=False
+    ).count()
   except:
     LOG.exception('Could not get active_users')
     count = 0

+ 9 - 0
apps/useradmin/src/useradmin/tests.py

@@ -317,21 +317,30 @@ class TestUserAdminMetrics(BaseUserAdminTests):
       c = make_logged_in_client(username='test1', password='test', is_superuser=False, recreate=True)
       userprofile1 = get_profile(User.objects.get(username='test1'))
       userprofile1.last_activity = datetime.now()
+      userprofile1.first_login = False
       userprofile1.hostname = 'host1'
       userprofile1.save()
 
       c = make_logged_in_client(username='test2', password='test', is_superuser=False, recreate=True)
       userprofile2 = get_profile(User.objects.get(username='test2'))
       userprofile2.last_activity = datetime.now()
+      userprofile2.first_login = False
       userprofile2.hostname = 'host1'
       userprofile2.save()
 
+      User.objects.create_user(username='new_user', password='password')
+      new_userprofile = get_profile(User.objects.get(username='new_user'))
+      new_userprofile.last_activity = datetime.now()
+      new_userprofile.first_login = True
+      new_userprofile.save()
+
     with patch('useradmin.middleware.get_localhost_name') as get_hostname:
       get_hostname.return_value = 'host2'
 
       c = make_logged_in_client(username='test3', password='test', is_superuser=False, recreate=True)
       userprofile3 = get_profile(User.objects.get(username='test3'))
       userprofile3.last_activity = datetime.now()
+      userprofile3.first_login = False
       userprofile3.hostname = 'host2'
       userprofile3.save()