A code-enforcement worker must prove it can publish, consume, and delete on OCI Queue the way production will—including visibility timeout behavior. Which test approach fits?
Select an answer to reveal the explanation.
Short Explanation
Visibility timeout is a real-clock behavior. An in-memory toy that never hides a message will not catch it. Integration tests use a real Queue or a faithful protocol stand-in.
Full Explanation
Visibility timeout and publish/consume/delete behavior are clock-and-protocol realities of OCI Queue. The code-enforcement worker therefore needs integration tests against a real Queue channel or a stand-in that speaks the same REST/STOMP protocol and applies visibility the way production does. Only then can the suite prove that a delivered job is hidden from peer consumers while in flight, reappears if not deleted, and disappears after a successful delete—behaviors an in-memory toy that returns messages instantly will never surface.
Relying only on unit tests with an in-memory stub that returns messages instantly and never applies visibility timeout fails by concept: it skips the timing and hide/reveal semantics under test. Schema lint of Queue display names in a Terraform plan without any runtime exchange fails because naming hygiene is not a substitute for GetMessages and delete behavior. Pagefind search of documentation pages that mention GetMessages fails entirely as a runtime proof—it indexes docs, it does not exercise the queue.
Exam caveat: when the stem calls out visibility timeout, prefer real Queue or a protocol-faithful stand-in over pure in-memory doubles. Operational check: in CI or a staging tenancy, publish a message, GetMessages from worker A, attempt GetMessages from worker B during visibility, confirm B does not see it, delete from A, and confirm the message does not reappear after the timeout.