testzeus-cli


Nametestzeus-cli JSON
Version 0.0.13 PyPI version JSON
download
home_pagehttps://github.com/test-zeus-ai/testzeus-cli
SummaryCommand-line interface for TestZeus testing platform
upload_time2025-07-14 10:38:28
maintainerNone
docs_urlNone
authorShriyansh Agnihotri
requires_python<3.14,>=3.11
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # TestZeus CLI

A powerful command-line interface for the TestZeus testing platform.

## Installation

```bash
pip install testzeus-cli
```

## Authentication

Before using the CLI, you need to authenticate with the TestZeus platform:

```bash
testzeus login
```

You will be prompted to enter your email and password. Your credentials are securely stored in your system's keyring.

```bash
testzeus login --profile dev
```

Authentication automatically detects and stores your tenant information, which will be used for all subsequent commands.

### Auth Commands

| Command | Description |
|---------|-------------|
| `login` | Authenticate with TestZeus |
| `logout` | Log out and remove stored credentials |
| `whoami` | Display current authentication status |

## Global Options

The following options can be used with any command:

| Option | Description |
|--------|-------------|
| `--profile` | Configuration profile to use (default: "default") |
| `--api-url` | Custom TestZeus API URL |
| `--verbose` | Enable verbose output |
| `--format` | Output format: json, table, or yaml (default: table) |

## Managing Tests

### List Tests

```bash
testzeus tests list
```

Filter test list with key-value pairs:
```bash
testzeus tests list --filters status=draft
```

Sort and expand related entities:
```bash
testzeus tests list --sort created --expand tags,test_data
```

### Get Test Details

```bash
testzeus tests get <test-id>
testzeus tests get <test-id> --expand tags,test_data
```

### Create Test

Create a test with text-based features:

```bash
testzeus tests create --name "My Test" --feature "Feature: Test something"
```

Create a test with features from a file:

```bash
testzeus tests create --name "My Test" --feature-file ./features.txt
```

Additional options:
```bash
testzeus tests create --name "My Test" --feature-file ./features.txt --status ready --data data_id1 --data data_id2 --tags tag1 --tags tag2 --environment env_id --execution-mode strict
```

### Update Test

Update test name:

```bash
testzeus tests update <test-id> --name "New Name"
```

Update test features from text:

```bash
testzeus tests update <test-id> --feature "Updated feature content"
```

Update test features from a file:

```bash
testzeus tests update <test-id> --feature-file ./updated_features.txt
```

Update other properties:
```bash
testzeus tests update <test-id> --status ready --data data_id1 --tags tag1 --environment env_id
```

### Delete Test

```bash
testzeus tests delete <test-id>
```

## Test Runs

### List Test Runs

```bash
testzeus test-runs list
```

Filter runs by status:

```bash
testzeus test-runs list --filters status=running
```

### Get Test Run Details

```bash
testzeus test-runs get <run-id>
```

Get expanded details including all outputs and steps:

```bash
testzeus test-runs get-expanded <run-id>
```

### Create and Start Test Run

```bash
testzeus test-runs create --name "Run 1" --test <test-id>
```

Create test run with environment or tag:

```bash
testzeus test-runs create --name "Run 1" --test <test-id> --env <env-id> --tag <tag-name>
```

### Cancel Test Run

```bash
testzeus test-runs cancel <run-id>
```

### Watch Test Run Progress

```bash
testzeus test-runs watch <run-id>
testzeus test-runs watch <run-id> --interval 10
```

### Get Test Run Status

```bash
testzeus test-runs status <run-id>
```

### Download Test Run Attachments

```bash
testzeus test-runs download-attachments <run-id>
testzeus test-runs download-attachments <run-id> --output-dir ./my-attachments
```

## Test Data

### List Test Data

```bash
testzeus test-data list
```

Filter by type:
```bash
testzeus test-data list --filters type=test
```

### Get Test Data Details

