{"id":19347201,"url":"https://github.com/dcos/dcos-test-utils","last_synced_at":"2025-04-23T05:31:50.439Z","repository":{"id":52413059,"uuid":"96388779","full_name":"dcos/dcos-test-utils","owner":"dcos","description":"Utilities for testing and interacting with DC/OS services","archived":false,"fork":false,"pushed_at":"2021-04-29T21:41:04.000Z","size":539,"stargazers_count":6,"open_issues_count":8,"forks_count":17,"subscribers_count":40,"default_branch":"master","last_synced_at":"2025-04-02T08:51:11.309Z","etag":null,"topics":["dcos","dcos-testing-guild"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dcos.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}},"created_at":"2017-07-06T04:38:23.000Z","updated_at":"2023-04-06T15:16:03.000Z","dependencies_parsed_at":"2022-09-06T06:00:25.809Z","dependency_job_id":null,"html_url":"https://github.com/dcos/dcos-test-utils","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcos%2Fdcos-test-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcos%2Fdcos-test-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcos%2Fdcos-test-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dcos%2Fdcos-test-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dcos","download_url":"https://codeload.github.com/dcos/dcos-test-utils/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250378846,"owners_count":21420824,"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","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":["dcos","dcos-testing-guild"],"created_at":"2024-11-10T04:14:56.163Z","updated_at":"2025-04-23T05:31:50.133Z","avatar_url":"https://github.com/dcos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dcos-test-utils\n\nThis module is the backend for the `dcos_api_session` object used as a test harness in the [DC/OS integration tests](http://github.com/dcos/dcos/tree/master/packages/dcos-integration-test/extra). More specifically, this module provides utilities that allow:\n* Storing common URL elements repeated between requests to the same service\n* Providing a DC/OS-authenticated API Client that can be wrapped and composed with API Mixins\n* Helper methods for managing Marathon and other DC/OS services\n\nTo read more about how to use this library, [Read the Docs](https://dcos-test-utils.readthedocs.io/en/latest/)\n\n## System Requirements\n* python 3.5\n* local SSH client at /usr/bin/ssh\n\n### Using the library interactively\n```\npython3.5 -m venv env\n. env/bin/activate\npip3 install -r requirements.txt\npython setup.py develop\n```\n\n## Running Unit Tests with tox\nSimply run `tox` and the following will be executed:\n* flake8 for style errors\n* pytest for unit tests\n\nNote: these can be triggered individually by supplying the `-e` option to `tox`\n\n\n## Running Integration Tests with Tox\nIntegration tests are not run by default as they require a real DC/OS cluster which is externally provided.\n\nTo launch a cluster, check out [dcos-launch](https://github.com/dcos/dcos-launch), which can be used like so (on a GNU/Linux system):\n```\n#!/bin/bash\nwget https://downloads.dcos.io/dcos-launch/bin/linux/dcos-launch\nchmod +x dcos-launch\ncat \u003c\u003cEOF \u003e config.yaml\n---\nlaunch_config_version: 1\ndeployment_name: YOUR-DEPLOYMENT-NAME-HERE\ntemplate_url: https://s3.amazonaws.com/downloads.dcos.io/dcos/testing/master/cloudformation/single-master.cloudformation.json\nprovider: aws\naws_region: us-west-2\nkey_helper: true\ntemplate_parameters:\n    AdminLocation: 0.0.0.0/0\n    PublicSlaveInstanceCount: 1\n    SlaveInstanceCount: 1\nssh_user: core\nEOF\n\ndcos-launch create\n\ndcos-launch wait\n\nexport DCOS_DNS_ADDRESS=http://`dcos-launch describe | jq -r .masters[0].public_ip`\n\n# if WAIT_FOR_HOSTS is set to `true`, then MASTER_LIST, SLAVE_LIST, and PUBLIC_SLAVE list\n# must be set before starting the test\nexport WAIT_FOR_HOSTS=false\n\ntox -e py35-integration-tests\n\ndcos-launch-delete\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcos%2Fdcos-test-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdcos%2Fdcos-test-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdcos%2Fdcos-test-utils/lists"}