Skip to content

Commit 08451ae

Browse files
Prajwal  Kiran KumarPrajwal  Kiran Kumar
authored andcommitted
Add unit tests to dataset.py
1 parent 8c3f266 commit 08451ae

File tree

3 files changed

+386
-12
lines changed

3 files changed

+386
-12
lines changed

.github/workflows/ci.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,12 @@ jobs:
6666
6767
- name: Test with pytest
6868
run: |
69-
poetry run coverage run -m pytest
70-
71-
# - name: Report coverage with Codecov
72-
# if: github.event_name == 'push' && matrix.platform == 'ubuntu-latest'
73-
# uses: codecov/codecov-action@v3
74-
# with:
75-
# token: ${{ secrets.CODECOV_TOKEN }}
76-
# file: ./coverage.xml # optional
77-
# flags: unittests-${{ matrix.python-version }} # optional
69+
poetry run coverage run -m pytest --cov=./ --cov-report=xml
70+
- name: Upload coverage to Codecov
71+
uses: codecov/[email protected]
72+
with:
73+
token: ${{ secrets.CODECOV_TOKEN }}
74+
directory: ./coverage/reports/
75+
env_vars: OS,PYTHON
76+
files: ./coverage.xml
77+
flags: unittests

tests/conftest.py

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from datetime import datetime
2929

3030
from pytest_asyncio import fixture
31-
31+
from servicex.python_dataset import PythonDataset
3232
from servicex.models import (
3333
TransformRequest,
3434
ResultDestination,
@@ -37,6 +37,12 @@
3737
TransformedResults,
3838
)
3939

40+
from servicex.dataset_identifier import FileListDataset
41+
from servicex.minio_adapter import MinioAdapter
42+
43+
import pandas as pd
44+
import os
45+
4046

4147
@fixture
4248
def transform_request() -> TransformRequest:
@@ -50,6 +56,44 @@ def transform_request() -> TransformRequest:
5056
) # type: ignore
5157

5258

59+
@fixture
60+
def minio_adapter() -> MinioAdapter:
61+
return MinioAdapter("localhost", False, "access_key", "secret_key", "bucket")
62+
63+
64+
@fixture
65+
def python_dataset(dummy_parquet_file):
66+
did = FileListDataset(dummy_parquet_file)
67+
dataset = PythonDataset(
68+
title="Test submission",
69+
dataset_identifier=did,
70+
codegen="uproot",
71+
result_format=ResultFormat.parquet, # type: ignore
72+
) # type: ignore
73+
74+
def foo():
75+
return
76+
77+
dataset.with_uproot_function(foo)
78+
return dataset
79+
80+
81+
@fixture
82+
def transformed_result_python_dataset(dummy_parquet_file) -> TransformedResults:
83+
return TransformedResults(
84+
hash="289e90f6fe3780253af35c428b784ac22d3ee9200a7581b8f0a9bdcc5ae93479",
85+
title="Test submission",
86+
codegen="uproot",
87+
request_id="b8c508d0-ccf2-4deb-a1f7-65c839eebabf",
88+
submit_time=datetime.now(),
89+
data_dir="/foo/bar",
90+
file_list=[dummy_parquet_file],
91+
signed_url_list=[],
92+
files=1,
93+
result_format=ResultFormat.parquet,
94+
)
95+
96+
5397
@fixture
5498
def transform_status_response() -> dict:
5599
return {
@@ -115,16 +159,30 @@ def completed_status() -> TransformStatus:
115159

116160

117161
@fixture
118-
def transformed_result() -> TransformedResults:
162+
def transformed_result(dummy_parquet_file) -> TransformedResults:
119163
return TransformedResults(
120164
hash="123-4455",
121165
title="Test",
122166
codegen="uproot",
123167
request_id="123-45-6789",
124168
submit_time=datetime.now(),
125169
data_dir="/foo/bar",
126-
file_list=["/tmp/1.root", "/tmp/2.root"],
170+
file_list=[dummy_parquet_file],
127171
signed_url_list=[],
128172
files=2,
129173
result_format=ResultFormat.root_file,
130174
)
175+
176+
177+
@fixture
178+
def dummy_parquet_file():
179+
data = {'column1': [1, 2, 3, 4],
180+
'column2': ['A', 'B', 'C', 'D']}
181+
df = pd.DataFrame(data)
182+
parquet_file_path = '1.parquet'
183+
df.to_parquet(parquet_file_path, index=False)
184+
185+
yield parquet_file_path
186+
187+
if os.path.exists(parquet_file_path):
188+
os.remove(parquet_file_path)

0 commit comments

Comments
 (0)