Skip to content

Reb/integration tests start#41

Open
EugeneGene wants to merge 46 commits intomainfrom
reb/integration-tests-start
Open

Reb/integration tests start#41
EugeneGene wants to merge 46 commits intomainfrom
reb/integration-tests-start

Conversation

@EugeneGene
Copy link
Copy Markdown
Contributor

@EugeneGene EugeneGene commented Mar 19, 2026

Summary

  • This PR is the starting framework for checking future PRs in a systematic and timely fashion.
  • The initial setup is based on pytest
  • Ideally, new features and fixes should be accompanied with new pytest files under ~/tests/integration/ and labeled with the prefix test_
tests
├── __init__.py
├── conftest.py
└── integration
    ├── __init__.py
    ├── data
    │   ├── __init__.py
    │   └── api_inference_models_and_inference.py
    ├── gateway.py
    ├── test_inference_models.py
    └── utils.py

Related Issue (optional)

How to test this PR?

Create a .env file in the root

  • Test cloud deployment by uncommenting the three lines following "Cloud Deployment (TEMPLATE)"
  • replace "API_KEY" with a real API_KEY
  • Test local deployment (tested using lima), by uncommenting the three lines following "Local Deployment (TEMPLATE)"
  • replace "API_KEY" with a real API_KEY created with your local deployment
# <<<<<<<< Gateway API Testing
# Cloud Deployment (TEMPLATE)
# BASE_GATEWAY_URL=https://geofm-gateway-geospatial.apps.fmaas-devstage-backend.fmaas.res.ibm.com
# GATEWAY_TLS_VERIFY=1   # 1: To Verify or 0: No Verify
# API_KEY=pak-01234567890123456789012345678901
#

# Local Deployment (TEMPLATE)
# BASE_GATEWAY_URL=https://localhost:4181
# GATEWAY_TLS_VERIFY=1   # 1: To Verify or 0: No Verify
# API_KEY=pak-01234567890123456789012345678901


# <<<<<<<< GEO Studio Developer (Should Edit)
# <<<<<<<< Gateway API Testing

Create a virtual python 3.11 (venv) development environment.

python3.11 -m venv venv-integration-tests-00 && source venv-integration-tests-00/bin/activate && pip install --upgrade pip && pip install -r requirements-dev.txt

Execute the single integration test

  • navigate to the root of the repo
  • execute the following:
cd ~/geospatial-studio
python -m pytest -q -m integration --no-cov \
--log-file=run.log --log-file-level=INFO \
tests/integration/test_inference_models.py 
  • this should yield
.........ssss                                                        [100%]
============================= warnings summary =============================
tests/integration/test_inference_models.py::test_create_model_fixture
tests/integration/test_inference_models.py::test_list_models_fixture
tests/integration/test_inference_models.py::test_deploy_model_with_amo_fixture_no_urls
tests/integration/test_inference_models.py::test_deploy_model_with_amo_fixture_no_urls_and_missing_model_id
tests/integration/test_inference_models.py::test_update_model_display_name
tests/integration/test_inference_models.py::test_update_model_display_name_for_missing_model_id
tests/integration/test_inference_models.py::test_get_model_
tests/integration/test_inference_models.py::test_get_model_with_nonexisting_model_id
tests/integration/test_inference_models.py::test_delete_model_create_then_delete


-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
9 passed, 4 skipped, 9 warnings in 11.13s

Screenshots / Logs (optional)

Checklist

✅ This PR targets the main branch
❌ I have added or updated relevant docs.
✅ I have not included any secrets or credentials.
✅ Linting and formatting checks pass.

bglar and others added 20 commits March 25, 2026 12:51
- Configure PgBouncer in Lima deployment
- Fix hook job cleanup and stuck pod issues
- Enhance uninstall script with complete cleanup
- Add default namespace option

Signed-off-by: Brian Glar <bogolla4@gmail.com>
…removal

Signed-off-by: Brian Glar <bogolla4@gmail.com>
Configure PgBouncer connection pooling and replace credential placeholders
in Lima, K8s, and OCP deployment scripts for proper database connectivity

Signed-off-by: Brian Glar <bogolla4@gmail.com>
…tarvation

- Implement 5 dedicated pools with optimized sizing per service
- Update load testing with 5min steady-state and failure detection
- Consolidate PgBouncer docs into single comprehensive guide

Prevents high-load services from exhausting connections for other services.
See docs/deployment/pgbouncer-guide.md for details.

Signed-off-by: Brian Glar <bogolla4@gmail.com>
Signed-off-by: Brian Glar <bogolla4@gmail.com>
WanjiruCate and others added 23 commits March 26, 2026 13:10
- Configure PgBouncer in Lima deployment
- Fix hook job cleanup and stuck pod issues
- Enhance uninstall script with complete cleanup
- Add default namespace option

Signed-off-by: Brian Glar <bogolla4@gmail.com>
…removal

Signed-off-by: Brian Glar <bogolla4@gmail.com>
…tarvation

- Implement 5 dedicated pools with optimized sizing per service
- Update load testing with 5min steady-state and failure detection
- Consolidate PgBouncer docs into single comprehensive guide

Prevents high-load services from exhausting connections for other services.
See docs/deployment/pgbouncer-guide.md for details.

Signed-off-by: Brian Glar <bogolla4@gmail.com>
Signed-off-by: Brian Glar <bogolla4@gmail.com>
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.

4 participants