def test_discover_session_functions_decorator(): # Define sessions using the decorator. @nox.session def foo(): pass @nox.session def bar(): pass def notasession(): pass # Mock up a nox.py module and configuration. mock_module = Namespace( __name__=foo.__module__, foo=foo, bar=bar, notasession=notasession, ) config = Namespace(sessions=(), keywords=()) # Get the manifest and establish that it looks like what we expect. manifest = tasks.discover_manifest(mock_module, config) sessions = list(manifest) assert [s.func for s in sessions] == [foo, bar] assert [str(i) for i in sessions] == ['foo', 'bar']
def test_discover_session_functions_decorator(): # Define sessions using the decorator. @nox.session def foo(): pass @nox.session def bar(): pass @nox.session(name="not-a-bar") def not_a_bar(): pass def notasession(): pass # Mock up a noxfile.py module and configuration. mock_module = argparse.Namespace(__name__=foo.__module__, foo=foo, bar=bar, notasession=notasession) config = _options.options.namespace(sessions=(), keywords=(), posargs=[]) # Get the manifest and establish that it looks like what we expect. manifest = tasks.discover_manifest(mock_module, config) sessions = list(manifest) assert [s.func for s in sessions] == [foo, bar, not_a_bar] assert [i.friendly_name for i in sessions] == ["foo", "bar", "not-a-bar"]
def test_discover_manifest_naming_convention(): # Define sessions with the correct naming convention. def session_1(): pass def session_2(): pass def notasession(): pass # Mock up a nox.py module and configuration. mock_module = Namespace( __name__='irrelevant', session_1=session_1, session_2=session_2, notasession=notasession, ) config = Namespace(sessions=(), keywords=()) # Get the manifest and establish that it looks like what we expect. manifest = tasks.discover_manifest(mock_module, config) sessions = list(manifest) assert [s.func for s in sessions] == [session_1, session_2] assert [str(i) for i in sessions] == ['1', '2']
def _session_completer(prefix, parsed_args, **kwargs): global_config = parsed_args module = load_nox_module(global_config) manifest = discover_manifest(module, global_config) filtered_manifest = filter_manifest(manifest, global_config) return [ session.friendly_name for session, _ in filtered_manifest.list_all_sessions() ]
def _session_completer(prefix: str, parsed_args: argparse.Namespace, **kwargs: Any) -> List[str]: global_config = parsed_args module = load_nox_module(global_config) manifest = discover_manifest(module, global_config) filtered_manifest = filter_manifest(manifest, global_config) if isinstance(filtered_manifest, int): return [] return [ session.friendly_name for session, _ in filtered_manifest.list_all_sessions() ]
def test_discover_session_functions_decorator(): # Define sessions using the decorator. @nox.session def foo(): pass @nox.session def bar(): pass def notasession(): pass # Mock up a noxfile.py module and configuration. mock_module = argparse.Namespace( __name__=foo.__module__, foo=foo, bar=bar, notasession=notasession ) config = argparse.Namespace(sessions=(), keywords=()) # Get the manifest and establish that it looks like what we expect. manifest = tasks.discover_manifest(mock_module, config) sessions = list(manifest) assert [s.func for s in sessions] == [foo, bar] assert [i.friendly_name for i in sessions] == ["foo", "bar"]