def test_write_host_stack_list(self, list_mock, exists_mock): exists_mock.return_value = True list_mock.return_value = ["1.1.1.1-1234", "current", "test"] tmpfile = tempfile.mktemp() config = ConfigParser.RawConfigParser() config.add_section('agent') config.set('agent', 'prefix', os.path.dirname(tmpfile)) handler = HostCheckReportFileHandler(config) mydict = {} mydict['hostHealth'] = {} mydict['stackFoldersAndFiles'] = [{ 'name': '/a/b', 'type': 'directory' }, { 'name': '/a/b.txt', 'type': 'file' }] handler.writeHostCheckFile(mydict) configValidator = ConfigParser.RawConfigParser() configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE) configValidator.read(configPath) paths = configValidator.get('directories', 'dir_list') self.chkItemsEqual( paths, ['/a/b', '/a/b.txt', '/usr/hdp/1.1.1.1-1234', '/usr/hdp/current'])
def test_write_host_check_report(self): tmpfile = tempfile.mktemp() config = ConfigParser.RawConfigParser() config.add_section('agent') config.set('agent', 'prefix', os.path.dirname(tmpfile)) handler = HostCheckReportFileHandler(config) dict = {} dict['hostHealth'] = {} dict['existingUsers'] = [{'name':'user1', 'homeDir':'/var/log', 'status':'Exists'}] dict['alternatives'] = [ {'name':'/etc/alternatives/hadoop-conf', 'target':'/etc/hadoop/conf.dist'}, {'name':'/etc/alternatives/hbase-conf', 'target':'/etc/hbase/conf.1'} ] dict['stackFoldersAndFiles'] = [{'name':'/a/b', 'type':'directory'},{'name':'/a/b.txt', 'type':'file'}] dict['hostHealth']['activeJavaProcs'] = [ {'pid':355,'hadoop':True,'command':'some command','user':'******'}, {'pid':455,'hadoop':True,'command':'some command','user':'******'} ] dict['installedPackages'] = [ {'name':'hadoop','version':'3.2.3','repoName':'HDP'}, {'name':'hadoop-lib','version':'3.2.3','repoName':'HDP'} ] dict['existingRepos'] = ['HDP', 'HDP-epel'] handler.writeHostCheckFile(dict) configValidator = ConfigParser.RawConfigParser() configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE) configValidator.read(configPath) users = configValidator.get('users', 'usr_list') homedirs = configValidator.get('users', 'usr_homedir_list') self.assertEquals(users, 'user1') self.assertEquals(homedirs, '/var/log') names = configValidator.get('alternatives', 'symlink_list') targets = configValidator.get('alternatives', 'target_list') self.chkItemsEqual(names, ['/etc/alternatives/hadoop-conf', '/etc/alternatives/hbase-conf']) self.chkItemsEqual(targets, ['/etc/hadoop/conf.dist','/etc/hbase/conf.1']) paths = configValidator.get('directories', 'dir_list') self.chkItemsEqual(paths, ['/a/b','/a/b.txt']) procs = configValidator.get('processes', 'proc_list') self.chkItemsEqual(procs, ['455', '355']) pkgs = configValidator.get('packages', 'pkg_list') self.chkItemsEqual(pkgs, ['hadoop', 'hadoop-lib']) repos = configValidator.get('repositories', 'repo_list') self.chkItemsEqual(repos, ['HDP', 'HDP-epel']) time = configValidator.get('metadata', 'created') self.assertTrue(time != None)
def test_write_host_check_report_really_empty(self): tmpfile = tempfile.mktemp() config = ConfigParser.RawConfigParser() config.add_section('agent') config.set('agent', 'prefix', os.path.dirname(tmpfile)) handler = HostCheckReportFileHandler(config) dict = {} handler.writeHostCheckFile(dict) configValidator = ConfigParser.RawConfigParser() configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE) configValidator.read(configPath) if configValidator.has_section('users'): users = configValidator.get('users', 'usr_list') self.assertEquals(users, '')
def test_write_host_check_report_empty(self): tmpfile = tempfile.mktemp() config = ConfigParser.RawConfigParser() config.add_section('agent') config.set('agent', 'prefix', os.path.dirname(tmpfile)) handler = HostCheckReportFileHandler(config) dict = {} dict['hostHealth'] = {} dict['existingUsers'] = [] dict['alternatives'] = [] dict['stackFoldersAndFiles'] = [] dict['hostHealth']['activeJavaProcs'] = [] dict['installedPackages'] = [] dict['existingRepos'] = [] handler.writeHostCheckFile(dict) configValidator = ConfigParser.RawConfigParser() configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE) configValidator.read(configPath) users = configValidator.get('users', 'usr_list') users = configValidator.get('users', 'usr_homedir_list') self.assertEquals(users, '') names = configValidator.get('alternatives', 'symlink_list') targets = configValidator.get('alternatives', 'target_list') self.assertEquals(names, '') self.assertEquals(targets, '') paths = configValidator.get('directories', 'dir_list') self.assertEquals(paths, '') procs = configValidator.get('processes', 'proc_list') self.assertEquals(procs, '') pkgs = configValidator.get('packages', 'pkg_list') self.assertEquals(pkgs, '') repos = configValidator.get('repositories', 'repo_list') self.assertEquals(repos, '') time = configValidator.get('metadata', 'created') self.assertTrue(time != None)
def test_write_host_stack_list(self, list_mock, exists_mock): exists_mock.return_value = True list_mock.return_value = ["1.1.1.1-1234", "current", "test"] tmpfile = tempfile.mktemp() config = ConfigParser.RawConfigParser() config.add_section('agent') config.set('agent', 'prefix', os.path.dirname(tmpfile)) handler = HostCheckReportFileHandler(config) mydict = {} mydict['hostHealth'] = {} mydict['stackFoldersAndFiles'] = [{'name':'/a/b', 'type':'directory'},{'name':'/a/b.txt', 'type':'file'}] handler.writeHostCheckFile(mydict) configValidator = ConfigParser.RawConfigParser() configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE) configValidator.read(configPath) paths = configValidator.get('directories', 'dir_list') self.chkItemsEqual(paths, ['/a/b', '/a/b.txt', '/usr/hdp/1.1.1.1-1234', '/usr/hdp/current'])