def test_hostinfo_register(self, get_transparentHuge_page_mock, cit_mock, hvlc_mock, hvrc_mock, eac_mock, cf_mock, jp_mock,
                             cls_mock, cu_mock, gir_mock, gipbr_mock, gipbn_mock,
                             gpd_mock, aip_mock, aap_mock, whcf_mock, os_umask_mock, get_os_type_mock):
    cit_mock.return_value = True
    hvlc_mock.return_value = 1
    hvrc_mock.return_value = 1
    gipbr_mock.return_value = ["pkg1"]
    gipbn_mock.return_value = ["pkg2"]
    gpd_mock.return_value = ["pkg1", "pkg2"]
    get_os_type_mock.return_value = "redhat"

    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, True, True)
    self.verifyReturnedValues(dict)

    hostInfo.register(dict, True, False)
    self.verifyReturnedValues(dict)

    hostInfo.register(dict, False, True)
    self.verifyReturnedValues(dict)
    self.assertTrue(os_umask_mock.call_count == 2)

    cit_mock.reset_mock()
    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, False, False)
    self.assertTrue(cit_mock.called)
    self.assertEqual(1, cit_mock.call_count)
示例#2
0
    def test_hostinfo_register_suse(self, cit_mock, hvlc_mock, hvrc_mock,
                                    eac_mock, cf_mock, jp_mock, cls_mock,
                                    cu_mock, gir_mock, gipbr_mock, gipbn_mock,
                                    gpd_mock, aip_mock, aap_mock, whcf_mock,
                                    os_umask_mock, get_os_type_mock):
        cit_mock.return_value = True
        hvlc_mock.return_value = 1
        hvrc_mock.return_value = 1
        gipbr_mock.return_value = ["pkg1"]
        gipbn_mock.return_value = ["pkg2"]
        gpd_mock.return_value = ["pkg1", "pkg2"]
        get_os_type_mock.return_value = "suse"

        hostInfo = HostInfoLinux()
        dict = {}
        hostInfo.register(dict, False, False)
        self.assertTrue(cit_mock.called)
        self.assertTrue(gir_mock.called)
        self.assertTrue(gpd_mock.called)
        self.assertTrue(aip_mock.called)
        self.assertTrue(aap_mock.called)
        self.assertTrue(os_umask_mock.called)
        self.assertTrue(whcf_mock.called)

        self.assertTrue(0 < len(dict['installedPackages']))
        self.assertTrue('agentTimeStampAtReporting' in dict['hostHealth'])
示例#3
0
  def test_hostinfo_register_suse(self, jce_mock, cit_mock, hvlc_mock, hvrc_mock, eac_mock, cf_mock, jp_mock,
                             cls_mock, cu_mock, get_packages_mock, whcf_mock, os_umask_mock, get_os_type_mock):

    m = MagicMock()

    m.get_package_details.return_value = ["pkg1", "pkg2"]
    m.get_installed_pkgs_by_names.return_value = ["pkg2"]
    m.get_installed_pkgs_by_repo.return_value = ["pkg1"]

    get_packages_mock.return_value = m

    cit_mock.return_value = True
    hvlc_mock.return_value = 1
    hvrc_mock.return_value = 1
    get_os_type_mock.return_value = "suse"

    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, False, False)
    self.assertTrue(cit_mock.called)
    self.assertTrue(os_umask_mock.called)
    self.assertTrue(whcf_mock.called)
    self.assertTrue(jce_mock.called)

    self.assertTrue('agentTimeStampAtReporting' in dict['hostHealth'])
示例#4
0
 def test_checkUsers(self):
   hostInfo = HostInfoLinux()
   results = []
   hostInfo.checkUsers(["root", "zxlmnap12341234"], results)
   self.assertEqual(1, len(results))
   newlist = sorted(results, key=lambda k: k['name'])
   self.assertTrue(newlist[0]['name'], "root")
   self.assertTrue(newlist[0]['homeDir'], "/root")
   self.assertTrue(newlist[0]['status'], "Available")
