# api: foobar
# type: test
# title: depends: checks
# description: basic dependency resolving
# version: 2.5
# depends: core >= 2.0, existing
#
# Simulates some plugins to check against
import pytest
import pluginconf
import pluginconf.depends
import logging
logging.basicConfig(level=logging.DEBUG)
@pytest.fixture
def check():
deps = pluginconf.depends.DependencyValidation(
add={"core": 2.555, "config": 2.0, "existing": 0.1},
core=["IMPLICIT"],
)
deps.api = ["python", "foobar"]
return deps
@pytest.fixture
def update_stream(): # …/repo.json/streamtuner2/contrib/*.py
return [
{
"$name": "new-plugin",
"$type": "x-py",
"$dist": "app/foobar",
"$file": "http://...",
"api": "foobar",
"version": "2.0",
"title": "new",
"config": "-",
"priority": "deprecated",
}
]
@pytest.fixture
def mod1():
return pluginconf.plugin_meta(filename=__file__)
def self_depends(check, mod1):
assert check.depends(mod1)
def self_api_match(check, update_stream):
print(check.have)
assert check.valid(update_stream[0])