Skip to content

Commit

Permalink
add test_build and remove test_import
Browse files Browse the repository at this point in the history
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.
40 changes: 40 additions & 0 deletions tests/test_build.py
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/"

0 comments on commit cdc90d7

Please sign in to comment.