示例#5
0
    def test_hadoopVarRunCount(self, glob_glob_mock, os_path_exists_mock):
        hostInfo = HostInfoLinux()

        os_path_exists_mock.return_value = True
        glob_glob_mock.return_value = ['pid1', 'pid2', 'pid3']
        result = hostInfo.hadoopVarRunCount()
        self.assertEquals(result, 3)

        os_path_exists_mock.return_value = False
        result = hostInfo.hadoopVarRunCount()
        self.assertEquals(result, 0)
  def test_hadoopVarRunCount(self, glob_glob_mock, os_path_exists_mock):
    hostInfo = HostInfoLinux()

    os_path_exists_mock.return_value = True
    glob_glob_mock.return_value = ['pid1','pid2','pid3']
    result = hostInfo.hadoopVarRunCount()
    self.assertEquals(result, 3)

    os_path_exists_mock.return_value = False
    result = hostInfo.hadoopVarRunCount()
    self.assertEquals(result, 0)
示例#7
0
    def test_hadoopVarLogCount(self, glob_glob_mock, os_path_exists_mock):
        hostInfo = HostInfoLinux()

        os_path_exists_mock.return_value = True
        glob_glob_mock.return_value = ['log1', 'log2']
        result = hostInfo.hadoopVarLogCount()
        self.assertEquals(result, 2)

        os_path_exists_mock.return_value = False
        result = hostInfo.hadoopVarLogCount()
        self.assertEquals(result, 0)
  def test_hadoopVarLogCount(self, glob_glob_mock, os_path_exists_mock):
    hostInfo = HostInfoLinux()

    os_path_exists_mock.return_value = True
    glob_glob_mock.return_value = ['log1','log2']
    result = hostInfo.hadoopVarLogCount()
    self.assertEquals(result, 2)

    os_path_exists_mock.return_value = False
    result = hostInfo.hadoopVarLogCount()
    self.assertEquals(result, 0)
示例#9
0
  def test_osdiskAvailableSpace(self, extract_mount_info_mock, subproc_popen_mock):
    hostInfo = HostInfoLinux()
    p = MagicMock()
    p.communicate.return_value = ['some']
    subproc_popen_mock.return_value = p
    extract_mount_info_mock.return_value = {'info' : 'info'}
    result = hostInfo.osdiskAvailableSpace('')

    self.assertTrue(result['info'], 'info')

    p.communicate.return_value = ''
    result = hostInfo.osdiskAvailableSpace('')

    self.assertEquals(result, {})
示例#10
0
    def test_osdiskAvailableSpace(self, extract_mount_info_mock,
                                  subproc_popen_mock):
        hostInfo = HostInfoLinux()
        p = MagicMock()
        p.communicate.return_value = ['some']
        subproc_popen_mock.return_value = p
        extract_mount_info_mock.return_value = {'info': 'info'}
        result = hostInfo.osdiskAvailableSpace('')

        self.assertTrue(result['info'], 'info')

        p.communicate.return_value = ''
        result = hostInfo.osdiskAvailableSpace('')

        self.assertEquals(result, {})
示例#11
0
    def test_getReposToRemove(self):
        l1 = [
            "Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15",
            "Ambari 1.x", "HDP"
        ]
        l2 = ["Ambari", "HDP-UTIL"]
        hostInfo = HostInfoLinux()
        l3 = hostInfo.getReposToRemove(l1, l2)
        self.assertTrue(1, len(l3))
        self.assertEqual(l3[0], "HDP")

        l1 = ["AMBARI.dev-1.x", "HDP-1.3.0"]
        l3 = hostInfo.getReposToRemove(l1, l2)
        self.assertTrue(1, len(l3))
        self.assertEqual(l3[0], "HDP-1.3.0")
  def test_javaProcs(self, pwd_getpwuid_mock, buitin_open_mock, os_listdir_mock):
    hostInfo = HostInfoLinux()
    openRead = MagicMock()
    openRead.read.return_value = '/java/;/hadoop/'
    buitin_open_mock.side_effect = [openRead, ['Uid: 22']]
    pwuid = MagicMock()
    pwd_getpwuid_mock.return_value = pwuid
    pwuid.pw_name = 'user'
    os_listdir_mock.return_value = ['1']
    list = []
    hostInfo.javaProcs(list)

    self.assertEquals(list[0]['command'], '/java/;/hadoop/')
    self.assertEquals(list[0]['pid'], 1)
    self.assertTrue(list[0]['hadoop'])
    self.assertEquals(list[0]['user'], 'user')
