def test_supplied_feature_directory_no_steps(self): config = Mock() config.paths = ['features/group1'] config.verbose = True r = runner.Runner(config) fs = FsMock( 'features/', 'features/group1/', 'features/group1/foo.feature', ) with patch('os.path', fs): with patch('os.walk', fs.walk): assert_raises(ConfigError, r.setup_paths) ok_(('isdir', os.path.join(fs.base, 'features', 'steps')) in fs.calls)
def test_supplied_feature_file(self): config = Mock() config.paths = ['foo.feature'] config.verbose = True r = runner.Runner(config) r.context = Mock() fs = FsMock('steps/', 'foo.feature') with patch('os.path', fs): with patch('os.walk', fs.walk): with r.path_manager: r.setup_paths() ok_(('isdir', os.path.join(fs.base, 'steps')) in fs.calls) ok_(('isfile', os.path.join(fs.base, 'foo.feature')) in fs.calls) eq_(r.base_dir, fs.base)
def test_supplied_feature_file(self): config = create_mock_config() config.paths = ["foo.feature"] config.verbose = True r = runner.Runner(config) r.context = Mock() fs = FsMock("steps/", "foo.feature") with patch("os.path", fs): with patch("os.walk", fs.walk): with r.path_manager: r.setup_paths() ok_(("isdir", os.path.join(fs.base, "steps")) in fs.calls) ok_(("isfile", os.path.join(fs.base, "foo.feature")) in fs.calls) eq_(r.base_dir, fs.base)
def test_supplied_feature_directory_no_steps(self): config = create_mock_config() config.paths = ["features/group1"] config.verbose = True r = runner.Runner(config) fs = FsMock( "features/", "features/group1/", "features/group1/foo.feature", ) with patch("os.path", fs): with patch("os.walk", fs.walk): assert_raises(ConfigError, r.setup_paths) ok_(("isdir", os.path.join(fs.base, "features", "steps")) in fs.calls)
def setUp(self): self.config = Mock() self.config.reporters = [] self.config.logging_level = None self.config.logging_filter = None self.config.outputs = [Mock(), StreamOpener(stream=sys.stdout)] self.config.format = ["plain", "progress"] self.runner = runner.Runner(self.config) self.load_hooks = self.runner.load_hooks = Mock() self.load_step_definitions = self.runner.load_step_definitions = Mock() self.run_hook = self.runner.run_hook = Mock() self.run_step = self.runner.run_step = Mock() self.feature_locations = self.runner.feature_locations = Mock() self.calculate_summaries = self.runner.calculate_summaries = Mock() self.formatter_class = patch("behave.formatter.pretty.PrettyFormatter") formatter_class = self.formatter_class.start() formatter_class.return_value = self.formatter = Mock()
def test_default_path(self): config = create_mock_config() config.paths = [] config.verbose = True r = runner.Runner(config) fs = FsMock( "features/", "features/steps/", "features/group1/", "features/group1/foo.feature", ) with patch("os.path", fs): with patch("os.walk", fs.walk): with r.path_manager: r.setup_paths() eq_(r.base_dir, os.path.abspath("features"))
def test_start_stop_capture_switcheroos_sys_stdout(self): old_stdout = sys.stdout sys.stdout = new_stdout = Mock() r = runner.Runner(Mock()) r.config.stdout_capture = True r.config.log_capture = False r.context = Mock() r.setup_capture() r.start_capture() eq_(sys.stdout, r.capture_controller.stdout_capture) r.stop_capture() eq_(sys.stdout, new_stdout) sys.stdout = old_stdout
def test_default_path(self): config = Mock() config.paths = [] config.verbose = True r = runner.Runner(config) fs = FsMock( 'features/', 'features/steps/', 'features/group1/', 'features/group1/foo.feature', ) with patch('os.path', fs): with patch('os.walk', fs.walk): with r.path_manager: r.setup_paths() eq_(r.base_dir, os.path.abspath('features'))
def test_supplied_root_directory(self): config = create_mock_config() config.paths = ["features"] config.verbose = True r = runner.Runner(config) fs = FsMock( "features/", "features/group1/", "features/group1/foo.feature", "features/steps/", ) with patch("os.path", fs): with patch("os.walk", fs.walk): with r.path_manager: r.setup_paths() ok_(("isdir", os.path.join(fs.base, "features", "steps")) in fs.calls) eq_(r.base_dir, os.path.join(fs.base, "features"))
def test_supplied_feature_directory(self): config = Mock() config.paths = ['features/group1'] config.verbose = True r = runner.Runner(config) fs = FsMock( 'features/', 'features/group1/', 'features/group1/foo.feature', 'features/steps/', ) with patch('os.path', fs): with patch('os.walk', fs.walk): with r.path_manager: r.setup_paths() ok_(('isdir', os.path.join(fs.base, 'features', 'steps')) in fs.calls) eq_(r.base_dir, os.path.join(fs.base, 'features'))
def test_supplied_root_directory_no_steps(self): config = create_mock_config() config.paths = ["features"] config.verbose = True r = runner.Runner(config) fs = FsMock( "features/", "features/group1/", "features/group1/foo.feature", ) with patch("os.path", fs): with patch("os.walk", fs.walk): with r.path_manager: with pytest.raises(ConfigError): r.setup_paths() # OLD: assert_raises(ConfigError, r.setup_paths) # OLD: ok_(("isdir", os.path.join(fs.base, "features", "steps")) in fs.calls) assert ("isdir", os.path.join(fs.base, "features", "steps")) in fs.calls assert r.base_dir is None
def test_run_returns_false_if_anything_failed(self): r = runner.Runner(Mock()) r.setup_paths = Mock() r.run_with_paths = Mock() r.run_with_paths.return_value = False assert not r.run()
def test_run_returns_true_if_everything_passed(self): r = runner.Runner(Mock()) r.setup_paths = Mock() r.run_with_paths = Mock() r.run_with_paths.return_value = True assert r.run()