【发布时间】:2015-04-08 12:59:57
【问题描述】:
我正在为一个项目进行集成测试。部分测试用例涉及以下步骤:
- 创建 SQS 队列 X
- 订阅SNS话题Y
- 检查 X 是否存在
- 检查 X 是否订阅了 Y
- 从 Y 退订 X
- 检查 X 是否取消订阅 Y
- 删除 X
- 检查 X 是否不存在
我的测试用例通常运行良好,直到第 6 步的检查然后失败。
我正在使用 sns.get_all_subscriptions_by_topic() 检查订阅是否存在,显然,此时我仍然可以发现 X 订阅了 Y。所以这让我想知道整个库是否是异步的。如果是这样,我不确定我是否可以轻松地使用它进行集成测试。
很遗憾,boto API page 没有提及同步。
【问题讨论】:
-
是的,它并不是真正的 AWS。仅仅因为 AWS 的巨大规模,这些操作中的许多操作最终都是一致的。 boto 调用在返回之前等待服务的响应,但该响应并不意味着服务器端操作已完成。
-
谢谢大家。你们中的一个人可以将此作为答案发布,以便我给它打勾吗?
标签: asynchronous amazon-web-services boto amazon-sqs