Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pytest #725

Draft
wants to merge 97 commits into
base: master
Choose a base branch
from
Draft

Pytest #725

wants to merge 97 commits into from

Conversation

iwphonedo
Copy link

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

  • I sign off on contributing this submission to open-source
  • My code follows the code style of this project.
  • My change requires changes to the documentation.
  • I have updated the documentation accordingly.
  • All new and existing tests passed.
  • This PR does not contain plagiarized content.
  • The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

tobihans and others added 30 commits October 15, 2024 17:13
	new file:   CONTRIBUTING.md
	new file:   LICENSE
	new file:   MANIFEST.in
	new file:   Makefile
	new file:   README.md
	new file:   app-tests/README.md
	new file:   app-tests/docker-compose-app-tests.yml
	new file:   app-tests/run.sh
	new file:   docker/Dockerfile
	new file:   docker/docker-compose-api-policy-source-example.yml
	new file:   docker/docker-compose-example-cedar.yml
	new file:   docker/docker-compose-example.yml
	new file:   docker/docker-compose-git-webhook.yml
	new file:   docker/docker-compose-scopes-example.yml
	new file:   docker/docker-compose-with-callbacks.yml
	new file:   docker/docker-compose-with-kafka-example.yml
	new file:   docker/docker-compose-with-oauth-initial.yml
	new file:   docker/docker-compose-with-rate-limiting.yml
	new file:   docker/docker-compose-with-security.yml
	new file:   docker/docker-compose-with-statistics.yml
	new file:   docker/docker_files/bundle_files/bundle.tar.gz
	new file:   docker/docker_files/bundle_files/bundle.tar.gz.bak
	new file:   docker/docker_files/cedar_data/data.json
	new file:   docker/docker_files/nginx.conf
	new file:   docker/docker_files/policy_test/authz.rego
	new file:   docker/run-example-with-scopes.sh
	new file:   docker/run-example-with-security.sh
	new file:   documentation/.gitignore
	new file:   documentation/babel.config.js
	new file:   documentation/docs/FAQ.mdx
	new file:   documentation/docs/fetch-providers.mdx
	new file:   documentation/docs/getting-started/configuration.mdx
	new file:   documentation/docs/getting-started/intro.mdx
	new file:   documentation/docs/getting-started/quickstart/docker-compose-config/opal-client.mdx
	new file:   documentation/docs/getting-started/quickstart/docker-compose-config/opal-server.mdx
	new file:   documentation/docs/getting-started/quickstart/docker-compose-config/overview.mdx
	new file:   documentation/docs/getting-started/quickstart/docker-compose-config/postgres-database.mdx
	new file:   documentation/docs/getting-started/quickstart/opal-playground/overview.mdx
	new file:   documentation/docs/getting-started/quickstart/opal-playground/publishing-data-update.mdx
	new file:   documentation/docs/getting-started/quickstart/opal-playground/run-server-and-client.mdx
	new file:   documentation/docs/getting-started/quickstart/opal-playground/send-queries-to-opa.mdx
	new file:   documentation/docs/getting-started/quickstart/opal-playground/updating-the-policy.mdx
	new file:   documentation/docs/getting-started/running-opal/as-python-package/opal-client-setup.mdx
	new file:   documentation/docs/getting-started/running-opal/as-python-package/opal-server-setup.mdx
	new file:   documentation/docs/getting-started/running-opal/as-python-package/overview.mdx
	new file:   documentation/docs/getting-started/running-opal/as-python-package/running-in-prod.mdx
	new file:   documentation/docs/getting-started/running-opal/as-python-package/secure-mode-setup.mdx
	new file:   documentation/docs/getting-started/running-opal/config-variables.mdx
	new file:   documentation/docs/getting-started/running-opal/download-docker-images.mdx
	new file:   documentation/docs/getting-started/running-opal/overview.mdx
	new file:   documentation/docs/getting-started/running-opal/run-docker-containers.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/data-topics.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/get-client-image.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/lets-run-the-client.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/obtain-jwt-token.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/opa-runner-parameters.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/server-uri.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-client/standalone-opa-uri.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/broadcast-interface.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/data-sources.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/get-server-image.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/policy-repo-location.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/policy-repo-syncing.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/putting-all-together.mdx
	new file:   documentation/docs/getting-started/running-opal/run-opal-server/security-parameters.mdx
	new file:   documentation/docs/getting-started/running-opal/troubleshooting.mdx
	new file:   documentation/docs/getting-started/tldr.mdx
	new file:   documentation/docs/opal-plus/deploy.mdx
	new file:   documentation/docs/opal-plus/features.mdx
	new file:   documentation/docs/opal-plus/introduction.mdx
	new file:   documentation/docs/opal-plus/troubleshooting.mdx
	new file:   documentation/docs/overview/_security.mdx
	new file:   documentation/docs/overview/architecture.mdx
	new file:   documentation/docs/overview/design.mdx
	new file:   documentation/docs/overview/modules.mdx
	new file:   documentation/docs/overview/scopes.md
	new file:   documentation/docs/release-updates.mdx
	new file:   documentation/docs/tutorials/_configure_backbone_pubsub.mdx
	new file:   documentation/docs/tutorials/cedar.mdx
	new file:   documentation/docs/tutorials/configure_external_data_sources.mdx
	new file:   documentation/docs/tutorials/configure_opal.mdx
	new file:   documentation/docs/tutorials/healthcheck_policy_and_update_callbacks.mdx
	new file:   documentation/docs/tutorials/helm-chart-for-kubernetes.mdx
	new file:   documentation/docs/tutorials/install_as_python_packages.mdx
	new file:   documentation/docs/tutorials/monitoring_opal.mdx
	new file:   documentation/docs/tutorials/run_opal_with_kafka.mdx
	new file:   documentation/docs/tutorials/run_opal_with_pulsar.mdx
	new file:   documentation/docs/tutorials/track_a_git_repo.mdx
	new file:   documentation/docs/tutorials/track_an_api_bundle_server.mdx
	new file:   documentation/docs/tutorials/trigger_data_updates.mdx
	new file:   documentation/docs/tutorials/use_self_signed_certificates.mdx
	new file:   documentation/docs/tutorials/write_your_own_fetch_provider.mdx
	new file:   documentation/docs/welcome.mdx
	new file:   documentation/docusaurus.config.js
	new file:   documentation/package-lock.json
	new file:   documentation/package.json
	new file:   documentation/sidebars.js
	new file:   documentation/src/css/custom.scss
	new file:   documentation/src/css/prism-theme.js
	new file:   documentation/static/.nojekyll
	new file:   documentation/static/img/FAQ-1.png
	new file:   documentation/static/img/favicon.ico
	new file:   documentation/static/img/opal.png
	new file:   documentation/static/img/opal_plus.png
	new file:   packages/__packaging__.py
	new file:   packages/opal-client/opal_client/__init__.py
	new file:   packages/opal-client/opal_client/callbacks/__init__.py
	new file:   packages/opal-client/opal_client/callbacks/api.py
	new file:   packages/opal-client/opal_client/callbacks/register.py
	new file:   packages/opal-client/opal_client/callbacks/reporter.py
	new file:   packages/opal-client/opal_client/cli.py
	new file:   packages/opal-client/opal_client/client.py
	new file:   packages/opal-client/opal_client/config.py
	new file:   packages/opal-client/opal_client/data/__init__.py
	new file:   packages/opal-client/opal_client/data/api.py
	new file:   packages/opal-client/opal_client/data/fetcher.py
	new file:   packages/opal-client/opal_client/data/rpc.py
	new file:   packages/opal-client/opal_client/data/updater.py
	new file:   packages/opal-client/opal_client/engine/__init__.py
	new file:   packages/opal-client/opal_client/engine/healthcheck/example-transaction.json
	new file:   packages/opal-client/opal_client/engine/healthcheck/opal.rego
	new file:   packages/opal-client/opal_client/engine/logger.py
	new file:   packages/opal-client/opal_client/engine/options.py
	new file:   packages/opal-client/opal_client/engine/runner.py
	new file:   packages/opal-client/opal_client/limiter.py
	new file:   packages/opal-client/opal_client/logger.py
	new file:   packages/opal-client/opal_client/main.py
	new file:   packages/opal-client/opal_client/policy/__init__.py
	new file:   packages/opal-client/opal_client/policy/api.py
	new file:   packages/opal-client/opal_client/policy/fetcher.py
	new file:   packages/opal-client/opal_client/policy/options.py
	new file:   packages/opal-client/opal_client/policy/topics.py
	new file:   packages/opal-client/opal_client/policy/updater.py
	new file:   packages/opal-client/opal_client/policy_store/__init__.py
	new file:   packages/opal-client/opal_client/policy_store/api.py
	new file:   packages/opal-client/opal_client/policy_store/base_policy_store_client.py
	new file:   packages/opal-client/opal_client/policy_store/cedar_client.py
	new file:   packages/opal-client/opal_client/policy_store/mock_policy_store_client.py
	new file:   packages/opal-client/opal_client/policy_store/opa_client.py
	new file:   packages/opal-client/opal_client/policy_store/policy_store_client_factory.py
	new file:   packages/opal-client/opal_client/policy_store/schemas.py
	new file:   packages/opal-client/opal_client/tests/__init__.py
	new file:   packages/opal-client/opal_client/tests/data_updater_test.py
	new file:   packages/opal-client/opal_client/tests/opa_client_test.py
	new file:   packages/opal-client/opal_client/tests/server_to_client_intergation_test.py
	new file:   packages/opal-client/opal_client/utils.py
	new file:   packages/opal-client/requires.txt
	new file:   packages/opal-client/setup.py
	new file:   packages/opal-common/opal_common/__init__.py
	new file:   packages/opal-common/opal_common/async_utils.py
	new file:   packages/opal-common/opal_common/authentication/__init__.py
	new file:   packages/opal-common/opal_common/authentication/authz.py
	new file:   packages/opal-common/opal_common/authentication/casting.py
	new file:   packages/opal-common/opal_common/authentication/deps.py
	new file:   packages/opal-common/opal_common/authentication/signer.py
	new file:   packages/opal-common/opal_common/authentication/tests/__init__.py
	new file:   packages/opal-common/opal_common/authentication/tests/jwt_signer_test.py
	new file:   packages/opal-common/opal_common/authentication/types.py
	new file:   packages/opal-common/opal_common/authentication/verifier.py
	new file:   packages/opal-common/opal_common/cli/__init__.py
	new file:   packages/opal-common/opal_common/cli/commands.py
	new file:   packages/opal-common/opal_common/cli/docs.py
	new file:   packages/opal-common/opal_common/cli/typer_app.py
	new file:   packages/opal-common/opal_common/confi/README.md
	new file:   packages/opal-common/opal_common/confi/__init__.py
	new file:   packages/opal-common/opal_common/confi/cli.py
	new file:   packages/opal-common/opal_common/confi/confi.py
	new file:   packages/opal-common/opal_common/confi/types.py
	new file:   packages/opal-common/opal_common/config.py
	new file:   packages/opal-common/opal_common/corn_utils.py
	new file:   packages/opal-common/opal_common/emport.py
	new file:   packages/opal-common/opal_common/engine/__init__.py
	new file:   packages/opal-common/opal_common/engine/parsing.py
	new file:   packages/opal-common/opal_common/engine/paths.py
	new file:   packages/opal-common/opal_common/engine/py.typed
	new file:   packages/opal-common/opal_common/engine/tests/fixtures/invalid-package.rego
	new file:   packages/opal-common/opal_common/engine/tests/fixtures/jwt.rego
	new file:   packages/opal-common/opal_common/engine/tests/fixtures/no-package.rego
	new file:   packages/opal-common/opal_common/engine/tests/fixtures/play.rego
	new file:   packages/opal-common/opal_common/engine/tests/fixtures/rbac.rego
	new file:   packages/opal-common/opal_common/engine/tests/parsing_test.py
	new file:   packages/opal-common/opal_common/engine/tests/paths_test.py
	new file:   packages/opal-common/opal_common/fetcher/__init__.py
	new file:   packages/opal-common/opal_common/fetcher/engine/__init__.py
	new file:   packages/opal-common/opal_common/fetcher/engine/base_fetching_engine.py
	new file:   packages/opal-common/opal_common/fetcher/engine/core_callbacks.py
	new file:   packages/opal-common/opal_common/fetcher/engine/fetch_worker.py
	new file:   packages/opal-common/opal_common/fetcher/engine/fetching_engine.py
	new file:   packages/opal-common/opal_common/fetcher/events.py
	new file:   packages/opal-common/opal_common/fetcher/fetch_provider.py
	new file:   packages/opal-common/opal_common/fetcher/fetcher_register.py
	new file:   packages/opal-common/opal_common/fetcher/logger.py
	new file:   packages/opal-common/opal_common/fetcher/providers/__init__.py
	new file:   packages/opal-common/opal_common/fetcher/providers/fastapi_rpc_fetch_provider.py
	new file:   packages/opal-common/opal_common/fetcher/providers/http_fetch_provider.py
	new file:   packages/opal-common/opal_common/fetcher/tests/__init__.py
	new file:   packages/opal-common/opal_common/fetcher/tests/failure_handler_test.py
	new file:   packages/opal-common/opal_common/fetcher/tests/http_fetch_test.py
	new file:   packages/opal-common/opal_common/fetcher/tests/rpc_fetch_test.py
	new file:   packages/opal-common/opal_common/git_utils/__init__.py
	new file:   packages/opal-common/opal_common/git_utils/branch_tracker.py
	new file:   packages/opal-common/opal_common/git_utils/bundle_maker.py
	new file:   packages/opal-common/opal_common/git_utils/bundle_utils.py
	new file:   packages/opal-common/opal_common/git_utils/commit_viewer.py
	new file:   packages/opal-common/opal_common/git_utils/diff_viewer.py
	new file:   packages/opal-common/opal_common/git_utils/env.py
	new file:   packages/opal-common/opal_common/git_utils/exceptions.py
	new file:   packages/opal-common/opal_common/git_utils/repo_cloner.py
	new file:   packages/opal-common/opal_common/git_utils/tar_file_to_local_git_extractor.py
	new file:   packages/opal-common/opal_common/git_utils/tests/branch_tracker_test.py
	new file:   packages/opal-common/opal_common/git_utils/tests/bundle_maker_test.py
	new file:   packages/opal-common/opal_common/git_utils/tests/commit_viewer_test.py
	new file:   packages/opal-common/opal_common/git_utils/tests/conftest.py
	new file:   packages/opal-common/opal_common/git_utils/tests/diff_viewer_test.py
	new file:   packages/opal-common/opal_common/git_utils/tests/repo_cloner_test.py
	new file:   packages/opal-common/opal_common/git_utils/tests/repo_watcher_test.py
	new file:   packages/opal-common/opal_common/http_utils.py
	new file:   packages/opal-common/opal_common/logger.py
	new file:   packages/opal-common/opal_common/logging_utils/__init__.py
	new file:   packages/opal-common/opal_common/logging_utils/decorators.py
	new file:   packages/opal-common/opal_common/logging_utils/filter.py
	new file:   packages/opal-common/opal_common/logging_utils/formatter.py
	new file:   packages/opal-common/opal_common/logging_utils/intercept.py
	new file:   packages/opal-common/opal_common/logging_utils/thirdparty.py
	new file:   packages/opal-common/opal_common/middleware.py
	new file:   packages/opal-common/opal_common/monitoring/__init__.py
	new file:   packages/opal-common/opal_common/monitoring/apm.py
	new file:   packages/opal-common/opal_common/monitoring/metrics.py
	new file:   packages/opal-common/opal_common/paths.py
	new file:   packages/opal-common/opal_common/schemas/__init__.py
	new file:   packages/opal-common/opal_common/schemas/data.py
	new file:   packages/opal-common/opal_common/schemas/policy.py
	new file:   packages/opal-common/opal_common/schemas/policy_source.py
	new file:   packages/opal-common/opal_common/schemas/scopes.py
	new file:   packages/opal-common/opal_common/schemas/security.py
	new file:   packages/opal-common/opal_common/schemas/store.py
	new file:   packages/opal-common/opal_common/schemas/webhook.py
	new file:   packages/opal-common/opal_common/security/__init__.py
	new file:   packages/opal-common/opal_common/security/sslcontext.py
	new file:   packages/opal-common/opal_common/security/tarsafe.py
	new file:   packages/opal-common/opal_common/sources/__init__.py
	new file:   packages/opal-common/opal_common/sources/api_policy_source.py
	new file:   packages/opal-common/opal_common/sources/base_policy_source.py
	new file:   packages/opal-common/opal_common/sources/git_policy_source.py
	new file:   packages/opal-common/opal_common/synchronization/__init__.py
	new file:   packages/opal-common/opal_common/synchronization/expiring_redis_lock.py
	new file:   packages/opal-common/opal_common/synchronization/named_lock.py
	new file:   packages/opal-common/opal_common/tests/__init__.py
	new file:   packages/opal-common/opal_common/tests/path_utils_test.py
	new file:   packages/opal-common/opal_common/tests/test_utils.py
	new file:   packages/opal-common/opal_common/tests/url_utils_test.py
	new file:   packages/opal-common/opal_common/topics/__init__.py
	new file:   packages/opal-common/opal_common/topics/listener.py
	new file:   packages/opal-common/opal_common/topics/publisher.py
	new file:   packages/opal-common/opal_common/topics/utils.py
	new file:   packages/opal-common/opal_common/urls.py
	new file:   packages/opal-common/opal_common/utils.py
	new file:   packages/opal-common/requires.txt
	new file:   packages/opal-common/setup.py
	new file:   packages/opal-server/opal_server/__init__.py
	new file:   packages/opal-server/opal_server/cli.py
	new file:   packages/opal-server/opal_server/config.py
	new file:   packages/opal-server/opal_server/data/__init__.py
	new file:   packages/opal-server/opal_server/data/api.py
	new file:   packages/opal-server/opal_server/data/data_update_publisher.py
	new file:   packages/opal-server/opal_server/data/tests/test_data_update_publisher.py
	new file:   packages/opal-server/opal_server/git_fetcher.py
	new file:   packages/opal-server/opal_server/loadlimiting.py
	new file:   packages/opal-server/opal_server/main.py
	new file:   packages/opal-server/opal_server/policy/__init__.py
	new file:   packages/opal-server/opal_server/policy/bundles/__init__.py
	new file:   packages/opal-server/opal_server/policy/bundles/api.py
	new file:   packages/opal-server/opal_server/policy/watcher/__init__.py
	new file:   packages/opal-server/opal_server/policy/watcher/callbacks.py
	new file:   packages/opal-server/opal_server/policy/watcher/factory.py
	new file:   packages/opal-server/opal_server/policy/watcher/task.py
	new file:   packages/opal-server/opal_server/policy/webhook/__init__.py
	new file:   packages/opal-server/opal_server/policy/webhook/api.py
	new file:   packages/opal-server/opal_server/policy/webhook/deps.py
	new file:   packages/opal-server/opal_server/policy/webhook/listener.py
	new file:   packages/opal-server/opal_server/publisher.py
	new file:   packages/opal-server/opal_server/pubsub.py
	new file:   packages/opal-server/opal_server/redis_utils.py
	new file:   packages/opal-server/opal_server/scopes/__init__.py
	new file:   packages/opal-server/opal_server/scopes/api.py
	new file:   packages/opal-server/opal_server/scopes/loader.py
	new file:   packages/opal-server/opal_server/scopes/scope_repository.py
	new file:   packages/opal-server/opal_server/scopes/service.py
	new file:   packages/opal-server/opal_server/scopes/task.py
	new file:   packages/opal-server/opal_server/security/__init__.py
	new file:   packages/opal-server/opal_server/security/api.py
	new file:   packages/opal-server/opal_server/security/jwks.py
	new file:   packages/opal-server/opal_server/server.py
	new file:   packages/opal-server/opal_server/statistics.py
	new file:   packages/opal-server/opal_server/tests/policy_repo_webhook_test.py
	new file:   packages/opal-server/requires.txt
	new file:   packages/opal-server/setup.py
	new file:   packages/requires.txt
	new file:   pytest.ini
	new file:   requirements.txt
	new file:   scripts/gunicorn_conf.py
	new file:   scripts/start.sh
	new file:   scripts/wait-for.sh
	modified:   ari/docker-py.py
	new file:   new_pytest_env/b.py
	renamed:    ari/docker-compose.yml -> new_pytest_env/docker-compose.yml
	new file:   new_pytest_env/docker-py copy.py
	new file:   new_pytest_env/gitea_docker_py.py
	new file:   new_pytest_env/github_clone_to_gitea.py
	renamed:    ari/docker-py.py -> new_pytest_env/opal_docker_py.py
	new file:   opal-example-policy-repo
	modified:   new_pytest_env/gitea_docker_py.py
	modified:   new_pytest_env/opal_docker_py.py
	modified:   opal-example-policy-repo (new commits)
	modified:   new_pytest_env/gitea_docker_py.py
	modified:   new_pytest_env/opal_docker_py.py
	new file:   new_pytest_env/opal_docker_py_build.py
	new file:   new_pytest_env/run.sh
	modified:   new_pytest_env/opal_docker_py.py
	new file:   new_pytest_env/test.py
	new file:   .vscode/launch.json
	new file:   .vscode/settings.json
	new file:   git_askpass.sh
	renamed:    new_pytest_env/b.py -> new_pytest_env/deprecated/b.py
	renamed:    new_pytest_env/docker-compose.yml -> new_pytest_env/deprecated/docker-compose.yml
	renamed:    new_pytest_env/docker-py copy.py -> new_pytest_env/deprecated/docker-py copy.py
	renamed:    new_pytest_env/opal_docker_py_build.py -> new_pytest_env/deprecated/opal_docker_py_build.py
	renamed:    new_pytest_env/run.sh -> new_pytest_env/deprecated/run.sh
	new file:   new_pytest_env/gitea_branch_update.py
	modified:   new_pytest_env/gitea_docker_py.py
	modified:   new_pytest_env/github_clone_to_gitea.py
	new file:   new_pytest_env/issue.txt
	modified:   new_pytest_env/opal_docker_py.py
	new file:   new_pytest_env/run_tests.py
	modified:   new_pytest_env/test.py
	new file:   requirements copy.txt
Copy link

netlify bot commented Dec 27, 2024

Deploy Preview for opal-docs canceled.

Name Link
🔨 Latest commit cf212c5
🔍 Latest deploy log https://app.netlify.com/sites/opal-docs/deploys/6774aa918267300008f16ac2

ariWeinberg and others added 26 commits December 29, 2024 05:05
… functions to accept datasource token and port as parameters, and also work on lists of containers
…d improve password handling in GithubPolicyRepo
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.

3 participants