-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add test_build and remove test_import
Signed-off-by: Huong Nguyen <huongg1409@gmail>
- Loading branch information
Huong Nguyen
committed
Oct 1, 2024
1 parent
8cb4070
commit cdc90d7
Showing
1 changed file
with
40 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import os | ||
import glob | ||
import zipfile | ||
import subprocess | ||
import pytest | ||
import shutil # Import shutil for high-level file operations | ||
|
||
# Define a fixture for setup and cleanup | ||
@pytest.fixture | ||
def build_and_cleanup(): | ||
# Setup can be done here if needed | ||
yield # This yields control to the test function | ||
# Cleanup: Remove the wheel_contents directory after the test | ||
shutil.rmtree('wheel_contents', ignore_errors=True) | ||
|
||
# Use the fixture in your test by including it as a parameter | ||
def test_built_wheel_contains_expected_files(build_and_cleanup): | ||
# Build the project | ||
subprocess.run(['uv', 'build'], check=True) | ||
|
||
# Find the wheel file | ||
wheel_files = glob.glob('dist/*.whl') | ||
assert wheel_files, "No wheel files found in dist/" | ||
wheel_file = wheel_files[0] | ||
|
||
# Unzip the wheel file using Python's zipfile module | ||
with zipfile.ZipFile(wheel_file, 'r') as zip_ref: | ||
zip_ref.extractall('wheel_contents') | ||
|
||
# Check for the existence of CSS files in /assets/ folder | ||
css_files = glob.glob('wheel_contents/kedro_sphinx_theme/assets/styles/*.css') | ||
assert css_files, "CSS files missing in /assets/" | ||
|
||
# Check for the existence of HTML files and theme.conf in /theme/kedro-sphinx-theme/ folder | ||
html_files = glob.glob('wheel_contents/kedro_sphinx_theme/theme/kedro-sphinx-theme/*.html') | ||
theme_conf_file = glob.glob('wheel_contents/kedro_sphinx_theme/theme/kedro-sphinx-theme/theme.conf') | ||
|
||
# Assert that HTML files and theme.conf exist | ||
assert html_files, "HTML files missing in /theme/kedro-sphinx-theme/" | ||
assert theme_conf_file, "theme.conf missing in /theme/kedro-sphinx-theme/" |