{"id":23478396,"url":"https://github.com/opennms/opennms-system-test-api","last_synced_at":"2025-07-12T19:39:39.231Z","repository":{"id":45421961,"uuid":"59319139","full_name":"OpenNMS/opennms-system-test-api","owner":"OpenNMS","description":"End-to-end test APIs for Minion/OpenNMS with Docker","archived":false,"fork":false,"pushed_at":"2022-10-05T19:08:44.000Z","size":167,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-02-16T08:13:14.514Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenNMS.png","metadata":{"files":{"readme":"README.asciidoc","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-20T18:56:50.000Z","updated_at":"2019-06-06T14:33:29.000Z","dependencies_parsed_at":"2023-01-19T07:15:15.649Z","dependency_job_id":null,"html_url":"https://github.com/OpenNMS/opennms-system-test-api","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/OpenNMS%2Fopennms-system-test-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-system-test-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-system-test-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenNMS%2Fopennms-system-test-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenNMS","download_url":"https://codeload.github.com/OpenNMS/opennms-system-test-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248750078,"owners_count":21155685,"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":[],"created_at":"2024-12-24T19:19:16.921Z","updated_at":"2025-04-13T17:00:19.467Z","avatar_url":"https://github.com/OpenNMS.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= OpenNMS System Test API\n:ascii-ids:\n:encoding: UTF-8\n:icons: font\n:numbered:\n\nEnd-to-end test APIs for Minion/OpenNMS that leverage Docker for managing services.\n\n== Preface\n\nThe framework provides the ability to instantiate a system on the local, or a remote host using a collection of linked Docker containers. Once instantiated, references to the various hosts and ports for all of the services (i.e. OpenNMS HTTP, Minion Karaf Shell) are available, and control is passed to the test suite.\n\n== Setup\n\n=== Requirements\n\n* Docker v1.10.x (tested with 1.10.3, build 20f81dd)\n* Maven v3.3.x (tested with 3.3.3)\n* Java 8 (tested with Oracle JDK 1.8.0_45-b14)\n\n=== Setup the Docker daemon\n\nWe use the link:https://github.com/spotify/docker-client[Spotify Docker Client] to communicate with the Docker daemon.\n\nThe location of the Docker daemon can be controlled with the +DOCKER_HOST+ environment variable. If the Docker daemon is running on the localhost, no extra configuration should be required.  You may need to use `unix:///var/run/docker.sock` if your Docker daemon doesn't listen on a TCP port.\n\n=== Build the OpenNMS RPMs\n\nThe Docker images depend on the .rpms generated by the build.\n\nAfter obtaining the link:http://www.opennms.org/wiki/Developing_with_Git[sources], run the following to build the RPMs:\n\n[NOTE]\nYou currently need to checkout the +develop+ branch.\n\n----\n./makerpm.sh\nexport OPENNMS_BUILD=$(pwd)\n----\n\n=== Build the Docker images\n\nBuild the Docker images with:\n\n----\npushd docker\n./copy-rpms.sh\n./build-docker-images.sh\npopd\n----\n\n[NOTE]\nThe OPENNMS_BUILD environment variable is used by the `copy-rpms.sh` script to find the .rpms.\n\n[NOTE]\nYou can also use the OPENNMS_RPM_ROOT environment variable to point to the directory containing RPMs for the `copy-rpms.sh` script.\n\n== Developing tests\n\nWhen developing tests you can disable the automatic tear down of the containers after the test using:\n\n[source,java]\n----\n@ClassRule\npublic static System system = System.builder().skipTearDown(true).build();\n----\n\nYou can also run the tests against an existing environment using:\n\n[source,java]\n----\n@ClassRule\npublic static System system = System.builder().useExisting(true).build();\n----\n\nIf you want to destroy an existing environment you can kill and remove ALL of your containers using:\n\n----\ndocker kill $(docker ps -q)\ndocker rm $(docker ps -a -q)\n----\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennms%2Fopennms-system-test-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopennms%2Fopennms-system-test-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopennms%2Fopennms-system-test-api/lists"}