Browse Source

[2641] Add method to get the number of users

Mukund Sivaraman 12 years ago
parent
commit
97d4ccea57
2 changed files with 14 additions and 0 deletions
  1. 5 0
      src/bin/cmdctl/cmdctl.py.in
  2. 9 0
      src/bin/cmdctl/tests/cmdctl_test.py

+ 5 - 0
src/bin/cmdctl/cmdctl.py.in

@@ -532,6 +532,11 @@ class SecureHTTPServer(socketserver_mixin.NoPollMixIn,
             info = self._user_infos.get(username)
         return info
 
+    def get_num_users(self):
+        with self._lock:
+            num = len(self._user_infos)
+        return num
+
     def save_user_session_id(self, session_id):
         ''' Record user's id and login time. '''
         self.user_sessions[session_id] = time.time()

+ 9 - 0
src/bin/cmdctl/tests/cmdctl_test.py

@@ -470,6 +470,15 @@ class TestSecureHTTPServer(unittest.TestCase):
         self.assertEqual(1, len(self.server._user_infos))
         self.assertTrue('root' in self.server._user_infos)
 
+    def test_get_num_users(self):
+        self.server._create_user_info('/local/not-exist')
+        self.assertEqual(0, self.server.get_num_users())
+
+        self.server._create_user_info(SRC_FILE_PATH + 'cmdctl-accounts.csv')
+        self.assertEqual(1, self.server.get_num_users())
+        self.assertIn('6f0c73bd33101a5ec0294b3ca39fec90ef4717fe',
+                      self.server.get_user_info('root'))
+
     def test_check_file(self):
         # Just some file that we know exists
         file_name = BUILD_FILE_PATH + 'cmdctl-keyfile.pem'