def assert_resolved(*, entry_point: Optional[str], expected: Optional[EntryPoint]) -> None: addr = Address("src/python/project") rule_runner.create_file("src/python/project/app.py") rule_runner.create_file("src/python/project/f2.py") ep_field = PexEntryPointField(entry_point, address=addr) result = rule_runner.request(ResolvedPexEntryPoint, [ResolvePexEntryPointRequest(ep_field)]) assert result.val == expected
def test_entry_point_validation(caplog) -> None: addr = Address("src/python/project") with pytest.raises(InvalidFieldException): PexEntryPointField(" ", addr) with pytest.raises(InvalidFieldException): PexEntryPointField("modue:func:who_knows_what_this_is", addr) with pytest.raises(InvalidFieldException): PexEntryPointField(":func", addr) ep = "custom.entry_point:" with caplog.at_level(logging.WARNING): assert EntryPoint("custom.entry_point") == PexEntryPointField(ep, addr).value assert len(caplog.record_tuples) == 1 _, levelno, message = caplog.record_tuples[0] assert logging.WARNING == levelno assert ep in message assert str(addr) in message
def assert_resolved(*, entry_point: str | None, expected: EntryPoint | None, is_file: bool) -> None: addr = Address("src/python/project") rule_runner.create_file("src/python/project/app.py") rule_runner.create_file("src/python/project/f2.py") ep_field = PexEntryPointField(entry_point, addr) result = rule_runner.request(ResolvedPexEntryPoint, [ResolvePexEntryPointRequest(ep_field)]) assert result.val == expected assert result.file_name_used == is_file
def assert_resolved( *, entry_point: Optional[str], source: Optional[str] = None, expected: Optional[str] ) -> None: addr = Address("src/python/project") rule_runner.create_file("src/python/project/app.py") rule_runner.create_file("src/python/project/f2.py") ep_field = PexEntryPointField(entry_point, address=addr) sources = DeprecatedPexBinarySources([source] if source else None, address=addr) result = rule_runner.request( ResolvedPexEntryPoint, [ResolvePexEntryPointRequest(ep_field, sources)] ) assert result.val == expected
def test_entry_point_filespec(entry_point: Optional[str], expected: List[str]) -> None: field = PexEntryPointField(entry_point, address=Address("project/dir")) assert field.filespec == {"includes": expected}
def test_entry_point_filespec(entry_point: str | None, expected: list[str]) -> None: field = PexEntryPointField(entry_point, Address("project/dir")) assert field.filespec == {"includes": expected}