示例#13
0
 def verifyReturnedValues(self, dict):
     hostInfo = HostInfoLinux()
     self.assertEqual(dict['alternatives'], [])
     self.assertEqual(dict['stackFoldersAndFiles'], [])
     self.assertEqual(dict['existingUsers'], [])
     self.assertTrue(dict['firewallRunning'])
     self.assertEqual(dict['firewallName'], "iptables")
示例#14
0
  def test_etcAlternativesConf(self, os_path_realpath_mock, os_path_islink_mock, os_listdir_mock, os_path_exists_mock):
    hostInfo = HostInfoLinux()
    os_path_exists_mock.return_value = False
    result = hostInfo.etcAlternativesConf('',[])

    self.assertEquals(result, [])

    os_path_exists_mock.return_value = True
    os_listdir_mock.return_value = ['config1']
    os_path_islink_mock.return_value = True
    os_path_realpath_mock.return_value = 'real_path_to_conf'
    result = []
    hostInfo.etcAlternativesConf('project', result)

    self.assertEquals(result[0]['name'], 'config1')
    self.assertEquals(result[0]['target'], 'real_path_to_conf')
示例#15
0
  def test_javaProcs(self, pwd_getpwuid_mock, buitin_open_mock, os_listdir_mock):
    hostInfo = HostInfoLinux()
    openRead = MagicMock()
    openRead.read.return_value = '/java/;/hadoop/'
    buitin_open_mock.side_effect = [openRead, ['Uid: 22']]
    pwuid = MagicMock()
    pwd_getpwuid_mock.return_value = pwuid
    pwuid.pw_name = 'user'
    os_listdir_mock.return_value = ['1']
    list = []
    hostInfo.javaProcs(list)

    self.assertEquals(list[0]['command'], '/java/;/hadoop/')
    self.assertEquals(list[0]['pid'], 1)
    self.assertTrue(list[0]['hadoop'])
    self.assertEquals(list[0]['user'], 'user')
  def test_etcAlternativesConf(self, os_path_realpath_mock, os_path_islink_mock, os_listdir_mock, os_path_exists_mock):
    hostInfo = HostInfoLinux()
    os_path_exists_mock.return_value = False
    result = hostInfo.etcAlternativesConf('',[])

    self.assertEquals(result, [])

    os_path_exists_mock.return_value = True
    os_listdir_mock.return_value = ['config1']
    os_path_islink_mock.return_value = True
    os_path_realpath_mock.return_value = 'real_path_to_conf'
    result = []
    hostInfo.etcAlternativesConf('project', result)

    self.assertEquals(result[0]['name'], 'config1')
    self.assertEquals(result[0]['target'], 'real_path_to_conf')
示例#17
0
 def verifyReturnedValues(self, dict):
     hostInfo = HostInfoLinux()
     self.assertEqual(dict['alternatives'], [])
     self.assertEqual(dict['stackFoldersAndFiles'], [])
     self.assertEqual(dict['existingUsers'], [])
     self.assertEqual(dict['existingRepos'][0], hostInfo.RESULT_UNAVAILABLE)
     self.assertEqual(dict['installedPackages'], [])
     self.assertTrue(dict['iptablesIsRunning'])
