问题标签 [moto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 模拟 AWS Glue 作业单元测试用例
我需要帮助编写 python 模拟单元测试用例以使用 lambda 触发 AWS Glue 作业。请帮我。下面是示例代码
请帮忙。
python - moto 在本地测试 aws sts
我想在本地使用 moto 测试我的 sts 设置。
get_aws_temp_credentials.py
test_assume_role.py :
根据moto,这应该可以。但它没有返回任何响应,也没有对assume_role
呼叫做出反应。
python-3.x - 升级 boto3 后,Moto 似乎停止嘲笑
我已经从 升级了 boto3 boto3==1.7.48 to 1.13.11
,这破坏了我所有使用 Moto 的测试。看起来(令人担忧)模拟已经完全停止工作并试图实际访问 s3,这是一个以前工作的示例测试函数:
但它现在给出了这个错误
任何帮助将不胜感激。以下是升级列表:
前:
后:
flask - 如何使用 moto 和 pytest 为烧瓶 REST API 编写单元测试代码?
我们正在开发一个使用 dynamoDB 作为数据库的 Flask REST API。我想为同一个应用程序编写单元测试代码。我正在使用 moto 来模拟 dynamoDB。这是 conftest.py 的代码
我还可以在这个模拟数据库中插入、删除和创建表。
创建表:
测试创建表并向其插入数据(test_user.py)
上面的代码运行没有任何错误。
我的问题是,目前烧瓶应用程序正在使用实时 dynamodb。为了测试应用程序,我应该使用模拟 dynamodb,那么如何将这个模拟 dynamodb 指向烧瓶应用程序。这是我编写的烧瓶应用程序的示例代码(app.py)。
python - 使用 moto 模拟 SNS 无法正常工作
在我的单元测试中:
正在测试的功能
我得到错误:botocore.errorfactory.NotFoundException: An error occurred (NotFound) when calling the Publish operation: Endpoint with arn arn:aws:sns:us-east-1:123456789012:mock-topic not found
没有意义,这就是 moto 应该创建和嘲笑的主题。为什么说它不存在?如果我 conn.publish(TopicArn=topic_arn, Message="sdfsdsdf")
在单元测试本身内部调用它似乎是在模拟它,但它不会为单元测试执行的 my_module.my_method() 模拟它。也许它过早地破坏了嘲笑的话题?
编辑我尝试了各种方式,我得到了完全相同的错误:
还打开了 GitHub 问题:https ://github.com/spulec/moto/issues/3027
python - 如何使用 moto 模拟 DynamoDB 分页?
我正在测试一些 dynamodb 访问代码。在过去,不正确的分页处理会导致错误(开发人员倾向于使用少量数据手动测试,因此很容易对分页的工作方式做出错误的假设,只有在处理实际数据量时才会暴露出来)
我通常使用plain 对访问代码进行单元测试unittest
,并unittest.mock
以这种方式测试了分页,但我最终编写了一些相当复杂的测试代码来模拟不同操作(扫描、查询、batch_get_item)的分页。
我正在寻找一种更简单的测试方法;moto提供了一些希望
但是,我真的不想将 1MB+ 的数据加载到 moto 中以诱导分页,我想强制它对少量数据进行分页
所以我要问的关键是:
- moto 是否完全支持 DynamoDB 分页?
- 我可以配置分页阈值吗?
- 如何?
python - Moto 不模拟 DynamoDB
我正在尝试为与 DynamoDB 通信的 Lambda 函数编写单元测试。我正在使用moto
,但它没有嘲笑任何东西。每当我在 boto3 中调用某些内容时,它都会使用我的 AWS CLI 配置文件与实际 API 进行通信,而不是模拟 API。为什么会这样?
这是代码:
print(tablesListed)
从我的实际帐户返回我的实际表格。如果我取消注释该create_table
命令,它也会在我的 AWS 账户中创建表。
我在这里想念什么?谢谢
python - Python os.environ.__getitem__ 从无引发 KeyError
尝试为 AWS Lamdba 函数运行 python 测试。测试代码将不会运行并输出此错误
这是初始化变量 app.py 的代码:
运行测试 test_app.py 的代码
python-3.x - 来自 Boto3 的 list_stacks() 中带有 Moto 的 Pytest-cov
我正在尝试使用 pytest 和 moto 创建一个测试,检查StackStatus
字典中的是否从函数返回list_stacks()
(https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudformation.html# CloudFormation.Client.list_stacks)是DELETE_COMPLETE
.
我为客户端连接创建了一个 pytest.fixture:
我创建了一个虚拟模板:
在我的测试函数中,我创建了堆栈,在我删除之后:
睾丸的功能是这个:
我面临一个问题:
它抱怨我的模板没有 BucketName:
但是当我添加一个时,它会给出另一个错误:
python - Moto 警告:使用 ec2_backend.describe_images() 为您的测试找到合适的图像
我正在尝试测试一个使用 boto3 中的 create_stack() 上传云形成的函数。
对于测试,我使用的是框架 moto。
对于测试,我使用 pytest 夹具在 yaml 中创建了一个 template_data:
我所有的测试都有效。
问题是我收到此警告:
我怎样才能解决这个问题?