{"id":20958780,"url":"https://github.com/thin-edge/device-test-core","last_synced_at":"2025-06-26T01:35:22.290Z","repository":{"id":69665255,"uuid":"579386624","full_name":"thin-edge/device-test-core","owner":"thin-edge","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-24T12:27:10.000Z","size":107,"stargazers_count":0,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T03:35:11.098Z","etag":null,"topics":["testing"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thin-edge.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":"2022-12-17T14:23:13.000Z","updated_at":"2025-01-24T12:25:22.000Z","dependencies_parsed_at":"2023-10-15T19:53:21.857Z","dependency_job_id":"90aace6f-1ea2-4dc2-8d14-dea851107f91","html_url":"https://github.com/thin-edge/device-test-core","commit_stats":null,"previous_names":["thin-edge/device-test-core"],"tags_count":71,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Fdevice-test-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Fdevice-test-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Fdevice-test-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thin-edge%2Fdevice-test-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thin-edge","download_url":"https://codeload.github.com/thin-edge/device-test-core/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243355296,"owners_count":20277578,"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":["testing"],"created_at":"2024-11-19T01:49:31.026Z","updated_at":"2025-03-13T06:28:38.516Z","avatar_url":"https://github.com/thin-edge.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# device-test-core\n\nDevice test core library for running tests against a device using a generic interface, e.g. SSH, Docker, or some other custom type.\n\nThis library can be used to build plugins for different test frameworks such as pytest and Robot Framework.\n\nThe project's goal is to create a common interface for interacting with devices under test. The adapter normalize the interface enabling you to write tests which are independent of the device interface being used (e.g. docker, ssh, local etc.).\n\n## Installing from project\n\nThe `device-test-core` package includes several device adapters, each with their own dependencies.\n\nBelow shows how to either install all adapters, or just the adapters you are interested in. This allows you to keep the dependencies to a minimum.\n\n### Installing all adapters\n\n```\npip3 install \"device-test-core[all] @ git+https://github.com/reubenmiller/device-test-core.git\"\n```\n\n### Installing specific adapters\n\n#### docker adapter\n\n```\npip3 install \"device-test-core[docker] @ git+https://github.com/reubenmiller/device-test-core.git\"\n```\n\n#### ssh adapter\n\n```\npip3 install \"device-test-core[ssh] @ git+https://github.com/reubenmiller/device-test-core.git\"\n```\n\n#### local adapter\n\n```\npip3 install \"device-test-core[local] @ git+https://github.com/reubenmiller/device-test-core.git\"\n```\n\n\n### Running Tests\n\n#### SSH tests using an ssh-agent\n\n1. Add the target device's hostname and username\n\n    ```sh\n    echo \"SSH_CONFIG_HOSTNAME=mydevice.local\" \u003e\u003e .env\n    echo \"SSH_CONFIG_USERNAME=root\" \u003e\u003e .env\n    ```\n\n2. Start the ssh-agent (if not already done by default in your shell profile)\n\n    ```sh\n    eval $(ssh-agent)\n    ```\n\n3. Import your SSH key that you want to the ssh-agent (so the test can access it)\n\n    ```sh\n    ssh-add ~/.ssh/\u003cmysshkey\u003e\n    ```\n\n4. Run the tests\n\n    ```sh\n    just test\n    ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthin-edge%2Fdevice-test-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthin-edge%2Fdevice-test-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthin-edge%2Fdevice-test-core/lists"}