Metadata-Version: 2.1
Name: astronomer-e2e-test
Version: 0.4.0
Summary: Astronomer scripts for internal use
License: MIT
Author: Steven Miller
Author-email: sjmiller609@gmail.com
Requires-Python: >=3.12,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Requires-Dist: behave (>=1.2.6,<2.0.0)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: gitdb2 (>=4.0.2,<5.0.0)
Requires-Dist: gitpython (>=3.1.43,<4.0.0)
Requires-Dist: graphqlclient (>=0.2.4,<0.3.0)
Requires-Dist: packaging (>=24.2,<25.0)
Requires-Dist: pexpect (>=4.9.0,<5.0.0)
Requires-Dist: pygithub (>=2.5.0,<3.0.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: requests (>=2.32.3,<3.0.0)
Description-Content-Type: text/markdown

# Astronomer end to end testing

This repository contains a set of test files
for validating Astronomer Platform functionality.
It uses the [Python Behave](https://behave.readthedocs.io/en/latest/)
framework to create literate tests and output.

CircleCI: https://circleci.com/gh/astronomer/workflows/astronomer_e2e_test

Docker Hub: https://hub.docker.com/r/astronomerinc/ap-e2e-test

## Tests

See the platform/features directory for details.

Current:

- Auth
  - Login with CLI
  - Login with API
- Workspaces
  - List
  - Create
  - Delete
  - Change Active
- Deployment
  - List
  - Create [local, celery, k8s]
  - Delete

### TODO

- DAGs of various types (will require Docker engine be available)
- Known regressions that should be fixed

### Usage

These tests are used via `helm test` in the astronomer/astronomer repository.

You will need a user on the platform you intend to test.

### With Docker

#### Run

```shell
docker run --rm -it \
  -e ASTRO_USER="name@domain.com" \
  -e ASTRO_PASS="..." \
  -e HOUSTON_URL="https://houston.my-base-domain.com/v1" \
  astronomerinc/ap-e2e-test:latest
```

## Building the package

### Docker image

```sh
docker build -t astronomerinc/ap-e2e-test:latest .
```

### Python wheel

```sh
poetry build -f wheel
```

#### Run

```sh
cd platform

# Run all tests
behave

# Run specific test
behave features/000_auth.feature
```

## Releasing

First, bump the version and show th your changes:

```sh
poetry version <major|minor|patch>
git commit -m "version 9.8.7"  # whatever version shows up in `git diff`
```

```sh
poetry publish --username="$PYPI_USERNAME" --password="$PYPI_PASSWORD"
```