示例#18
0
    def test_dirType(self, os_path_isfile_mock, os_path_isdir_mock,
                     os_path_islink_mock, os_path_exists_mock):
        host = HostInfoLinux()

        os_path_exists_mock.return_value = False
        result = host.dirType("/home")
        self.assertEquals(result, 'not_exist')

        os_path_exists_mock.return_value = True
        os_path_islink_mock.return_value = True
        result = host.dirType("/home")
        self.assertEquals(result, 'sym_link')

        os_path_exists_mock.return_value = True
        os_path_islink_mock.return_value = False
        os_path_isdir_mock.return_value = True
        result = host.dirType("/home")
        self.assertEquals(result, 'directory')

        os_path_exists_mock.return_value = True
        os_path_islink_mock.return_value = False
        os_path_isdir_mock.return_value = False
        os_path_isfile_mock.return_value = True
        result = host.dirType("/home")
        self.assertEquals(result, 'file')

        os_path_exists_mock.return_value = True
        os_path_islink_mock.return_value = False
        os_path_isdir_mock.return_value = False
        os_path_isfile_mock.return_value = False
        result = host.dirType("/home")
        self.assertEquals(result, 'unknown')
示例#19
0
    def test_transparent_huge_page(self, open_mock, os_path_isfile_mock):
        context_manager_mock = MagicMock()
        open_mock.return_value = context_manager_mock
        file_mock = MagicMock()
        file_mock.read.return_value = "[never] always"
        enter_mock = MagicMock()
        enter_mock.return_value = file_mock
        exit_mock = MagicMock()
        setattr(context_manager_mock, '__enter__', enter_mock)
        setattr(context_manager_mock, '__exit__', exit_mock)

        hostInfo = HostInfoLinux()

        os_path_isfile_mock.return_value = True
        self.assertEqual("never", hostInfo.getTransparentHugePage())

        os_path_isfile_mock.return_value = False
        self.assertEqual("", hostInfo.getTransparentHugePage())
  def test_checkUsers(self, builtins_open_mock, path_mock):
    builtins_open_mock.return_value = [
      "hdfs:x:493:502:Hadoop HDFS:/usr/lib/hadoop:/bin/bash",
      "zookeeper:x:492:502:ZooKeeper:/var/run/zookeeper:/bin/bash"]
    path_mock.side_effect = [False, True, False]

    hostInfo = HostInfoLinux()
    results = []
    hostInfo.checkUsers(["zookeeper", "hdfs"], results)
    self.assertEqual(2, len(results))
    newlist = sorted(results, key=lambda k: k['name'])
    self.assertTrue(newlist[0]['name'], "hdfs")
    self.assertTrue(newlist[1]['name'], "zookeeper")
    self.assertTrue(newlist[0]['homeDir'], "/usr/lib/hadoop")
    self.assertTrue(newlist[1]['homeDir'], "/var/run/zookeeper")
    self.assertTrue(newlist[0]['status'], "Available")
    self.assertTrue(newlist[1]['status'], "Invalid home directory")
    print(path_mock.mock_calls)
示例#21
0
  def test_transparent_huge_page(self, open_mock, os_path_isfile_mock):
    context_manager_mock = MagicMock()
    open_mock.return_value = context_manager_mock
    file_mock = MagicMock()
    file_mock.read.return_value = "[never] always"
    enter_mock = MagicMock()
    enter_mock.return_value = file_mock
    exit_mock  = MagicMock()
    setattr( context_manager_mock, '__enter__', enter_mock )
    setattr( context_manager_mock, '__exit__', exit_mock )

    hostInfo = HostInfoLinux()

    os_path_isfile_mock.return_value = True
    self.assertEqual("never", hostInfo.getTransparentHugePage())

    os_path_isfile_mock.return_value = False
    self.assertEqual("", hostInfo.getTransparentHugePage())
