Skip to content

chore: Add pytest to requirements.txt#3

Open
daler91 wants to merge 12 commits into
rdale-dev:masterfrom
daler91:jules-fix-requirements-2966955879941166032
Open

chore: Add pytest to requirements.txt#3
daler91 wants to merge 12 commits into
rdale-dev:masterfrom
daler91:jules-fix-requirements-2966955879941166032

Conversation

@daler91
Copy link
Copy Markdown

@daler91 daler91 commented Mar 19, 2026

Added pytest to requirements.txt to include test dependencies and allow running pytest tests/ successfully.

google-labs-jules Bot and others added 12 commits March 19, 2026 16:04
Added `pytest` to `requirements.txt` to include test dependencies and allow running `pytest tests/` successfully.

Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
🎯 What: Replaced lxml.etree.parse with defusedxml.lxml.parse in xml-validator.py to prevent XML External Entity (XXE) vulnerabilities. Added defusedxml and lxml to requirements.txt.
⚠️ Risk: If left unfixed, the application could be vulnerable to XXE attacks when parsing malicious XML or XSD files, potentially leading to unauthorized data disclosure or denial of service.
🛡️ Solution: defusedxml acts as a drop-in replacement that strictly disables external entity resolution by default, successfully mitigating the XXE attack vector while maintaining compatibility with lxml.etree.XMLSchema and validation.

Co-authored-by: rdale-dev <203160809+rdale-dev@users.noreply.github.com>
…2842002

🔒 Fix XXE vulnerability in xml-validator
…matting-2048886441696389176

🧪 Add Error Path Tests for Date Formatting in src/data_cleaning.py
…99421084779733224

🧪 Add unit tests for Data Validation module
…2181123944

🧪 Add tests for BaseConverter to verify ABC behavior
…13268053583850

🧪 Add test for untestable exception block in xml-validator.py
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's robustness by integrating a dedicated testing framework and improving security practices for XML processing. It establishes a foundation for comprehensive unit testing across various modules, ensuring code reliability and preventing common vulnerabilities in XML parsing.

Highlights

  • Dependencies: Added pytest, defusedxml, and lxml to requirements.txt to support new testing and enhanced XML parsing.
  • Security Enhancement: Implemented defusedxml for XML parsing in src/xml-validator.py to mitigate potential XML vulnerabilities.
  • New Test Coverage: Introduced new test files for BaseConverter, data validation functions, and XML validation exception handling.
  • Improved Date Formatting Tests: Expanded test cases for the format_date utility to cover ValueError scenarios and regex fallback logic.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds pytest to the main requirements.txt file. It's a best practice to separate development dependencies, such as testing frameworks, from production dependencies. Including pytest in requirements.txt will cause it to be installed in production environments, which is generally not intended. I recommend moving this dependency to a separate file, for example requirements-dev.txt.

Comment thread requirements.txt
@@ -1 +1,4 @@
pandas
pytest
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Development dependencies like pytest should be kept separate from production dependencies to avoid installing them in production environments. Please consider moving this to a separate file for development/test dependencies, such as requirements-dev.txt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant