Pytest plugin to test the YLS as a whole.
Project description
pytest-yls
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest_yls-1.4.0.tar.gz
(6.1 kB
view details)
Built Distribution
File details
Details for the file pytest_yls-1.4.0.tar.gz
.
File metadata
- Download URL: pytest_yls-1.4.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-71-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
1c07ae50205db2a051cf8e2fe6a043143f4dbc0473b07e72c0b5716a4aa17e20
|
|
MD5 |
b5b1d78317a0091c4d6ed8843f169b88
|
|
BLAKE2b-256 |
23045e1bda7c62829ccace4aa832aa5457246c89faa277c6eb5629d43b333687
|
File details
Details for the file pytest_yls-1.4.0-py3-none-any.whl
.
File metadata
- Download URL: pytest_yls-1.4.0-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.10.12 Linux/5.15.0-71-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
2a94fe93e11373611a270fa9679b8548e85b4254c079cc604a2147d659fb2979
|
|
MD5 |
5b272c9a4d3c754fc836eda312e34c7b
|
|
BLAKE2b-256 |
db44d29eb5783a25da81e392e77b8a054dfb8763139fafad0ad622fdc62ea9c5
|