```bash
testzeus test-data get <data-id>
testzeus test-data get <data-id> --expand related_entities
```

### Create Test Data

Create with inline content:

```bash
testzeus test-data create --name "Test Data 1" --data "{\"key\":\"value\"}"
```

Create with data from a file:

```bash
testzeus test-data create --name "Test Data" --data-file ./data.json
```

Additional options:
```bash
testzeus test-data create --name "Test Data" --type test --status ready --data-file ./data.json
```

### Update Test Data

Update name and other properties:

```bash
testzeus test-data update <data-id> --name "New Data Name" --type updated --status ready
```

Update data content from text:

```bash
testzeus test-data update <data-id> --data "{\"key\":\"updated\"}"
```

Update data content from a file:

```bash
testzeus test-data update <data-id> --data-file ./updated_data.json
```

### Delete Test Data

```bash
testzeus test-data delete <data-id>
```

### File Management for Test Data

Upload a file to test data:

```bash
testzeus test-data upload-file <data-id> <file-path>
```

Delete all files from test data:

```bash
testzeus test-data delete-all-files <data-id>
```

## Environments

### List Environments

```bash
testzeus environments list
```

Filter environments:
```bash
testzeus environments list --filters status=ready
```

### Get Environment Details

```bash
testzeus environments get <env-id>
testzeus environments get <env-id> --expand related_entities
```

### Create Environment

Create with inline data:

```bash
testzeus environments create --name "Test Environment" --data "{\"key\":\"value\"}"
```

Create with data from a file:

```bash
testzeus environments create --name "Test Environment" --data-file ./env_data.json
```

Additional options:
```bash
testzeus environments create --name "Test Environment" --status ready --data-file ./env_data.json --tags "tag1,tag2"
```

### Update Environment

Update environment properties:

```bash
testzeus environments update <env-id> --name "New Name" --status ready
```

Update environment data:

```bash
testzeus environments update <env-id> --data "{\"key\":\"updated\"}"
testzeus environments update <env-id> --data-file ./updated_env_data.json
```

### Delete Environment

```bash
testzeus environments delete <env-id>
```

### File Management for Environments

Upload a file to environment:

```bash
testzeus environments upload-file <env-id> <file-path>
```

Remove a file from environment:

```bash
testzeus environments remove-file <env-id> <file-path>
```

Delete all files from environment:

```bash
testzeus environments delete-all-files <env-id>
```

## Tags

### List Tags

```bash
testzeus tags list
```

Filter tags:
```bash
testzeus tags list --filters name=test
```

### Get Tag Details

```bash
testzeus tags get <tag-id>
```

### Create Tag

```bash
testzeus tags create --name "test-tag" --value "test-value"
```

Create tag without value:

```bash
testzeus tags create --name "simple-tag"
```

### Update Tag

```bash
testzeus tags update <tag-id> --name "new-name" --value "new-value"
```

### Delete Tag

```bash
testzeus tags delete <tag-name>
```

## Configuration

The CLI stores configuration and credentials in your user's config directory. Different profiles can be used to manage multiple TestZeus environments.

Default configuration location:
- Linux/Mac: `~/.testzeus/config.yaml`
- Windows: `%APPDATA%\testzeus\config.yaml`

Passwords are securely stored in your system's keyring.

## Examples

### Complete Workflow

```bash
# Login to TestZeus
testzeus login

# Create test data
testzeus test-data create --name "User Data" --data "{\"username\":\"testuser\"}" 

# Create a new test with features from a file
testzeus tests create --name "Login Test" --feature-file ./features/login.feature --data <test_data_id>

# Run the test
testzeus test-runs create --name "Login Run 1" --test <test_id>

# Watch the test run progress
testzeus test-runs watch <test_run_id>

# Check detailed results
testzeus test-runs get-expanded <test_run_id>

# Download any attachments generated during the run
testzeus test-runs download-attachments <test_run_id> --output-dir ./results
```

