Skip to content

Commit 0ed4c16

Browse files
testing
1 parent 72c3397 commit 0ed4c16

File tree

5 files changed

+40
-8
lines changed

5 files changed

+40
-8
lines changed

pyproject.toml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,13 @@ readme = "README.md"
99
python = "^3.11"
1010
snakemake-interface-common = "^1.16.0"
1111

12-
[tool.poetry.dev-dependencies]
12+
[tool.poetry.group.dev.dependencies]
13+
pytest = "^8.0.0"
14+
snakemake = { git = "https://github.com/snakemake/snakemake.git", branch = "feat/report-plugins" }
1315
black = "^24.2.0"
1416
flake8 = "^7.0.0"
1517
coverage = "^7.4.1"
1618

17-
[tool.poetry.group.dev.dependencies]
18-
pytest = "^8.0.0"
19-
2019
[build-system]
2120
requires = ["poetry-core"]
2221
build-backend = "poetry.core.masonry.api"

snakemake_interface_report_plugins/registry/plugin.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from snakemake_interface_report_plugins.settings import (
99
ReportSettingsBase,
1010
)
11-
from snakemake_interface_storage_plugins import common
11+
from snakemake_interface_report_plugins import common
1212

1313
from snakemake_interface_common.plugin_registry.plugin import PluginBase
1414

@@ -25,7 +25,7 @@ def name(self):
2525

2626
@property
2727
def cli_prefix(self):
28-
return "report-" + self.name.replace(common.storage_plugin_module_prefix, "")
28+
return "report-" + self.name.replace(common.report_plugin_module_prefix, "")
2929

3030
@property
3131
def settings_cls(self):

snakemake_interface_report_plugins/reporter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66

77
from abc import ABC, abstractmethod
88
from typing import List, Mapping
9-
from snakemake_interface_report_plugin.interfaces import (
9+
from snakemake_interface_report_plugins.interfaces import (
1010
CategoryInterface,
1111
ConfigFileRecordInterface,
1212
JobRecordInterface,
1313
RuleRecordInterface,
1414
)
15-
from snakemake_interface_report_plugin.settings import ReportSettingsBase
15+
from snakemake_interface_report_plugins.settings import ReportSettingsBase
1616
from snakemake_interface_report_plugins.interfaces import DAGReportInterface
1717

1818

tests/__init__.py

Whitespace-only changes.

tests/tests.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
from typing import List
2+
from snakemake_interface_report_plugins.registry import ReportPluginRegistry
3+
from snakemake_interface_common.plugin_registry.tests import TestRegistryBase
4+
from snakemake_interface_common.plugin_registry.plugin import PluginBase, SettingsBase
5+
from snakemake_interface_common.plugin_registry import PluginRegistryBase
6+
7+
from snakemake.report import html_reporter
8+
9+
10+
class TestRegistry(TestRegistryBase):
11+
__test__ = True
12+
13+
def get_registry(self) -> PluginRegistryBase:
14+
15+
# ensure that the singleton is reset
16+
ReportPluginRegistry._instance = None
17+
registry = ReportPluginRegistry()
18+
registry.register_plugin("html", html_reporter)
19+
20+
return registry
21+
22+
def get_test_plugin_name(self) -> str:
23+
return "html"
24+
25+
def validate_plugin(self, plugin: PluginBase):
26+
assert plugin._report_settings_cls is not None
27+
assert plugin.reporter is not None
28+
29+
def validate_settings(self, settings: SettingsBase, plugin: PluginBase):
30+
assert isinstance(settings, plugin._report_settings_cls)
31+
32+
def get_example_args(self) -> List[str]:
33+
return ["--report-html-path", "report.zip"]

0 commit comments

Comments
 (0)