示例#22
0
  def test_checkUsers(self, builtins_open_mock, path_mock):
    builtins_open_mock.return_value = [
      "hdfs:x:493:502:Hadoop HDFS:/usr/lib/hadoop:/bin/bash",
      "zookeeper:x:492:502:ZooKeeper:/var/run/zookeeper:/bin/bash"]
    path_mock.side_effect = [False, True, False]

    hostInfo = HostInfoLinux()
    results = []
    hostInfo.checkUsers(["zookeeper", "hdfs"], results)
    self.assertEqual(2, len(results))
    newlist = sorted(results, key=lambda k: k['name'])
    self.assertTrue(newlist[0]['name'], "hdfs")
    self.assertTrue(newlist[1]['name'], "zookeeper")
    self.assertTrue(newlist[0]['homeDir'], "/usr/lib/hadoop")
    self.assertTrue(newlist[1]['homeDir'], "/var/run/zookeeper")
    self.assertTrue(newlist[0]['status'], "Available")
    self.assertTrue(newlist[1]['status'], "Invalid home directory")
    print(path_mock.mock_calls)
  def test_hostinfo_register_suse(self, cit_mock, hvlc_mock, hvrc_mock, eac_mock, cf_mock, jp_mock,
                             cls_mock, cu_mock, gir_mock, gipbr_mock, gipbn_mock,
                             gpd_mock, aip_mock, aap_mock, whcf_mock, os_umask_mock, get_os_type_mock):
    cit_mock.return_value = True
    hvlc_mock.return_value = 1
    hvrc_mock.return_value = 1
    gipbr_mock.return_value = ["pkg1"]
    gipbn_mock.return_value = ["pkg2"]
    gpd_mock.return_value = ["pkg1", "pkg2"]
    get_os_type_mock.return_value = "suse"

    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, False, False)
    self.assertTrue(cit_mock.called)
    self.assertTrue(os_umask_mock.called)
    self.assertTrue(whcf_mock.called)

    self.assertTrue('agentTimeStampAtReporting' in dict['hostHealth'])
  def test_checkReverseLookup(self, gethostname_mock, gethostbyname_mock, getfqdn_mock):
    gethostname_mock.return_value = "test"
    gethostbyname_mock.side_effect = ["123.123.123.123", "123.123.123.123"]
    getfqdn_mock.return_value = "test.example.com"

    hostInfo = HostInfoLinux()

    self.assertTrue(hostInfo.checkReverseLookup())
    gethostbyname_mock.assert_any_call("test.example.com")
    gethostbyname_mock.assert_any_call("test")
    self.assertEqual(2, gethostbyname_mock.call_count)

    gethostbyname_mock.side_effect = ["123.123.123.123", "231.231.231.231"]

    self.assertFalse(hostInfo.checkReverseLookup())

    gethostbyname_mock.side_effect = ["123.123.123.123", "123.123.123.123"]
    getfqdn_mock.side_effect = socket.error()

    self.assertFalse(hostInfo.checkReverseLookup())
示例#25
0
  def test_checkReverseLookup(self, gethostname_mock, gethostbyname_mock, getfqdn_mock):
    gethostname_mock.return_value = "test"
    gethostbyname_mock.side_effect = ["123.123.123.123", "123.123.123.123"]
    getfqdn_mock.return_value = "test.example.com"

    hostInfo = HostInfoLinux()

    self.assertTrue(hostInfo.checkReverseLookup())
    gethostbyname_mock.assert_any_call("test.example.com")
    gethostbyname_mock.assert_any_call("test")
    self.assertEqual(2, gethostbyname_mock.call_count)

    gethostbyname_mock.side_effect = ["123.123.123.123", "231.231.231.231"]

    self.assertFalse(hostInfo.checkReverseLookup())

    gethostbyname_mock.side_effect = ["123.123.123.123", "123.123.123.123"]
    getfqdn_mock.side_effect = socket.error()

    self.assertFalse(hostInfo.checkReverseLookup())
