Revision: 1155
Author:
jane...@gmail.com
Date: Fri Jul 26 00:39:54 2013
Log: Catching socket error for when roster is not connected. Resolving
issue 283
http://code.google.com/p/roster-dns-management/source/detail?r=1155
Modified:
/trunk/roster-user-tools/roster_user_tools/roster_client_lib.py
/trunk/test/roster_client_lib_test.py
=======================================
--- /trunk/roster-user-tools/roster_user_tools/roster_client_lib.py Fri Jun
22 10:11:59 2012
+++ /trunk/roster-user-tools/roster_user_tools/roster_client_lib.py Fri Jul
26 00:39:54 2013
@@ -43,6 +43,7 @@
import xmlrpclib
import cli_common_lib
import getpass
+import socket
class InvalidCredentials(Exception):
@@ -251,9 +252,14 @@
server_name: string name of server to check
"""
server = xmlrpclib.ServerProxy(server_name, allow_none=True)
- server_version = server.GetVersion()
+ try:
+ server_version = server.GetVersion()
+ except socket.error:
+ print 'ERROR: Roster not started.'
+ sys.exit(1)
if( server_version != __version__ ):
print ('user_tools version %s mismatch with server version %s' % (
- __version__, server_version))
+ __version__, server_version))
sys.exit(1)
+
=======================================
--- /trunk/test/roster_client_lib_test.py Thu Jul 19 13:23:56 2012
+++ /trunk/test/roster_client_lib_test.py Fri Jul 26 00:39:54 2013
@@ -98,6 +98,7 @@
self.port = port
self.daemon_instance = None
+
def run(self):
self.daemon_instance = roster_server.Server(self.config_instance,
KEYFILE,
CERTFILE)
@@ -214,6 +215,16 @@
self.assertFalse(cred_stat.st_mode & stat.S_IRWXG or
cred_stat.st_mode & stat.S_IRWXO)
+ def testNotStarted(self):
+ if( os.path.exists('/var/lock/rosterd') ):
+ os.remove('/var/lock/rosterd')
+ time.sleep(1)
+ command = os.popen('python %s all' % (
+ '../roster-user-tools/scripts/dnslszone'))
+ self.assertEqual(command.read(),
+ 'ERROR: Roster not started.\n')
+ command.close()
+
if( __name__ == '__main__' ):
unittest.main()