Skip to main content

pytest-yls

PyPI

Pytest plugin adding primitives for E2E/integration tests.

Public fixtures:

  • yls_prepare
  • yls_prepare_with_settings

To interact with the tested YLS use Context obtained by calling the fixture. For more information about the Context class checkout plugin.py.

Example test

# Add yls_prepare fixture
def test_completion_basic(yls_prepare):
    # Prepare the tested file
    # <$> marks the cursor position
    contents = """rule test {
    condition:
        <$>
}"""
    
    # Initialize the testing context by calling the fixture
    context = yls_prepare(contents)

    # You can now simulate requests on the context
    # In this case we trigger the code completion
    response = context.send_request(
        methods.COMPLETION,
        types.CompletionParams(
            textDocument=types.TextDocumentIdentifier(uri=context.opened_file.as_uri()),
            position=context.get_cursor_position(),
        ),
    )

    # Assert the response how you want
    assert response
    for module in ["cuckoo", "elf", "pe", "time"]:
        assert any(
            module in item["label"] for item in response["items"]
        ), f"{module=} is not in response"

For more inspiration check out yls/tests.

License

Copyright (c) 2022 Avast Software, licensed under the MIT license. See the LICENSE file for more details.

Release files for pytest-yls 1.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytest-yls 1.4.4
File Size Uploaded
pytest_yls-1.4.4.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytest-yls 1.4.4
File Interpreter ABI Platform
pytest_yls-1.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 13.2 kB

Release files / pytest_yls-1.4.4.tar.gz

Download URL pytest_yls-1.4.4.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
6ede83ddbb38b4d70755d5b04f1c2a572911ab559e4692e10e3d48e2de0e2427
BLAKE2b-256 checksum
How to use checksums
baa9abf1f81b43114c59cdf5ef1109f51ad44a2d60fc7a18a2606e61575fc749
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.2 Darwin/23.6.0

Release files / pytest_yls-1.4.4-py3-none-any.whl

Download URL pytest_yls-1.4.4-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0300ceccfc97b2c7aa4a035b710c2abe805d082d0967320afa19ad5592c1ddf8
BLAKE2b-256 checksum
How to use checksums
1e1bdab79ec19f0eb9b7782cd6d0f5572c894addd72d8ebf7132d0b84eec18ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.2 Darwin/23.6.0

Release history Release notifications | RSS feed

This release

1.4.4 This release

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page