view commons/tools/tests/Test_F_CheckMysqlConnect.py @ 18:94ab73e8a190

Uploaded
author m-zytnicki
date Mon, 29 Apr 2013 03:20:15 -0400
parents
children
line wrap: on
line source

import unittest
import os
import socket

class Test_F_CheckMysqlConnect(unittest.TestCase):
    
    HOST_NAME = "compute-2-46.local"
    
    def setUp(self):
        self._host = socket.gethostname()
        self._cmd = ""

    def tearDown(self):
        os.remove("testOutputCheckMysqlConnect.txt")
    
    def test_CheckMysqlConnect_as_script_True(self):
        if self.HOST_NAME in self._host:
            self._cmd = "CheckMysqlConnect.py -p /share/apps/bin/python > testOutputCheckMysqlConnect.txt"
        else:
            self._cmd = "CheckMysqlConnect.py > testOutputCheckMysqlConnect.txt"
        os.system(self._cmd)
        
        self.assertFalse(self._isFailedInOutputFile())
        
    def test_CheckMysqlConnect_as_script_False(self):
        configFile = "%s/repet_tools/tests/config.cfg" % os.environ.get("REPET_PATH")
        host = "unknownServer"
        self._writeConfig(configFile, host)
        
        if self.HOST_NAME in self._host:
            self._cmd = "CheckMysqlConnect.py -p /share/apps/bin/python -C %s > testOutputCheckMysqlConnect.txt" % configFile
        else:
            self._cmd = "CheckMysqlConnect.py -C %s > testOutputCheckMysqlConnect.txt " % configFile
        os.system(self._cmd)
        os.remove(configFile)
        
        self.assertTrue(self._isFailedInOutputFile())
        
    def _isFailedInOutputFile(self):
        f = open("testOutputCheckMysqlConnect.txt", "r")
        line = f.readline()
        
        while line:
            if "FAILED" in line:
                f.close()
                return True
            line = f.readline()

        f.close()
        return False
    
    def _writeConfig(self, configFileName, repetHost = os.environ.get("REPET_HOST")):
        f = open( configFileName, "w" )
        f.write("[repet_env]\n")
        f.write("repet_host: %s\n" % repetHost)
        f.write("repet_user: %s\n" % os.environ.get("REPET_USER"))
        f.write("repet_pw: %s\n" % os.environ.get("REPET_PW"))
        f.write("repet_db: %s\n" % os.environ.get("REPET_DB"))
        f.write("repet_port: %s\n" % os.environ.get("REPET_PORT"))
        f.close()
    
if __name__ == "__main__":
    unittest.main()