Skip to content

Commit

Permalink
add test_build (#15)
Browse files Browse the repository at this point in the history
* add test_build and remove test_import

Signed-off-by: Huong Nguyen <huongg1409@gmail>

* remove test_import

Signed-off-by: Huong Nguyen <huongg1409@gmail>

* remove dist in cleanup

Signed-off-by: Huong Nguyen <huongg1409@gmail>

* lint

Signed-off-by: Ankita Katiyar <[email protected]>

---------

Signed-off-by: Huong Nguyen <huongg1409@gmail>
Signed-off-by: Ankita Katiyar <[email protected]>
Co-authored-by: Huong Nguyen <huongg1409@gmail>
Co-authored-by: Ankita Katiyar <[email protected]>
  • Loading branch information
3 people authored Oct 1, 2024
1 parent 8cb4070 commit 8ab6d90
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 3 deletions.
47 changes: 47 additions & 0 deletions tests/test_build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import glob
import shutil # Import shutil for high-level file operations
import subprocess
import zipfile

import pytest


# Define a fixture for setup and cleanup
@pytest.fixture
def 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)
shutil.rmtree("dist", ignore_errors=True)


# Use the fixture in your test by including it as a parameter
def test_built_wheel_contains_expected_files(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 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/"
3 changes: 0 additions & 3 deletions tests/test_import.py

This file was deleted.

0 comments on commit 8ab6d90

Please sign in to comment.