Name | test-genie JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | AI-Powered Test Case Generation for Developers |
upload_time | 2025-08-10 16:15:45 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
testing
ai
test-generation
cli
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# TestGenie
AI-Powered Test Case Generation for Developers
## Overview
TestGenie is a comprehensive platform that generates high-quality test cases for your code using advanced AI models. It supports both online (API-based) and offline (local Ollama models) modes.
## Features
- **Multi-language Support**: Python, JavaScript, TypeScript, Java, Go, and more
- **Multiple Testing Frameworks**: pytest, unittest, Jest, Mocha, and others
- **Online Mode**: Use cloud-based AI models via API
- **Offline Mode**: Work locally with Ollama models for privacy
- **CLI Tool**: Command-line interface for quick test generation
- **Web Dashboard**: Beautiful web interface for test generation
- **Project-wide Generation**: Generate tests for entire projects
## Project Structure
```
test_genie/
├── backend/ # FastAPI backend
│ ├── app/
│ │ ├── api/ # API routes
│ │ ├── core/ # Auth, config, logging
│ │ ├── models/ # Pydantic + DB schemas
│ │ ├── services/ # Business logic
│ │ ├── db.py # DB session
│ │ ├── deps.py # Auth/permission dependencies
│ │ └── main.py # FastAPI app entrypoint
│ ├── alembic/ # Migrations
│ └── requirements.txt # Backend dependencies
├── cli/ # Python CLI tool
│ ├── commands/
│ │ ├── online.py # Calls backend API
│ │ ├── offline.py # Calls local model via Ollama
│ │ └── utils.py
│ ├── auth.py # Handles token caching/login
│ ├── config.py # Loads ~/.testgenie/config.json
│ ├── main.py # Entry point for CLI
│ └── requirements.txt # CLI-specific deps
├── frontend/ # Next.js website
│ ├── pages/ # Sign up / login / dashboard
│ ├── components/
│ ├── lib/ # API utilities, stripe helpers
│ ├── styles/
│ ├── public/
│ ├── next.config.js
│ └── package.json
├── models/ # Local model config + installer
│ ├── install.py # Installs Ollama + pulls mistral
│ ├── run.py # Starts/queries model server
│ └── prompts.py # LLM prompts for test case generation
├── shared/ # Code shared across CLI/backend
│ ├── prompt_builder.py
│ └── file_utils.py
├── tests/ # Tests for backend + CLI
│ ├── cli/
│ ├── backend/
│ └── offline/
├── docker-compose.yml # For local dev (Postgres + API)
├── env.example # Sample env file
├── .gitignore
├── LICENSE
├── README.md
└── pyproject.toml # CLI build config
```
## Quick Start
### 1. Clone the Repository
```bash
git clone <repository-url>
cd test_genie
```
### 2. Set Up Environment
```bash
# Copy environment file
cp env.example .env
# Edit .env with your configuration
nano .env
```
### 3. Start with Docker (Recommended)
```bash
# Start all services
docker-compose up -d
# Access the application
# Frontend: http://localhost:3000
# Backend API: http://localhost:8000
```
### 4. Manual Setup
#### Backend Setup
```bash
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
# Run the backend
python -m app.main
```
#### Frontend Setup
```bash
cd frontend
npm install
npm run dev
```
#### CLI Setup
```bash
cd cli
pip install -r requirements.txt
# Install the CLI globally
pip install -e .
```
## Usage
### CLI Usage
```bash
# Online mode (requires backend)
test_genie online generate path/to/file.py --framework pytest
# Offline mode (requires Ollama)
test_genie offline generate path/to/file.py --framework pytest
# Install Ollama and models
test_genie offline install
# Login to API
test_genie login
```
### Web Dashboard
1. Open http://localhost:3000
2. Sign up or log in
3. Paste your code and select language/framework
4. Generate tests instantly
## Development
### Running Tests
```bash
# Backend tests
cd backend
pytest
# CLI tests
cd cli
pytest
# Frontend tests
cd frontend
npm test
```
### Database Migrations
```bash
cd backend
alembic upgrade head
```
## Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests
5. Submit a pull request
## License
MIT License - see LICENSE file for details
## Support
For support and questions:
- Create an issue on GitHub
- Check the documentation
Raw data
{
"_id": null,
"home_page": null,
"name": "test-genie",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "testing, ai, test-generation, cli",
"author": null,
"author_email": "TestGenie Team <team@testgenie.dev>",
"download_url": "https://files.pythonhosted.org/packages/5e/a4/83e8956e11e87776746affac4a509642df46deb839cb6d2640a30b54d765/test_genie-1.0.0.tar.gz",
"platform": null,
"description": "# TestGenie\n\nAI-Powered Test Case Generation for Developers\n\n## Overview\n\nTestGenie is a comprehensive platform that generates high-quality test cases for your code using advanced AI models. It supports both online (API-based) and offline (local Ollama models) modes.\n\n## Features\n\n- **Multi-language Support**: Python, JavaScript, TypeScript, Java, Go, and more\n- **Multiple Testing Frameworks**: pytest, unittest, Jest, Mocha, and others\n- **Online Mode**: Use cloud-based AI models via API\n- **Offline Mode**: Work locally with Ollama models for privacy\n- **CLI Tool**: Command-line interface for quick test generation\n- **Web Dashboard**: Beautiful web interface for test generation\n- **Project-wide Generation**: Generate tests for entire projects\n\n## Project Structure\n\n```\ntest_genie/\n\u251c\u2500\u2500 backend/ # FastAPI backend\n\u2502 \u251c\u2500\u2500 app/\n\u2502 \u2502 \u251c\u2500\u2500 api/ # API routes\n\u2502 \u2502 \u251c\u2500\u2500 core/ # Auth, config, logging\n\u2502 \u2502 \u251c\u2500\u2500 models/ # Pydantic + DB schemas\n\u2502 \u2502 \u251c\u2500\u2500 services/ # Business logic\n\u2502 \u2502 \u251c\u2500\u2500 db.py # DB session\n\u2502 \u2502 \u251c\u2500\u2500 deps.py # Auth/permission dependencies\n\u2502 \u2502 \u2514\u2500\u2500 main.py # FastAPI app entrypoint\n\u2502 \u251c\u2500\u2500 alembic/ # Migrations\n\u2502 \u2514\u2500\u2500 requirements.txt # Backend dependencies\n\n\u251c\u2500\u2500 cli/ # Python CLI tool\n\u2502 \u251c\u2500\u2500 commands/\n\u2502 \u2502 \u251c\u2500\u2500 online.py # Calls backend API\n\u2502 \u2502 \u251c\u2500\u2500 offline.py # Calls local model via Ollama\n\u2502 \u2502 \u2514\u2500\u2500 utils.py\n\u2502 \u251c\u2500\u2500 auth.py # Handles token caching/login\n\u2502 \u251c\u2500\u2500 config.py # Loads ~/.testgenie/config.json\n\u2502 \u251c\u2500\u2500 main.py # Entry point for CLI\n\u2502 \u2514\u2500\u2500 requirements.txt # CLI-specific deps\n\n\u251c\u2500\u2500 frontend/ # Next.js website\n\u2502 \u251c\u2500\u2500 pages/ # Sign up / login / dashboard\n\u2502 \u251c\u2500\u2500 components/\n\u2502 \u251c\u2500\u2500 lib/ # API utilities, stripe helpers\n\u2502 \u251c\u2500\u2500 styles/\n\u2502 \u251c\u2500\u2500 public/\n\u2502 \u251c\u2500\u2500 next.config.js\n\u2502 \u2514\u2500\u2500 package.json\n\n\u251c\u2500\u2500 models/ # Local model config + installer\n\u2502 \u251c\u2500\u2500 install.py # Installs Ollama + pulls mistral\n\u2502 \u251c\u2500\u2500 run.py # Starts/queries model server\n\u2502 \u2514\u2500\u2500 prompts.py # LLM prompts for test case generation\n\n\u251c\u2500\u2500 shared/ # Code shared across CLI/backend\n\u2502 \u251c\u2500\u2500 prompt_builder.py\n\u2502 \u2514\u2500\u2500 file_utils.py\n\n\u251c\u2500\u2500 tests/ # Tests for backend + CLI\n\u2502 \u251c\u2500\u2500 cli/\n\u2502 \u251c\u2500\u2500 backend/\n\u2502 \u2514\u2500\u2500 offline/\n\n\u251c\u2500\u2500 docker-compose.yml # For local dev (Postgres + API)\n\u251c\u2500\u2500 env.example # Sample env file\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 LICENSE\n\u251c\u2500\u2500 README.md\n\u2514\u2500\u2500 pyproject.toml # CLI build config\n```\n\n## Quick Start\n\n### 1. Clone the Repository\n\n```bash\ngit clone <repository-url>\ncd test_genie\n```\n\n### 2. Set Up Environment\n\n```bash\n# Copy environment file\ncp env.example .env\n\n# Edit .env with your configuration\nnano .env\n```\n\n### 3. Start with Docker (Recommended)\n\n```bash\n# Start all services\ndocker-compose up -d\n\n# Access the application\n# Frontend: http://localhost:3000\n# Backend API: http://localhost:8000\n```\n\n### 4. Manual Setup\n\n#### Backend Setup\n\n```bash\ncd backend\npython -m venv venv\nsource venv/bin/activate # On Windows: venv\\Scripts\\activate\npip install -r requirements.txt\n\n# Run the backend\npython -m app.main\n```\n\n#### Frontend Setup\n\n```bash\ncd frontend\nnpm install\nnpm run dev\n```\n\n#### CLI Setup\n\n```bash\ncd cli\npip install -r requirements.txt\n\n# Install the CLI globally\npip install -e .\n```\n\n## Usage\n\n### CLI Usage\n\n```bash\n# Online mode (requires backend)\ntest_genie online generate path/to/file.py --framework pytest\n\n# Offline mode (requires Ollama)\ntest_genie offline generate path/to/file.py --framework pytest\n\n# Install Ollama and models\ntest_genie offline install\n\n# Login to API\ntest_genie login\n```\n\n### Web Dashboard\n\n1. Open http://localhost:3000\n2. Sign up or log in\n3. Paste your code and select language/framework\n4. Generate tests instantly\n\n## Development\n\n### Running Tests\n\n```bash\n# Backend tests\ncd backend\npytest\n\n# CLI tests\ncd cli\npytest\n\n# Frontend tests\ncd frontend\nnpm test\n```\n\n### Database Migrations\n\n```bash\ncd backend\nalembic upgrade head\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests\n5. Submit a pull request\n\n## License\n\nMIT License - see LICENSE file for details\n\n## Support\n\nFor support and questions:\n- Create an issue on GitHub\n- Check the documentation\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "AI-Powered Test Case Generation for Developers",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://docs.testgenie.dev",
"Homepage": "https://github.com/testgenie/testgenie",
"Issues": "https://github.com/testgenie/testgenie/issues",
"Repository": "https://github.com/testgenie/testgenie"
},
"split_keywords": [
"testing",
" ai",
" test-generation",
" cli"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c4332a4ed6907a8df26e4635c9b1527b6c630d1779a3a244cba6ed736bc63212",
"md5": "b8ed74c19a98465a8d35de0369efef0d",
"sha256": "265b965ebfbd541e264f68d78d1d7f40db2b33f4658b07eea9794d6255da3aba"
},
"downloads": -1,
"filename": "test_genie-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b8ed74c19a98465a8d35de0369efef0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 68082,
"upload_time": "2025-08-10T16:15:44",
"upload_time_iso_8601": "2025-08-10T16:15:44.171768Z",
"url": "https://files.pythonhosted.org/packages/c4/33/2a4ed6907a8df26e4635c9b1527b6c630d1779a3a244cba6ed736bc63212/test_genie-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5ea483e8956e11e87776746affac4a509642df46deb839cb6d2640a30b54d765",
"md5": "b526ff2e3c5ddb945a31508222bd7ccb",
"sha256": "32dde798cd716b7b888c41f6ba7eca63d7172435e1891a1bc816f71995895d2f"
},
"downloads": -1,
"filename": "test_genie-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "b526ff2e3c5ddb945a31508222bd7ccb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 47781,
"upload_time": "2025-08-10T16:15:45",
"upload_time_iso_8601": "2025-08-10T16:15:45.817336Z",
"url": "https://files.pythonhosted.org/packages/5e/a4/83e8956e11e87776746affac4a509642df46deb839cb6d2640a30b54d765/test_genie-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-10 16:15:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "testgenie",
"github_project": "testgenie",
"github_not_found": true,
"lcname": "test-genie"
}