{"id":36413040,"url":"https://github.com/netcracker/qubership-testing-platform-itf-stubs","last_synced_at":"2026-02-03T10:03:42.350Z","repository":{"id":296176213,"uuid":"967909156","full_name":"Netcracker/qubership-testing-platform-itf-stubs","owner":"Netcracker","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-26T12:55:23.000Z","size":725,"stargazers_count":0,"open_issues_count":3,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-27T00:38:06.932Z","etag":null,"topics":["qubership-tp"],"latest_commit_sha":null,"homepage":null,"language":"Java","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/Netcracker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-17T07:32:53.000Z","updated_at":"2026-01-26T12:55:26.000Z","dependencies_parsed_at":"2025-07-17T13:22:12.025Z","dependency_job_id":"aaea3f4f-4827-48ea-b8ce-c8a7e0985683","html_url":"https://github.com/Netcracker/qubership-testing-platform-itf-stubs","commit_stats":null,"previous_names":["netcracker/qubership-testing-platform-itf-stubs"],"tags_count":9,"template":false,"template_full_name":"Netcracker/qubership-repo-template","purl":"pkg:github/Netcracker/qubership-testing-platform-itf-stubs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-testing-platform-itf-stubs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-testing-platform-itf-stubs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-testing-platform-itf-stubs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-testing-platform-itf-stubs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Netcracker","download_url":"https://codeload.github.com/Netcracker/qubership-testing-platform-itf-stubs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Netcracker%2Fqubership-testing-platform-itf-stubs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29040785,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T09:57:37.951Z","status":"ssl_error","status_checked_at":"2026-02-03T09:55:14.920Z","response_time":96,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["qubership-tp"],"created_at":"2026-01-11T16:54:46.134Z","updated_at":"2026-02-03T10:03:42.345Z","avatar_url":"https://github.com/Netcracker.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Qubership Testing Platform ITF Stubs Service\n\n**ITF Stubs Service** is a backend component `Integrations Testing Framework`\n\n## Problem statement\nWhen some complex application systems are integrated, they are on the different lifecycle stages at the moment.\n\nFor example, some functionality of a system is under development, and/or entire system is under replacing with a new one.\n\nIntegrations of all rest systems with modified ones must be tested to ensure that functionality is not broken.\n\nIf testing process is started after all systems are fully developed, one need a lot of time to wait. So, lifecycle duration is very big that entails losses.\n\nITF can be used instead of any side of integration process, so testing process can be started much earlier.\n\nThis information is described in more details below.\n\n## Target audience\nITF is a tool set for QA/TA engineers testing integrations between application systems.\n\n## Tool benefits\nITF allows to configure integration scenarios of various complexity: from the simplest stubs to dynamic call chains.\n\nJust after a scenario is configured, it can be executed.\n\nExecution results can be easily viewed and analysed.\n\nConfiguration and Execution results are stored in the inner database.\n\nITF can run on Windows VMs or Unix servers with relatively low resources.\n\nITF is based on the free-licensed software only.\n\n## What is ITF?\n**ITF** = **Integrations Testing Framework** = **A toolset for systems' integrations testing**, where:\n* **System** is an arbitrary application system or a module of an application system,\n* Systems **Integration** is a process of systems interaction via sending/receiving some messages, and performing actions based on the messages content,\n\n## Where is ITF?\nSuppose a real \"network of systems\":\n* Each system interacts with some others. Some systems (or their modules) can be under construction, or planned to be replaced with new ones,\n* So, at the moment, some functionality can be absent (a system/module hasn't developed yet),\n* But \"network of systems\" must be tested despite some systems are not ready!\n\nIn such situation, **each real system can be temporary (for testing purposes) replaced with ITF.** And/or each operation can be replaced with operation which is managed by ITF.\n\nThe functionality of the real system being replaced is emulated by ITF via configuring callchains, templates, operations and some other objects.\n\nAfter it, ITF becomes a participant of the \"network of systems\", instead of the real system.\n\nIt could really decrease a duration of the development process due to bugs are found earlier than without ITF.\n\n### To support the testing, ITF provides the following functionality\n1. To configure tests\n2. To execute tests\n3. To monitor execution results\n\nSome details are provided below:\n\n## ITF usage: main use cases\nThe 1st use case is when an interaction is initiated by an external system, not by ITF.\n\nSo, ITF is used as a stub, serving requests instead of some (not implemented yet or not installed) external systems or parts of systems.\n\n![Use case 1](./docs/images/use_case_1st.png)\n\nThe 2nd use case is when an interaction is initiated by ITF.\n\nVariants, how ITF actions are invoked, include:\n\n1. From ITF web UI\n2. Via ITF REST API (From Jenkins job or Postman)\n3. From ATP2 testcase via ITF action or executor-ITF action\n\n![Use case 2](./docs/images/use_case_2st.png)\n\n## To configure tests\n1. ITF provides Web user interface:\n   * to view configuration objects and their relationships,\n   * to add, modify, delete, copy/move/paste, reorder configuration objects,\n   * to debug a behavior of some complex objects,\n2. ITF Web user interface is fully functional in the Chrome Web browser\n3. Configuration objects are stored in the inner database\n   * PostgreSQL v.14.3+ are currently supported\n4. Just after storing, configuration objects can be used while tests execution\n\n## To execute tests\n1. ITF provides Web user interface:\n   * to set execution options and then to run a **callchain**\n   * to pause/resume a running callchain\n   * to activate/deactivate transport triggers\n   * to re-execute failed callchain starting from some step selected\n2. Also, ITF provides other ways to execute tests:\n   * Callchain can be executed from NTT/Executor via **actions**\n   * REST API is provided to run a callchain and check execution status\n\n### To monitor execution results\n1. ITF provides Web user interface:\n   * to view **contexts** table (**context** is an object accumulating callchain execution information),\n   * to view a context details,\n2. ITF reports (sends execution information) into other tools/systems:\n   * RAM2\n\n## High Level architecture\n\n![High Level architecture](./docs/images/high_level_architecture.png)\n\n## Documentation\n\n* ### [Installation Guide](./docs/installation-guide.md)\n* ### [Startup Guide](./docs/startup-guide.md)\n* ### [User Guide](./docs/user-guide.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetcracker%2Fqubership-testing-platform-itf-stubs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetcracker%2Fqubership-testing-platform-itf-stubs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetcracker%2Fqubership-testing-platform-itf-stubs/lists"}