test-genie


Nametest-genie JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryAI-Powered Test Case Generation for Developers
upload_time2025-08-10 16:15:45
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
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"
}
        
Elapsed time: 0.58766s