예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
    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)
예제 #4
0
    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)
예제 #5
0
 def tearDown(self):
     manager.shutdown_logger()
     os.chdir(self.orig_cwd)
     shutil.rmtree(self.tempdir)
     sys.path.remove(self.tempdir)