{"id":28394285,"url":"https://github.com/archtechx/tenancy-queue-tester","last_synced_at":"2026-02-12T15:33:25.061Z","repository":{"id":270436216,"uuid":"910375046","full_name":"archtechx/tenancy-queue-tester","owner":"archtechx","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-11T10:49:20.000Z","size":31,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-26T23:48:12.611Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"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/archtechx.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-31T05:35:35.000Z","updated_at":"2025-01-11T10:49:23.000Z","dependencies_parsed_at":"2024-12-31T06:29:37.100Z","dependency_job_id":"11ce2514-f321-4ef3-8568-071e3d1eb661","html_url":"https://github.com/archtechx/tenancy-queue-tester","commit_stats":null,"previous_names":["archtechx/tenancy-queue-tester"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/archtechx/tenancy-queue-tester","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archtechx%2Ftenancy-queue-tester","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archtechx%2Ftenancy-queue-tester/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archtechx%2Ftenancy-queue-tester/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archtechx%2Ftenancy-queue-tester/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archtechx","download_url":"https://codeload.github.com/archtechx/tenancy-queue-tester/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archtechx%2Ftenancy-queue-tester/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29370548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"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":[],"created_at":"2025-05-31T18:08:16.592Z","updated_at":"2026-02-12T15:33:25.054Z","avatar_url":"https://github.com/archtechx.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tenancy for Laravel queue test suite\n\nIn addition to the tests we can write using testbench, we have this repository which:\n1. Creates a new Laravel application\n2. Sets up Tenancy\n3. Creates a sample job\n4. Asserts that the queue worker is working as expected -- running in the correct context and responding to restart signals\n\nThis is mostly due to some past bugs that were hard to catch in our test suite.\n\nWith this repo, we can have a separate CI job validating queue behavior _in a real application_.\n\n## Persistence tests\n\nAdditionally, we can also test for _queue worker persistence_. This refers to the worker staying in the context of the tenant\nused in the last job. The benefit of that is significantly better third-party package support (especially in cases where said\npackages unserialize job payloads on e.g. `JobProcessed`).\n\nIn versions prior to v4:\n- 3.8.5 handles restarts correctly but is not persistent\n- 3.8.4 is persistent but doesn't respond to restarts correctly (if the last processed job was in the tenant context)\n\nIn v4, there's `QueueTenancyBootstrapper` that works similarly to 3.8.5 and `PersistentQueueTenancyBootstrapper` that works\nsimilarly to 3.8.4.\n\nFor the different setups:\n- 3.x should have only warns on missing persistence\n    - 3.8.4 fails the restart-related assertions. The alternative config (./alternative_config.sh) makes them pass.\n    - 3.8.4 fails the FORCEREFRESH-related assertions. Either run with FORCEREFRESH=0 or set `QueueTenancyBootstrapper::$forceRefresh = true` in a service provider.\n- 4.x should only show warns on missing persistence\n    - With the alternative config, it should pass ALL tests without any warnings.\n\n3.x (3.8.5+) tests:\n```bash\n./setup.sh\n./test.sh\n```\n\n4.x tests:\n```bash\n./setup.sh\n./test.sh\n\n./alternative_config.sh\nPERSISTENT=1 ./test.sh\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchtechx%2Ftenancy-queue-tester","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farchtechx%2Ftenancy-queue-tester","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farchtechx%2Ftenancy-queue-tester/lists"}