def test_install_dryrun(self): """Install a file in dry-run mode""" tmp = Utils.makeTempFile("") act = Install(self.localname, self.fs, tmp.name, dryrun=True) self.mock_copy(act) act.launch() self.fs._run_actions() text = '[COPY] %s on %s' % (tmp.name, self.localname) self.assertEqual(self.eh.msglist[0], text) self.assertEqual(len(self.eh.msglist), 1) # Status checks self.assertEqual(act.status(), ACT_OK)
def test_install_bad_file(self): """Install a non-existent file is corrected reported""" act = Install(self.localname, self.fs, '/bad/file') act.launch() self.fs._run_actions() text = '[COPY] /bad/file on %s' % self.localname self.assertEqual(self.eh.msglist[0], text) text = "Updating configuration file `file' on %s" % self.localname self.assertEqual(self.eh.msglist[1], text) self.assertEqual(len(self.eh.msglist), 2) # Status checks self.assertEqual(act.status(), ACT_ERROR)
def test_install_ok(self): """Install a simple file""" tmp = Utils.makeTempFile('') act = Install(self.localname, self.fs, tmp.name) act.launch() self.fs._run_actions() msgs = ['[COPY] %s on %s' % (tmp.name, self.localname), "Updating configuration file `%s' on %s" % \ (os.path.basename(tmp.name), self.localname)] self.assertEqual(self.eh.msglist, msgs) # Status checks self.assertEqual(act.status(), ACT_OK)
def test_install_bad_nodes(self): """Install to a bad node is corrected reported""" tmp = Utils.makeTempFile("") act = Install(self.badnames, self.fs, tmp.name) act.launch() self.fs._run_actions() text = '[COPY] %s on %s' % (tmp.name, self.badnames) self.assertEqual(self.eh.msglist[0], text) text = "Updating configuration file `%s' on %d servers" % \ (os.path.basename(tmp.name), len(self.badnames)) self.assertEqual(self.eh.msglist[1], text) self.assertEqual(len(self.eh.msglist), 2) # Status checks self.assertEqual(act.status(), ACT_ERROR)
def test_install_mix_nodes(self): """Install to a mix of bad and good nodes is correctly reported""" tmp = Utils.makeTempFile("") act = Install(self.badnames | self.localname, self.fs, tmp.name) act.launch() self.fs._run_actions() text = '[COPY] %s on %s' % (tmp.name, self.badnames | self.localname) self.assertEqual(self.eh.msglist[0], text) text = "Updating configuration file `%s' on %d servers" % \ (os.path.basename(tmp.name), len(self.badnames | self.localname)) self.assertEqual(self.eh.msglist[1], text) self.assertEqual(len(self.eh.msglist), 2) self.assertEqual(len(self.fs.proxy_errors), 15) # Status checks self.assertEqual(act.status(), ACT_ERROR)