def tearDown(self): manager.config_loaded = False manager.shutdown_logger() if self.orig_cwd: os.chdir(self.orig_cwd) shutil.rmtree(self.tempdir) sys.path.remove(self.tempdir) else: # all tests took place in the project directory, so we # have to clean some crap out. for crap in ("ferenda.ini", "example.py", "index.html", "index.xhtml", "other.css", "rsrc", "data", "dummyfile.txt", "test.css", "test.js", "test.png"): util.robust_remove(crap)
def test_setup(self, mockprint): # restart the log system since setup() will do that otherwise manager.shutdown_logger() manager.setup_logger('CRITICAL') projdir = self.datadir + os.sep + 'myproject' argv = ['ferenda-build.py', projdir] # test1: normal, setup succeeds res = manager.setup(force=True, verbose=False, unattended=True, argv=argv) self.assertTrue(res) self.assertTrue(os.path.exists(projdir)) # test2: directory exists, setup fails res = manager.setup(verbose=False, unattended=True, argv=argv) self.assertFalse(res) shutil.rmtree(projdir) # test2: no argv, rely on sys.argv, assert False with patch('ferenda.manager.sys.argv'): self.assertFalse(manager.setup()) self.assertFalse(os.path.exists(projdir)) # test3: preflight fails with patch('ferenda.manager._preflight_check', return_value=False): self.assertFalse(manager.setup(unattended=True, argv=argv)) self.assertFalse(os.path.exists(projdir)) with patch('ferenda.manager.input', return_value="n") as input_mock: self.assertFalse(manager.setup(unattended=False, argv=argv)) self.assertFalse(os.path.exists(projdir)) self.assertTrue(input_mock.called) # test4: select_triplestore fails with patch('ferenda.manager._preflight_check', return_value=True): with patch('ferenda.manager._select_triplestore', return_value=(False, None, None)): self.assertFalse(manager.setup(unattended=True, argv=argv)) self.assertFalse(os.path.exists(projdir)) with patch('ferenda.manager.input', return_value="n") as input_mock: self.assertFalse(manager.setup(unattended=False, argv=argv)) self.assertFalse(os.path.exists(projdir)) self.assertTrue(input_mock.called)
def test_setup(self, mockprint): # restart the log system since setup() will do that otherwise manager.shutdown_logger() manager.setup_logger('CRITICAL') projdir = self.datadir+os.sep+'myproject' argv= ['ferenda-build.py', projdir] # test1: normal, setup succeeds res = manager.setup(force=True, verbose=False, unattended=True, argv=argv) self.assertTrue(res) self.assertTrue(os.path.exists(projdir)) # test2: directory exists, setup fails res = manager.setup(verbose=False, unattended=True, argv=argv) self.assertFalse(res) shutil.rmtree(projdir) # test2: no argv, rely on sys.argv, assert False with patch('ferenda.manager.sys.argv'): self.assertFalse(manager.setup()) self.assertFalse(os.path.exists(projdir)) # test3: preflight fails with patch('ferenda.manager._preflight_check', return_value=False): self.assertFalse(manager.setup(unattended=True, argv=argv)) self.assertFalse(os.path.exists(projdir)) with patch('ferenda.manager.input', return_value="n") as input_mock: self.assertFalse(manager.setup(unattended=False, argv=argv)) self.assertFalse(os.path.exists(projdir)) self.assertTrue(input_mock.called) # test4: select_triplestore fails with patch('ferenda.manager._preflight_check', return_value=True): with patch('ferenda.manager._select_triplestore', return_value=(False, None, None)): self.assertFalse(manager.setup(unattended=True, argv=argv)) self.assertFalse(os.path.exists(projdir)) with patch('ferenda.manager.input', return_value="n") as input_mock: self.assertFalse(manager.setup(unattended=False, argv=argv)) self.assertFalse(os.path.exists(projdir)) self.assertTrue(input_mock.called)
def tearDown(self): manager.shutdown_logger() os.chdir(self.orig_cwd) shutil.rmtree(self.tempdir) sys.path.remove(self.tempdir)