示例#26
0
    def test_checkLiveServices(self, subproc_popen, get_os_type_method):
        hostInfo = HostInfoLinux()
        p = MagicMock()
        p.returncode = 0
        p.communicate.return_value = ('', 'err')
        subproc_popen.return_value = p
        result = []
        get_os_type_method.return_value = 'redhat'
        hostInfo.checkLiveServices(['service1'], result)

        self.assertEquals(result[0]['status'], 'Healthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], '')
        self.assertEquals(
            str(subproc_popen.call_args_list),
            "[call(['service', 'service1', 'status'], stderr=-1, stdout=-1)]")

        p.returncode = 1
        p.communicate.return_value = ('out', 'err')
        result = []
        hostInfo.checkLiveServices(['service1'], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], 'out')

        p.communicate.return_value = ('', 'err')
        result = []
        hostInfo.checkLiveServices(['service1'], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], 'err')

        p.communicate.return_value = ('', 'err', '')
        result = []
        hostInfo.checkLiveServices(['service1'], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertTrue(len(result[0]['desc']) > 0)
  def test_dirType(self, os_path_isfile_mock, os_path_isdir_mock, os_path_islink_mock, os_path_exists_mock):
    host = HostInfoLinux()

    os_path_exists_mock.return_value = False
    result = host.dirType("/home")
    self.assertEquals(result, 'not_exist')

    os_path_exists_mock.return_value = True
    os_path_islink_mock.return_value = True
    result = host.dirType("/home")
    self.assertEquals(result, 'sym_link')

    os_path_exists_mock.return_value = True
    os_path_islink_mock.return_value = False
    os_path_isdir_mock.return_value = True
    result = host.dirType("/home")
    self.assertEquals(result, 'directory')

    os_path_exists_mock.return_value = True
    os_path_islink_mock.return_value = False
    os_path_isdir_mock.return_value = False
    os_path_isfile_mock.return_value = True
    result = host.dirType("/home")
    self.assertEquals(result, 'file')

    os_path_exists_mock.return_value = True
    os_path_islink_mock.return_value = False
    os_path_isdir_mock.return_value = False
    os_path_isfile_mock.return_value = False
    result = host.dirType("/home")
    self.assertEquals(result, 'unknown')
  def test_checkLiveServices(self, subproc_popen, get_os_type_method):
    hostInfo = HostInfoLinux()
    p = MagicMock()
    p.returncode = 0
    p.communicate.return_value = ('', 'err')
    subproc_popen.return_value = p
    result = []
    get_os_type_method.return_value = 'redhat'
    hostInfo.checkLiveServices(['service1'], result)

    self.assertEquals(result[0]['status'], 'Healthy')
    self.assertEquals(result[0]['name'], 'service1')
    self.assertEquals(result[0]['desc'], '')
    self.assertEquals(str(subproc_popen.call_args_list),
                      "[call(['service', 'service1', 'status'], stderr=-1, stdout=-1)]")

    p.returncode = 1
    p.communicate.return_value = ('out', 'err')
    result = []
    hostInfo.checkLiveServices(['service1'], result)

    self.assertEquals(result[0]['status'], 'Unhealthy')
    self.assertEquals(result[0]['name'], 'service1')
    self.assertEquals(result[0]['desc'], 'out')

    p.communicate.return_value = ('', 'err')
    result = []
    hostInfo.checkLiveServices(['service1'], result)

    self.assertEquals(result[0]['status'], 'Unhealthy')
    self.assertEquals(result[0]['name'], 'service1')
    self.assertEquals(result[0]['desc'], 'err')

    p.communicate.return_value = ('', 'err', '')
    result = []
    hostInfo.checkLiveServices(['service1'], result)

    self.assertEquals(result[0]['status'], 'Unhealthy')
    self.assertEquals(result[0]['name'], 'service1')
    self.assertTrue(len(result[0]['desc']) > 0)
示例#29
0
  def test_hostinfo_register(self, get_transparentHuge_page_mock, cit_mock, hvlc_mock, hvrc_mock, eac_mock, cf_mock, jp_mock,
                             cls_mock, cu_mock, get_packages_mock, whcf_mock, os_umask_mock, get_os_type_mock):
    m = MagicMock()

    m.get_package_details.return_value = ["pkg1", "pkg2"]
    m.get_installed_pkgs_by_names.return_value = ["pkg2"]
    m.get_installed_pkgs_by_repo.return_value = ["pkg1"]

    get_packages_mock.return_value = m

    cit_mock.return_value = True
    hvlc_mock.return_value = 1
    hvrc_mock.return_value = 1
    get_os_type_mock.return_value = "redhat"

    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, True, True)
    self.verifyReturnedValues(dict)

    hostInfo.register(dict, True, False)
    self.verifyReturnedValues(dict)

    hostInfo.register(dict, False, True)
    self.verifyReturnedValues(dict)
    self.assertTrue(os_umask_mock.call_count == 2)

    cit_mock.reset_mock()
    hostInfo = HostInfoLinux()
    dict = {}
    hostInfo.register(dict, False, False)
    self.assertTrue(cit_mock.called)
    self.assertEqual(1, cit_mock.call_count)
