Browse Source

[2641] Add test for _is_session_valid()

This commit was actually to update the statement inside
_is_session_valid() to be a None check, but I've written a unittest for
it anyway.
Mukund Sivaraman 12 years ago
parent
commit
2b9c6a4546
2 changed files with 11 additions and 2 deletions
  1. 4 1
      src/bin/cmdctl/cmdctl.py.in
  2. 7 1
      src/bin/cmdctl/tests/cmdctl_test.py

+ 4 - 1
src/bin/cmdctl/cmdctl.py.in

@@ -97,6 +97,9 @@ def check_file(file_name):
 class SecureHTTPRequestHandler(http.server.BaseHTTPRequestHandler):
 class SecureHTTPRequestHandler(http.server.BaseHTTPRequestHandler):
     '''https connection request handler.
     '''https connection request handler.
     Currently only GET and POST are supported.  '''
     Currently only GET and POST are supported.  '''
+    def __init__(self):
+        self.session_id = None
+
     def do_GET(self):
     def do_GET(self):
         '''The client should send its session id in header with
         '''The client should send its session id in header with
         the name 'cookie'
         the name 'cookie'
@@ -121,7 +124,7 @@ class SecureHTTPRequestHandler(http.server.BaseHTTPRequestHandler):
         return self.server.get_reply_data_for_GET(id, module)
         return self.server.get_reply_data_for_GET(id, module)
 
 
     def _is_session_valid(self):
     def _is_session_valid(self):
-        return self.session_id
+        return self.session_id is not None
 
 
     def _is_user_logged_in(self):
     def _is_user_logged_in(self):
         login_time = self.server.user_sessions.get(self.session_id)
         login_time = self.server.user_sessions.get(self.session_id)

+ 7 - 1
src/bin/cmdctl/tests/cmdctl_test.py

@@ -33,7 +33,7 @@ BUILD_FILE_PATH = os.environ['CMDCTL_BUILD_PATH'] + os.sep
 # Rewrite the class for unittest.
 # Rewrite the class for unittest.
 class MySecureHTTPRequestHandler(SecureHTTPRequestHandler):
 class MySecureHTTPRequestHandler(SecureHTTPRequestHandler):
     def __init__(self):
     def __init__(self):
-        pass
+        self.session_id = None
 
 
     def send_response(self, rcode):
     def send_response(self, rcode):
         self.rcode = rcode
         self.rcode = rcode
@@ -101,6 +101,12 @@ class TestSecureHTTPRequestHandler(unittest.TestCase):
         self.handler.rfile.close()
         self.handler.rfile.close()
         os.remove('check.tmp')
         os.remove('check.tmp')
 
 
+    def test_is_session_valid(self):
+        self.assertIsNone(self.handler.session_id)
+        self.assertFalse(self.handler._is_session_valid())
+        self.handler.session_id = 4234
+        self.assertTrue(self.handler._is_session_valid())
+
     def test_parse_request_path(self):
     def test_parse_request_path(self):
         self.handler.path = ''
         self.handler.path = ''
         mod, cmd = self.handler._parse_request_path()
         mod, cmd = self.handler._parse_request_path()