Skip to content

Commit a9dee9d

Browse files
committed
fix tests
1 parent 4934513 commit a9dee9d

File tree

11 files changed

+43
-32
lines changed

11 files changed

+43
-32
lines changed

.github/workflows/actions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
strategy:
4040
matrix:
4141
os: ["ubuntu-latest"]
42-
version: ["3.9", "3.10", "3.11"]
42+
version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
4343
steps:
4444
- name: Checkout 🔖
4545
uses: actions/checkout@v3

pyproject.toml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name = "dac"
33
dynamic = ["version"]
44
description = "Tool to distribute data as code"
55
readme = "README.md"
6-
requires-python = ">=3.9"
6+
requires-python = ">=3.9,<4"
77
license = { text = "MIT" }
88
authors = [
99
{ name = "Francesco Calcavecchia", email = "francesco.calcavecchia@gmail.com" },
@@ -21,7 +21,12 @@ classifiers = [
2121
"Operating System :: OS Independent",
2222
]
2323

24-
dependencies = ["build~=0.9", "toml~=0.10", "typer[all]~=0.7", "wheel~=0.38"]
24+
dependencies = [
25+
"build==1.2.2",
26+
"toml==0.10.2",
27+
"typer[all]==0.15.2",
28+
"wheel==0.45.1",
29+
]
2530

2631
# [project.optional-dependencies]
2732
#

requirements-test.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-e .
2-
pandas~=1.5
3-
pandera~=0.13
2+
pandas~=2.2
3+
pandera~=0.23.1
44
pyarrow
5-
pytest~=7.2
5+
pytest~=8.3

src/dac/_cli.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import platform
2+
import re
23
import sys
3-
from importlib.metadata import requires, version
4+
from importlib.metadata import PackageNotFoundError, requires, version
45
from pathlib import Path
56
from typing import Optional
67

@@ -105,8 +106,11 @@ def info():
105106
requirements = requires(dac.__name__)
106107
assert requirements is not None
107108
for r in requirements:
108-
lib_name = r.split(" ")[0]
109-
table.add_row(lib_name, version(lib_name.split("[")[0]))
109+
lib_name = re.match(r"^[a-zA-Z0-9]*", r).group(0)
110+
try:
111+
table.add_row(lib_name, version(lib_name.split("[")[0]))
112+
except PackageNotFoundError as e:
113+
table.add_row(lib_name, e.msg)
110114
table.add_row("python", sys.version)
111115
table.add_row("platform", platform.platform())
112116
console.print(table)

test/cli_utilities.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
from tempfile import TemporaryDirectory
2+
from typing import Optional
3+
4+
from click.testing import Result
5+
from typer.testing import CliRunner
6+
7+
from dac._cli import app
8+
from dac._input.config import PackConfig
29
from test.data import (
310
generate_random_project_name,
411
get_path_to_self_contained_load_as_pandas,
512
get_path_to_self_contained_schema,
613
get_test_project_version,
714
)
8-
from typing import Optional
9-
10-
from click.testing import Result
11-
from dac._cli import app
12-
from dac._input.config import PackConfig
13-
from typer.testing import CliRunner
1415

1516
runner = CliRunner()
1617

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
pandas~=1.0
1+
pandas~=2.0
22
pyarrow
3-
pandera~=0.13.4
3+
pandera~=0.23.1

test/data/schema/sample.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from pandera.typing import Series
55

66

7-
class Schema(pa.SchemaModel):
7+
class Schema(pa.DataFrameModel):
88
int1: Series[int] = pa.Field(nullable=False)
99
float1: Series[float] = pa.Field()
1010
string1: Series[str] = pa.Field()

test/data/schema/self_contained.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
from pandera.typing import Series
33

44

5-
class Schema(pa.SchemaModel):
5+
class Schema(pa.DataFrameModel):
66
A: Series[int] = pa.Field(nullable=False)
77
B: Series[float] = pa.Field(nullable=False)

test/unit_test/_cli/info_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from importlib.metadata import version
2-
from test.cli_utilities import invoke_dac_info
32

43
import dac
4+
from test.cli_utilities import invoke_dac_info
55

66

77
def test_if_invoke_dac_info_from_shell_then_do_not_raise_error():

test/unit_test/_cli/pack_test.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
from importlib import import_module
22
from inspect import signature
3+
from unittest.mock import MagicMock, patch
4+
5+
import pytest
6+
from click.testing import Result
7+
8+
from dac._input.config import PackConfig
39
from test.cli_utilities import invoke_dac_pack
410
from test.data import (
511
get_path_to_missing_requirement_load,
@@ -9,11 +15,6 @@
915
get_path_to_wrong_syntax_schema,
1016
)
1117
from test.data.pack_input import input_with_local_data, input_with_self_contained_data
12-
from unittest.mock import MagicMock, patch
13-
14-
import pytest
15-
from click.testing import Result
16-
from dac._input.config import PackConfig
1718

1819

1920
@pytest.fixture(autouse=True)
@@ -45,11 +46,11 @@ def test_if_data_does_not_match_schema_error_contains_pandera_error_info():
4546
result = invoke_dac_pack(schema=get_path_to_sample_schema().as_posix())
4647
assert result.exit_code != 0
4748
error_message = str(result.exception)
48-
assert "schema_context" in error_message
49-
assert "check" in error_message
50-
assert "failure_case" in error_message
5149
assert "int1" in error_message
50+
assert "float1" in error_message
51+
assert "string1" in error_message
5252
assert "date1" in error_message
53+
assert "datetime1" in error_message
5354

5455

5556
def test_if_load_requires_missing_requirement_then_error_contains_meaningful_info():

0 commit comments

Comments
 (0)