### Working with Environments

```bash
# Create an environment with data
testzeus environments create --name "Production Environment" --data-file ./prod_config.json --status ready

# Upload additional files to the environment
testzeus environments upload-file <env-id> ./additional_config.yaml

# Create a test that uses the environment
testzeus tests create --name "Production Test" --feature-file ./test.feature --environment <env-id>
```

### Managing Tags

```bash
# Create tags for organizing tests
testzeus tags create --name "regression" --value "suite"
testzeus tags create --name "priority" --value "high"

# Create a test with tags
testzeus tests create --name "Critical Test" --feature-file ./critical.feature --tags tag1 --tags tag2
```

## Error Handling

When an error occurs, the CLI will display an error message. For more detailed information, run any command with the `--verbose` flag:

```bash
testzeus tests list --verbose
```

## Output Formats

The CLI supports multiple output formats:

- `table`: Human-readable tabular format (default)
- `json`: JSON format for programmatic usage
- `yaml`: YAML format

Example:
```bash
testzeus tests list --format json
```

## Development and Contribution

To contribute to the TestZeus CLI, fork the repository and install development dependencies:

```bash
pip install -e ".[dev]"
```

### Release Process

The TestZeus CLI uses GitHub Actions for automated releases to PyPI. To create a release:

1. Use the Makefile's release target: `make release`
2. This will:
   - Prompt for version bump type (patch, minor, major)
   - Update the version in pyproject.toml
   - Commit and create a git tag
   - Push changes and tags to GitHub
