{"id":34257093,"url":"https://github.com/cloudify-cosmo/cloudify-system-tests","last_synced_at":"2025-12-16T14:06:03.511Z","repository":{"id":15591578,"uuid":"18327506","full_name":"cloudify-cosmo/cloudify-system-tests","owner":"cloudify-cosmo","description":"Cloudify System Tests","archived":false,"fork":false,"pushed_at":"2024-10-16T18:05:45.000Z","size":6300,"stargazers_count":7,"open_issues_count":6,"forks_count":18,"subscribers_count":35,"default_branch":"master","last_synced_at":"2024-10-19T09:23:23.470Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"Rinnegatamante/3dsxlauncher_loader","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudify-cosmo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-04-01T11:44:17.000Z","updated_at":"2022-12-14T22:28:16.000Z","dependencies_parsed_at":"2024-02-15T15:29:11.629Z","dependency_job_id":"67768e37-1dab-460b-b5fa-d87703e41a13","html_url":"https://github.com/cloudify-cosmo/cloudify-system-tests","commit_stats":null,"previous_names":[],"tags_count":77,"template":false,"template_full_name":null,"purl":"pkg:github/cloudify-cosmo/cloudify-system-tests","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudify-cosmo%2Fcloudify-system-tests","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudify-cosmo%2Fcloudify-system-tests/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudify-cosmo%2Fcloudify-system-tests/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudify-cosmo%2Fcloudify-system-tests/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudify-cosmo","download_url":"https://codeload.github.com/cloudify-cosmo/cloudify-system-tests/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudify-cosmo%2Fcloudify-system-tests/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27765951,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-16T02:00:10.477Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-16T14:05:59.020Z","updated_at":"2025-12-16T14:06:03.502Z","avatar_url":"https://github.com/cloudify-cosmo.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Cloudify System Tests\n==================\n\n* Master [![Circle CI](https://circleci.com/gh/cloudify-cosmo/cloudify-system-tests/tree/master.svg?\u0026style=shield)](https://circleci.com/gh/cloudify-cosmo/cloudify-system-tests/tree/master)\n\n\nThe system tests framework uses pytest fixtures in order to create the required\nresources for testing Cloudify.\n\n## Installation\n\n### Install system tests framework\n\n* Checkout the repository.\n* cd cloudify-system-tests\n* pip install -r requirements.txt \u0026\u0026 pip install --no-index --no-deps -e .\n\n## Running tests\n\nThe test framework requires a cloudify manager in order to create and manage test instances.\nYou will need to know the address of this manager and its admin password.\nThis manager will need to have network access to the platform you wish it to manage.\nThis manager will need to have the necessary plugin for your platform uploaded and shared with visibility set to global.\n\nThe test framework assumes that manager images will exist, as defined in the schema.\nTo see expected image name structure, look in the config under manager_image_names.\n\nTo see the schema including default values, run:\n```bash\ntest-config schema\n```\n\nConfiguration for the tests is expected to be found in test_config.yaml\nThis can be overridden when running pytest by passing the --config-location argument to pytest.\n\nBasic configuration can be generated for your platform.\nThis basic configuration will be generated from the default approach for that platform (if one exists),\ne.g. openstack environment generation will attempt to read the env vars normally provided by an openstackrc file.\nFor example, for openstack you can run:\n```bash\ntest-config generate --platform openstack | tee test_config.yaml\n```\n\nYou will then need to edit the file to set whether you are running premium tests, and populate any empty values.\n\nYou do not need to generate the test config every time you run tests.\n\nYou can now run a test:\n```bash\npytest --pdb -s cosmo_tester/test_suites/general/simple_deployment_test.py::test_simple_deployment\n```\n--pdb is recommended for manual test runs as this will pause test execution on failure and may allow you to gain valuable insight into the cause of the failure.\n-s is recommended in order to ensure all test output is shown.\n\n#### Tests which use an external DB\nSome of our tests (currently only `cosmo_tester/test_suites/cluster/external_component_cluster_test.py::test_upgrade_external_db`) use an external database.\nThe FQDN and password of the database should be provided as environment variables `EXTDB_FQDN=...` and `EXTDB_PSWD=...` when running the test manually.\nDevelopers may refer to the `pipelines-k8s/system-tests` pipeline in our `cloudify-build-system` repo for the values of our test-db on RDS.\n\n\n## Using the config in tests\nThere are two supported ways of accessing the config within tests.\n\nIn either case, use the test_config fixture in the test definition.\n\nThen you can access platform specific details via .platform. This is not expected to be used outside of test_hosts, so please consider carefully if you really need it.\nIf you do need to use it, test_config.platform will provide the dict for the current target platform's relevant namespace, e.g. the openstack namespace.\nAs this is not expected to be frequently used, no example is provided below, so anyone looking for a quick solution to a problem will see the expected approach below.\n\nThe primary access method is as a dict, based on the schema.\ne.g.\n```python\ndef test_something(test_config):\n    test_config['test_os_usernames']['windows_2012']\n```\n\nTo see available keys in the schema, with descriptions:\n```bash\ntest-config schema\n```\n\n## Updating requirements.txt\n\nInstall pip-tools, update dependencies as desired and run `pip-compile`, as noted in the requirements.txt header.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudify-cosmo%2Fcloudify-system-tests","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudify-cosmo%2Fcloudify-system-tests","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudify-cosmo%2Fcloudify-system-tests/lists"}