ddeutil-workflow 0.0.25__tar.gz → 0.0.26__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ddeutil_workflow-0.0.25/src/ddeutil_workflow.egg-info → ddeutil_workflow-0.0.26}/PKG-INFO +5 -22
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/README.md +4 -20
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/pyproject.toml +0 -5
- ddeutil_workflow-0.0.26/src/ddeutil/workflow/__about__.py +1 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26/src/ddeutil_workflow.egg-info}/PKG-INFO +5 -22
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/SOURCES.txt +0 -3
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/requires.txt +0 -1
- ddeutil_workflow-0.0.25/src/ddeutil/workflow/__about__.py +0 -1
- ddeutil_workflow-0.0.25/src/ddeutil/workflow/cli.py +0 -108
- ddeutil_workflow-0.0.25/src/ddeutil_workflow.egg-info/entry_points.txt +0 -2
- ddeutil_workflow-0.0.25/tests/test_cli.py +0 -44
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/LICENSE +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/setup.cfg +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/__cron.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/__init__.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/__types.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/api/__init__.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/api/api.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/api/repeat.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/api/route.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/conf.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/cron.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/exceptions.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/job.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/params.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/result.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/scheduler.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/stage.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/utils.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil/workflow/workflow.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/dependency_links.txt +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/top_level.txt +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test__cron.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test__regex.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_conf.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_conf_log.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_cron_on.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_job.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_job_exec_py.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_job_exec_strategy.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_job_strategy.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_params.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_result.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_schedule.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_schedule_control.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_schedule_tasks.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_stage.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_stage_exec_bash.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_stage_exec_hook.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_stage_exec_py.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_stage_exec_trigger.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_utils.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_utils_filter.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_utils_tag.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_utils_template.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_exec.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_exec_hook.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_exec_needs.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_job_exec.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_poke.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_release.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_release_and_queue.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_schedule.py +0 -0
- {ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_task.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ddeutil-workflow
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.26
|
4
4
|
Summary: Lightweight workflow orchestration with less dependencies
|
5
5
|
Author-email: ddeutils <korawich.anu@gmail.com>
|
6
6
|
License: MIT
|
@@ -26,7 +26,6 @@ Requires-Dist: ddeutil>=0.4.3
|
|
26
26
|
Requires-Dist: ddeutil-io[toml,yaml]>=0.2.3
|
27
27
|
Requires-Dist: pydantic==2.10.4
|
28
28
|
Requires-Dist: python-dotenv==1.0.1
|
29
|
-
Requires-Dist: typer==0.15.1
|
30
29
|
Requires-Dist: schedule<2.0.0,==1.2.2
|
31
30
|
Provides-Extra: api
|
32
31
|
Requires-Dist: fastapi<1.0.0,>=0.115.0; extra == "api"
|
@@ -80,20 +79,10 @@ This project need `ddeutil` and `ddeutil-io` extension namespace packages.
|
|
80
79
|
If you want to install this package with application add-ons, you should add
|
81
80
|
`app` in installation;
|
82
81
|
|
83
|
-
| Usecase
|
84
|
-
|
85
|
-
| Python
|
86
|
-
| FastAPI Server
|
87
|
-
|
88
|
-
> :egg: **Docker Images** supported:
|
89
|
-
>
|
90
|
-
> | Docker Image | Python Version | Support |
|
91
|
-
> |-----------------------------|----------------|---------|
|
92
|
-
> | ddeutil-workflow:latest | `3.9` | :x: |
|
93
|
-
> | ddeutil-workflow:python3.10 | `3.10` | :x: |
|
94
|
-
> | ddeutil-workflow:python3.11 | `3.11` | :x: |
|
95
|
-
> | ddeutil-workflow:python3.12 | `3.12` | :x: |
|
96
|
-
> | ddeutil-workflow:python3.12 | `3.13` | :x: |
|
82
|
+
| Usecase | Install Optional | Support |
|
83
|
+
|----------------|------------------------------------------|--------------------|
|
84
|
+
| Python | `pip install ddeutil-workflow` | :heavy_check_mark: |
|
85
|
+
| FastAPI Server | `pip install ddeutil-workflow[api]` | :heavy_check_mark: |
|
97
86
|
|
98
87
|
## :beers: Usage
|
99
88
|
|
@@ -215,12 +204,6 @@ This package able to run as a application service for receive manual trigger
|
|
215
204
|
from the master node via RestAPI or use to be Scheduler background service
|
216
205
|
like crontab job but via Python API.
|
217
206
|
|
218
|
-
### CLI
|
219
|
-
|
220
|
-
```shell
|
221
|
-
(venv) $ ddeutil-workflow schedule
|
222
|
-
```
|
223
|
-
|
224
207
|
### API Server
|
225
208
|
|
226
209
|
```shell
|
@@ -47,20 +47,10 @@ This project need `ddeutil` and `ddeutil-io` extension namespace packages.
|
|
47
47
|
If you want to install this package with application add-ons, you should add
|
48
48
|
`app` in installation;
|
49
49
|
|
50
|
-
| Usecase
|
51
|
-
|
52
|
-
| Python
|
53
|
-
| FastAPI Server
|
54
|
-
|
55
|
-
> :egg: **Docker Images** supported:
|
56
|
-
>
|
57
|
-
> | Docker Image | Python Version | Support |
|
58
|
-
> |-----------------------------|----------------|---------|
|
59
|
-
> | ddeutil-workflow:latest | `3.9` | :x: |
|
60
|
-
> | ddeutil-workflow:python3.10 | `3.10` | :x: |
|
61
|
-
> | ddeutil-workflow:python3.11 | `3.11` | :x: |
|
62
|
-
> | ddeutil-workflow:python3.12 | `3.12` | :x: |
|
63
|
-
> | ddeutil-workflow:python3.12 | `3.13` | :x: |
|
50
|
+
| Usecase | Install Optional | Support |
|
51
|
+
|----------------|------------------------------------------|--------------------|
|
52
|
+
| Python | `pip install ddeutil-workflow` | :heavy_check_mark: |
|
53
|
+
| FastAPI Server | `pip install ddeutil-workflow[api]` | :heavy_check_mark: |
|
64
54
|
|
65
55
|
## :beers: Usage
|
66
56
|
|
@@ -182,12 +172,6 @@ This package able to run as a application service for receive manual trigger
|
|
182
172
|
from the master node via RestAPI or use to be Scheduler background service
|
183
173
|
like crontab job but via Python API.
|
184
174
|
|
185
|
-
### CLI
|
186
|
-
|
187
|
-
```shell
|
188
|
-
(venv) $ ddeutil-workflow schedule
|
189
|
-
```
|
190
|
-
|
191
175
|
### API Server
|
192
176
|
|
193
177
|
```shell
|
@@ -30,7 +30,6 @@ dependencies = [
|
|
30
30
|
"ddeutil-io[yaml,toml]>=0.2.3",
|
31
31
|
"pydantic==2.10.4",
|
32
32
|
"python-dotenv==1.0.1",
|
33
|
-
"typer==0.15.1",
|
34
33
|
"schedule==1.2.2,<2.0.0",
|
35
34
|
]
|
36
35
|
dynamic = ["version"]
|
@@ -44,9 +43,6 @@ api = [
|
|
44
43
|
Homepage = "https://github.com/ddeutils/ddeutil-workflow/"
|
45
44
|
"Source Code" = "https://github.com/ddeutils/ddeutil-workflow/"
|
46
45
|
|
47
|
-
[project.scripts]
|
48
|
-
ddeutil-workflow = "ddeutil.workflow.cli:cli"
|
49
|
-
|
50
46
|
[tool.setuptools.dynamic]
|
51
47
|
version = {attr = "ddeutil.workflow.__about__.__version__"}
|
52
48
|
|
@@ -65,7 +61,6 @@ source = ["ddeutil.workflow"]
|
|
65
61
|
omit = [
|
66
62
|
"src/ddeutil/workflow/__about__.py",
|
67
63
|
"src/ddeutil/workflow/__cron.py",
|
68
|
-
"src/ddeutil/workflow/cli.py",
|
69
64
|
"src/ddeutil/workflow/api/__init__.py",
|
70
65
|
"src/ddeutil/workflow/api/api.py",
|
71
66
|
"src/ddeutil/workflow/api/repeat.py",
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__: str = "0.0.26"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: ddeutil-workflow
|
3
|
-
Version: 0.0.
|
3
|
+
Version: 0.0.26
|
4
4
|
Summary: Lightweight workflow orchestration with less dependencies
|
5
5
|
Author-email: ddeutils <korawich.anu@gmail.com>
|
6
6
|
License: MIT
|
@@ -26,7 +26,6 @@ Requires-Dist: ddeutil>=0.4.3
|
|
26
26
|
Requires-Dist: ddeutil-io[toml,yaml]>=0.2.3
|
27
27
|
Requires-Dist: pydantic==2.10.4
|
28
28
|
Requires-Dist: python-dotenv==1.0.1
|
29
|
-
Requires-Dist: typer==0.15.1
|
30
29
|
Requires-Dist: schedule<2.0.0,==1.2.2
|
31
30
|
Provides-Extra: api
|
32
31
|
Requires-Dist: fastapi<1.0.0,>=0.115.0; extra == "api"
|
@@ -80,20 +79,10 @@ This project need `ddeutil` and `ddeutil-io` extension namespace packages.
|
|
80
79
|
If you want to install this package with application add-ons, you should add
|
81
80
|
`app` in installation;
|
82
81
|
|
83
|
-
| Usecase
|
84
|
-
|
85
|
-
| Python
|
86
|
-
| FastAPI Server
|
87
|
-
|
88
|
-
> :egg: **Docker Images** supported:
|
89
|
-
>
|
90
|
-
> | Docker Image | Python Version | Support |
|
91
|
-
> |-----------------------------|----------------|---------|
|
92
|
-
> | ddeutil-workflow:latest | `3.9` | :x: |
|
93
|
-
> | ddeutil-workflow:python3.10 | `3.10` | :x: |
|
94
|
-
> | ddeutil-workflow:python3.11 | `3.11` | :x: |
|
95
|
-
> | ddeutil-workflow:python3.12 | `3.12` | :x: |
|
96
|
-
> | ddeutil-workflow:python3.12 | `3.13` | :x: |
|
82
|
+
| Usecase | Install Optional | Support |
|
83
|
+
|----------------|------------------------------------------|--------------------|
|
84
|
+
| Python | `pip install ddeutil-workflow` | :heavy_check_mark: |
|
85
|
+
| FastAPI Server | `pip install ddeutil-workflow[api]` | :heavy_check_mark: |
|
97
86
|
|
98
87
|
## :beers: Usage
|
99
88
|
|
@@ -215,12 +204,6 @@ This package able to run as a application service for receive manual trigger
|
|
215
204
|
from the master node via RestAPI or use to be Scheduler background service
|
216
205
|
like crontab job but via Python API.
|
217
206
|
|
218
|
-
### CLI
|
219
|
-
|
220
|
-
```shell
|
221
|
-
(venv) $ ddeutil-workflow schedule
|
222
|
-
```
|
223
|
-
|
224
207
|
### API Server
|
225
208
|
|
226
209
|
```shell
|
{ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/SOURCES.txt
RENAMED
@@ -5,7 +5,6 @@ src/ddeutil/workflow/__about__.py
|
|
5
5
|
src/ddeutil/workflow/__cron.py
|
6
6
|
src/ddeutil/workflow/__init__.py
|
7
7
|
src/ddeutil/workflow/__types.py
|
8
|
-
src/ddeutil/workflow/cli.py
|
9
8
|
src/ddeutil/workflow/conf.py
|
10
9
|
src/ddeutil/workflow/cron.py
|
11
10
|
src/ddeutil/workflow/exceptions.py
|
@@ -23,12 +22,10 @@ src/ddeutil/workflow/api/route.py
|
|
23
22
|
src/ddeutil_workflow.egg-info/PKG-INFO
|
24
23
|
src/ddeutil_workflow.egg-info/SOURCES.txt
|
25
24
|
src/ddeutil_workflow.egg-info/dependency_links.txt
|
26
|
-
src/ddeutil_workflow.egg-info/entry_points.txt
|
27
25
|
src/ddeutil_workflow.egg-info/requires.txt
|
28
26
|
src/ddeutil_workflow.egg-info/top_level.txt
|
29
27
|
tests/test__cron.py
|
30
28
|
tests/test__regex.py
|
31
|
-
tests/test_cli.py
|
32
29
|
tests/test_conf.py
|
33
30
|
tests/test_conf_log.py
|
34
31
|
tests/test_cron_on.py
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__: str = "0.0.25"
|
@@ -1,108 +0,0 @@
|
|
1
|
-
# ------------------------------------------------------------------------------
|
2
|
-
# Copyright (c) 2022 Korawich Anuttra. All rights reserved.
|
3
|
-
# Licensed under the MIT License. See LICENSE in the project root for
|
4
|
-
# license information.
|
5
|
-
# ------------------------------------------------------------------------------
|
6
|
-
from __future__ import annotations
|
7
|
-
|
8
|
-
import json
|
9
|
-
import sys
|
10
|
-
from datetime import datetime
|
11
|
-
from typing import Annotated, Optional
|
12
|
-
|
13
|
-
from ddeutil.core import str2list
|
14
|
-
from typer import Argument, Typer, echo
|
15
|
-
|
16
|
-
from .conf import config
|
17
|
-
|
18
|
-
cli: Typer = Typer()
|
19
|
-
|
20
|
-
|
21
|
-
@cli.command()
|
22
|
-
def run(
|
23
|
-
workflow: Annotated[
|
24
|
-
str,
|
25
|
-
Argument(help="A workflow name that want to run manually"),
|
26
|
-
],
|
27
|
-
params: Annotated[
|
28
|
-
str,
|
29
|
-
Argument(
|
30
|
-
help="A json string for parameters of this workflow execution.",
|
31
|
-
),
|
32
|
-
],
|
33
|
-
):
|
34
|
-
"""Run workflow workflow manually with an input custom parameters that able
|
35
|
-
to receive with workflow params config.
|
36
|
-
"""
|
37
|
-
echo(f"Running workflow name: ({type(workflow)}) {workflow!r}")
|
38
|
-
echo(f"... with Parameters: ({type(params)}) {params!r}")
|
39
|
-
|
40
|
-
from .result import Result
|
41
|
-
from .workflow import Workflow
|
42
|
-
|
43
|
-
try:
|
44
|
-
wf: Workflow = Workflow.from_loader(name=workflow)
|
45
|
-
rs: Result = wf.execute(params=json.loads(params))
|
46
|
-
except Exception as err:
|
47
|
-
echo(str(err))
|
48
|
-
sys.exit(1)
|
49
|
-
|
50
|
-
echo(f"Result: {rs}")
|
51
|
-
sys.exit(0)
|
52
|
-
|
53
|
-
|
54
|
-
@cli.command()
|
55
|
-
def schedule(
|
56
|
-
stop: Annotated[
|
57
|
-
Optional[datetime],
|
58
|
-
Argument(
|
59
|
-
formats=["%Y-%m-%d", "%Y-%m-%d %H:%M:%S"],
|
60
|
-
help="A stopping datetime that want to stop on schedule app.",
|
61
|
-
),
|
62
|
-
] = None,
|
63
|
-
excluded: Annotated[
|
64
|
-
Optional[str],
|
65
|
-
Argument(help="A list of exclude workflow name in str."),
|
66
|
-
] = None,
|
67
|
-
externals: Annotated[
|
68
|
-
Optional[str],
|
69
|
-
Argument(
|
70
|
-
help="A json string for parameters of this workflow execution."
|
71
|
-
),
|
72
|
-
] = None,
|
73
|
-
):
|
74
|
-
"""Start workflow scheduler that will call workflow function from scheduler
|
75
|
-
module.
|
76
|
-
"""
|
77
|
-
excluded: list[str] = str2list(excluded) if excluded else []
|
78
|
-
echo(f"... with Excluded Parameters: {excluded!r}")
|
79
|
-
externals: str = externals or "{}"
|
80
|
-
|
81
|
-
# NOTE: Convert timezone on the stop date.
|
82
|
-
if stop:
|
83
|
-
stop: datetime = stop.astimezone(tz=config.tz)
|
84
|
-
|
85
|
-
from .scheduler import schedule_runner
|
86
|
-
|
87
|
-
try:
|
88
|
-
# NOTE: Start running workflow scheduler application.
|
89
|
-
workflow_rs: list[str] = schedule_runner(
|
90
|
-
stop=stop, excluded=excluded, externals=json.loads(externals)
|
91
|
-
)
|
92
|
-
echo(f"Schedule with CLI run success with: {workflow_rs}")
|
93
|
-
except Exception as err:
|
94
|
-
echo(str(err))
|
95
|
-
sys.exit(1)
|
96
|
-
|
97
|
-
sys.exit(0)
|
98
|
-
|
99
|
-
|
100
|
-
@cli.callback()
|
101
|
-
def main():
|
102
|
-
"""
|
103
|
-
Manage workflow with CLI.
|
104
|
-
"""
|
105
|
-
|
106
|
-
|
107
|
-
if __name__ == "__main__":
|
108
|
-
cli()
|
@@ -1,44 +0,0 @@
|
|
1
|
-
from datetime import datetime, timedelta
|
2
|
-
|
3
|
-
from ddeutil.workflow.cli import cli
|
4
|
-
from typer.testing import CliRunner, Result
|
5
|
-
|
6
|
-
|
7
|
-
def test_cli_workflow():
|
8
|
-
runner = CliRunner()
|
9
|
-
result: Result = runner.invoke(
|
10
|
-
cli,
|
11
|
-
[
|
12
|
-
"run",
|
13
|
-
"wf-scheduling-agent",
|
14
|
-
'{"name": "Foo", "asat-dt": "2024-01-01"}',
|
15
|
-
],
|
16
|
-
)
|
17
|
-
assert result.exit_code == 0
|
18
|
-
assert (
|
19
|
-
"Running workflow name: (<class 'str'>) " "'wf-scheduling-agent'"
|
20
|
-
) in result.stdout
|
21
|
-
|
22
|
-
|
23
|
-
def test_cli_schedule():
|
24
|
-
runner = CliRunner()
|
25
|
-
stop_date: datetime = datetime.now().replace(
|
26
|
-
second=0, microsecond=0
|
27
|
-
) + timedelta(minutes=2)
|
28
|
-
result: Result = runner.invoke(
|
29
|
-
cli,
|
30
|
-
[
|
31
|
-
"schedule",
|
32
|
-
"--stop",
|
33
|
-
stop_date.strftime("%Y-%m-%d %H:%M:%S"),
|
34
|
-
"--excluded",
|
35
|
-
(
|
36
|
-
'["schedule-common-wf", '
|
37
|
-
'"schedule-multi-on-wf", '
|
38
|
-
'"schedule-every-minute-wf", '
|
39
|
-
'"schedule-every-minute-wf-parallel"]'
|
40
|
-
),
|
41
|
-
],
|
42
|
-
)
|
43
|
-
assert result.exit_code == 0
|
44
|
-
print(result.stdout)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/src/ddeutil_workflow.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{ddeutil_workflow-0.0.25 → ddeutil_workflow-0.0.26}/tests/test_workflow_release_and_queue.py
RENAMED
File without changes
|
File without changes
|
File without changes
|