3. The tag push will automatically trigger the GitHub Actions publish workflow 
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/test-zeus-ai/testzeus-cli",
    "name": "testzeus-cli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": "Shriyansh Agnihotri",
    "author_email": "shriyansh@testzeus.com",
    "download_url": "https://files.pythonhosted.org/packages/ee/16/82554ad89f51f4f55a4004875473a198a6319cafb295de53158ad24f400e/testzeus_cli-0.0.13.tar.gz",
    "platform": null,
    "description": "# TestZeus CLI\n\nA powerful command-line interface for the TestZeus testing platform.\n\n## Installation\n\n```bash\npip install testzeus-cli\n```\n\n## Authentication\n\nBefore using the CLI, you need to authenticate with the TestZeus platform:\n\n```bash\ntestzeus login\n```\n\nYou will be prompted to enter your email and password. Your credentials are securely stored in your system's keyring.\n\n```bash\ntestzeus login --profile dev\n```\n\nAuthentication automatically detects and stores your tenant information, which will be used for all subsequent commands.\n\n### Auth Commands\n\n| Command | Description |\n|---------|-------------|\n| `login` | Authenticate with TestZeus |\n| `logout` | Log out and remove stored credentials |\n| `whoami` | Display current authentication status |\n\n## Global Options\n\nThe following options can be used with any command:\n\n| Option | Description |\n|--------|-------------|\n| `--profile` | Configuration profile to use (default: \"default\") |\n| `--api-url` | Custom TestZeus API URL |\n| `--verbose` | Enable verbose output |\n| `--format` | Output format: json, table, or yaml (default: table) |\n\n## Managing Tests\n\n### List Tests\n\n```bash\ntestzeus tests list\n```\n\nFilter test list with key-value pairs:\n```bash\ntestzeus tests list --filters status=draft\n```\n\nSort and expand related entities:\n```bash\ntestzeus tests list --sort created --expand tags,test_data\n```\n\n### Get Test Details\n\n```bash\ntestzeus tests get <test-id>\ntestzeus tests get <test-id> --expand tags,test_data\n```\n\n### Create Test\n\nCreate a test with text-based features:\n\n```bash\ntestzeus tests create --name \"My Test\" --feature \"Feature: Test something\"\n```\n\nCreate a test with features from a file:\n\n```bash\ntestzeus tests create --name \"My Test\" --feature-file ./features.txt\n```\n\nAdditional options:\n```bash\ntestzeus tests create --name \"My Test\" --feature-file ./features.txt --status ready --data data_id1 --data data_id2 --tags tag1 --tags tag2 --environment env_id --execution-mode strict\n```\n\n### Update Test\n\nUpdate test name:\n\n```bash\ntestzeus tests update <test-id> --name \"New Name\"\n```\n\nUpdate test features from text:\n\n```bash\ntestzeus tests update <test-id> --feature \"Updated feature content\"\n```\n\nUpdate test features from a file:\n\n```bash\ntestzeus tests update <test-id> --feature-file ./updated_features.txt\n```\n\nUpdate other properties:\n```bash\ntestzeus tests update <test-id> --status ready --data data_id1 --tags tag1 --environment env_id\n```\n\n### Delete Test\n\n```bash\ntestzeus tests delete <test-id>\n```\n\n## Test Runs\n\n### List Test Runs\n\n```bash\ntestzeus test-runs list\n```\n\nFilter runs by status:\n\n```bash\ntestzeus test-runs list --filters status=running\n```\n\n### Get Test Run Details\n\n```bash\ntestzeus test-runs get <run-id>\n```\n\nGet expanded details including all outputs and steps:\n\n```bash\ntestzeus test-runs get-expanded <run-id>\n```\n\n### Create and Start Test Run\n\n```bash\ntestzeus test-runs create --name \"Run 1\" --test <test-id>\n```\n\nCreate test run with environment or tag:\n\n```bash\ntestzeus test-runs create --name \"Run 1\" --test <test-id> --env <env-id> --tag <tag-name>\n```\n\n### Cancel Test Run\n\n```bash\ntestzeus test-runs cancel <run-id>\n```\n\n### Watch Test Run Progress\n\n```bash\ntestzeus test-runs watch <run-id>\ntestzeus test-runs watch <run-id> --interval 10\n```\n\n### Get Test Run Status\n\n```bash\ntestzeus test-runs status <run-id>\n```\n\n### Download Test Run Attachments\n\n```bash\ntestzeus test-runs download-attachments <run-id>\ntestzeus test-runs download-attachments <run-id> --output-dir ./my-attachments\n```\n\n## Test Data\n\n### List Test Data\n\n```bash\ntestzeus test-data list\n```\n\nFilter by type:\n```bash\ntestzeus test-data list --filters type=test\n```\n\n### Get Test Data Details\n\n```bash\ntestzeus test-data get <data-id>\ntestzeus test-data get <data-id> --expand related_entities\n```\n\n### Create Test Data\n\nCreate with inline content:\n\n```bash\ntestzeus test-data create --name \"Test Data 1\" --data \"{\\\"key\\\":\\\"value\\\"}\"\n```\n\nCreate with data from a file:\n\n```bash\ntestzeus test-data create --name \"Test Data\" --data-file ./data.json\n```\n\nAdditional options:\n```bash\ntestzeus test-data create --name \"Test Data\" --type test --status ready --data-file ./data.json\n```\n\n### Update Test Data\n\nUpdate name and other properties:\n\n```bash\ntestzeus test-data update <data-id> --name \"New Data Name\" --type updated --status ready\n```\n\nUpdate data content from text:\n\n```bash\ntestzeus test-data update <data-id> --data \"{\\\"key\\\":\\\"updated\\\"}\"\n```\n\nUpdate data content from a file:\n\n```bash\ntestzeus test-data update <data-id> --data-file ./updated_data.json\n```\n\n### Delete Test Data\n\n```bash\ntestzeus test-data delete <data-id>\n```\n\n### File Management for Test Data\n\nUpload a file to test data:\n\n```bash\ntestzeus test-data upload-file <data-id> <file-path>\n```\n\nDelete all files from test data:\n\n```bash\ntestzeus test-data delete-all-files <data-id>\n```\n\n## Environments\n\n### List Environments\n\n```bash\ntestzeus environments list\n```\n\nFilter environments:\n```bash\ntestzeus environments list --filters status=ready\n```\n\n### Get Environment Details\n\n```bash\ntestzeus environments get <env-id>\ntestzeus environments get <env-id> --expand related_entities\n```\n\n### Create Environment\n\nCreate with inline data:\n\n```bash\ntestzeus environments create --name \"Test Environment\" --data \"{\\\"key\\\":\\\"value\\\"}\"\n```\n\nCreate with data from a file:\n\n```bash\ntestzeus environments create --name \"Test Environment\" --data-file ./env_data.json\n```\n\nAdditional options:\n```bash\ntestzeus environments create --name \"Test Environment\" --status ready --data-file ./env_data.json --tags \"tag1,tag2\"\n```\n\n### Update Environment\n\nUpdate environment properties:\n\n```bash\ntestzeus environments update <env-id> --name \"New Name\" --status ready\n```\n\nUpdate environment data:\n\n```bash\ntestzeus environments update <env-id> --data \"{\\\"key\\\":\\\"updated\\\"}\"\ntestzeus environments update <env-id> --data-file ./updated_env_data.json\n```\n\n### Delete Environment\n\n```bash\ntestzeus environments delete <env-id>\n```\n\n### File Management for Environments\n\nUpload a file to environment:\n\n```bash\ntestzeus environments upload-file <env-id> <file-path>\n```\n\nRemove a file from environment:\n\n```bash\ntestzeus environments remove-file <env-id> <file-path>\n```\n\nDelete all files from environment:\n\n```bash\ntestzeus environments delete-all-files <env-id>\n```\n\n## Tags\n\n### List Tags\n\n```bash\ntestzeus tags list\n```\n\nFilter tags:\n```bash\ntestzeus tags list --filters name=test\n```\n\n### Get Tag Details\n\n```bash\ntestzeus tags get <tag-id>\n```\n\n### Create Tag\n\n```bash\ntestzeus tags create --name \"test-tag\" --value \"test-value\"\n```\n\nCreate tag without value:\n\n```bash\ntestzeus tags create --name \"simple-tag\"\n```\n\n### Update Tag\n\n```bash\ntestzeus tags update <tag-id> --name \"new-name\" --value \"new-value\"\n```\n\n### Delete Tag\n\n```bash\ntestzeus tags delete <tag-name>\n```\n\n## Configuration\n\nThe CLI stores configuration and credentials in your user's config directory. Different profiles can be used to manage multiple TestZeus environments.\n\nDefault configuration location:\n- Linux/Mac: `~/.testzeus/config.yaml`\n- Windows: `%APPDATA%\\testzeus\\config.yaml`\n\nPasswords are securely stored in your system's keyring.\n\n## Examples\n\n### Complete Workflow\n\n```bash\n# Login to TestZeus\ntestzeus login\n\n# Create test data\ntestzeus test-data create --name \"User Data\" --data \"{\\\"username\\\":\\\"testuser\\\"}\" \n\n# Create a new test with features from a file\ntestzeus tests create --name \"Login Test\" --feature-file ./features/login.feature --data <test_data_id>\n\n# Run the test\ntestzeus test-runs create --name \"Login Run 1\" --test <test_id>\n\n# Watch the test run progress\ntestzeus test-runs watch <test_run_id>\n\n# Check detailed results\ntestzeus test-runs get-expanded <test_run_id>\n\n# Download any attachments generated during the run\ntestzeus test-runs download-attachments <test_run_id> --output-dir ./results\n```\n\n### Working with Environments\n\n```bash\n# Create an environment with data\ntestzeus environments create --name \"Production Environment\" --data-file ./prod_config.json --status ready\n\n# Upload additional files to the environment\ntestzeus environments upload-file <env-id> ./additional_config.yaml\n\n# Create a test that uses the environment\ntestzeus tests create --name \"Production Test\" --feature-file ./test.feature --environment <env-id>\n```\n\n### Managing Tags\n\n```bash\n# Create tags for organizing tests\ntestzeus tags create --name \"regression\" --value \"suite\"\ntestzeus tags create --name \"priority\" --value \"high\"\n\n# Create a test with tags\ntestzeus tests create --name \"Critical Test\" --feature-file ./critical.feature --tags tag1 --tags tag2\n```\n\n## Error Handling\n\nWhen an error occurs, the CLI will display an error message. For more detailed information, run any command with the `--verbose` flag:\n\n```bash\ntestzeus tests list --verbose\n```\n\n## Output Formats\n\nThe CLI supports multiple output formats:\n\n- `table`: Human-readable tabular format (default)\n- `json`: JSON format for programmatic usage\n- `yaml`: YAML format\n\nExample:\n```bash\ntestzeus tests list --format json\n```\n\n## Development and Contribution\n\nTo contribute to the TestZeus CLI, fork the repository and install development dependencies:\n\n```bash\npip install -e \".[dev]\"\n```\n\n### Release Process\n\nThe TestZeus CLI uses GitHub Actions for automated releases to PyPI. To create a release:\n\n1. Use the Makefile's release target: `make release`\n2. This will:\n   - Prompt for version bump type (patch, minor, major)\n   - Update the version in pyproject.toml\n   - Commit and create a git tag\n   - Push changes and tags to GitHub\n3. The tag push will automatically trigger the GitHub Actions publish workflow ",
    "bugtrack_url": null,
    "license": null,
    "summary": "Command-line interface for TestZeus testing platform",
    "version": "0.0.13",
    "project_urls": {
        "Homepage": "https://github.com/test-zeus-ai/testzeus-cli",
        "Repository": "https://github.com/test-zeus-ai/testzeus-cli"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f0764559d2793829207e0752947c1a285cbdf11b8b1ce27526cb2ff9ed66542f",
                "md5": "469ae4fd7cfcdf0d69f1aad3128189a1",
                "sha256": "27ca37d854aa2f96d6ddf983d3f1b7c2d212a52b2f656a569550992bf42159cc"
            },
            "downloads": -1,
            "filename": "testzeus_cli-0.0.13-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "469ae4fd7cfcdf0d69f1aad3128189a1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.14,>=3.11",
            "size": 29261,
            "upload_time": "2025-07-14T10:38:26",
            "upload_time_iso_8601": "2025-07-14T10:38:26.904513Z",
            "url": "https://files.pythonhosted.org/packages/f0/76/4559d2793829207e0752947c1a285cbdf11b8b1ce27526cb2ff9ed66542f/testzeus_cli-0.0.13-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ee1682554ad89f51f4f55a4004875473a198a6319cafb295de53158ad24f400e",
                "md5": "c8a7e6b4e8bc70da9cdd5684ef56749c",
                "sha256": "927b76f21adc41972c02dba6e5d19676c6105556387a253750e54155016ebef6"
            },
            "downloads": -1,
            "filename": "testzeus_cli-0.0.13.tar.gz",
            "has_sig": false,
            "md5_digest": "c8a7e6b4e8bc70da9cdd5684ef56749c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.14,>=3.11",
            "size": 21878,
            "upload_time": "2025-07-14T10:38:28",
            "upload_time_iso_8601": "2025-07-14T10:38:28.125522Z",
            "url": "https://files.pythonhosted.org/packages/ee/16/82554ad89f51f4f55a4004875473a198a6319cafb295de53158ad24f400e/testzeus_cli-0.0.13.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-14 10:38:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "test-zeus-ai",
    "github_project": "testzeus-cli",
    "github_not_found": true,
    "lcname": "testzeus-cli"
}
        
Elapsed time: 3.12291s