示例#30
0
    def test_hostinfo_register(self, get_transparentHuge_page_mock, cit_mock,
                               hvlc_mock, hvrc_mock, eac_mock, cf_mock,
                               jp_mock, cls_mock, cu_mock, gir_mock,
                               gipbr_mock, gipbn_mock, gpd_mock, aip_mock,
                               aap_mock, whcf_mock, os_umask_mock,
                               get_os_type_mock):
        cit_mock.return_value = True
        hvlc_mock.return_value = 1
        hvrc_mock.return_value = 1
        gipbr_mock.return_value = ["pkg1"]
        gipbn_mock.return_value = ["pkg2"]
        gpd_mock.return_value = ["pkg1", "pkg2"]
        get_os_type_mock.return_value = "redhat"

        hostInfo = HostInfoLinux()
        dict = {}
        hostInfo.register(dict, True, True)
        self.verifyReturnedValues(dict)

        hostInfo.register(dict, True, False)
        self.verifyReturnedValues(dict)

        hostInfo.register(dict, False, True)
        self.verifyReturnedValues(dict)
        self.assertTrue(os_umask_mock.call_count == 2)

        cit_mock.reset_mock()
        hostInfo = HostInfoLinux()
        dict = {}
        hostInfo.register(dict, False, False)
        self.assertTrue(cit_mock.called)
        self.assertEqual(1, cit_mock.call_count)
示例#31
0
    def test_checkLiveServices(self, shell_call, get_os_type_method):
        get_os_type_method.return_value = 'redhat'
        hostInfo = HostInfoLinux()

        shell_call.return_value = (0, '', 'err')
        result = []
        hostInfo.checkLiveServices([('service1', )], result)

        self.assertEquals(result[0]['desc'], '')
        self.assertEquals(result[0]['status'], 'Healthy')
        self.assertEquals(result[0]['name'], 'service1')

        shell_call.return_value = (1, 'out', 'err')
        result = []
        hostInfo.checkLiveServices([('service1', )], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], 'out')

        shell_call.return_value = (1, '', 'err')
        result = []
        hostInfo.checkLiveServices([('service1', )], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], 'err')

        shell_call.return_value = (1, '', 'err')
        result = []
        hostInfo.checkLiveServices([('service1', )], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertTrue(len(result[0]['desc']) > 0)

        shell_call.return_value = (0, '', 'err')
        result = []
        hostInfo.checkLiveServices([(
            'service1',
            'service2',
        )], result)

        self.assertEquals(result[0]['status'], 'Healthy')
        self.assertEquals(result[0]['name'], 'service1 or service2')
        self.assertEquals(result[0]['desc'], '')

        shell_call.return_value = (1, 'out', 'err')
        result = []
        hostInfo.checkLiveServices([(
            'service1',
            'service2',
        )], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1 or service2')
        self.assertEquals(result[0]['desc'], 'out\nout')

        msg = 'thrown by shell call'
        shell_call.side_effect = Exception(msg)
        result = []
        hostInfo.checkLiveServices([('service1', )], result)

        self.assertEquals(result[0]['status'], 'Unhealthy')
        self.assertEquals(result[0]['name'], 'service1')
        self.assertEquals(result[0]['desc'], msg)