unit-testing - boto3.client(ec2-instance-cpnnect).send_ssh_public_key 的模拟测试失败
问题描述
我有以下使用实例 id 的 ssh 代码。
filename.py -
def command(self,args):
ec2connect = boto3.client('ec2-instance-connect')
ec2connect.send_ssh_public_key(
InstanceId=args.instance_id,
InstanceOSUser=user_name,
SSHPublicKey=ssh_key_string,
AvailabilityZone=instance['Placement']['AvailabilityZone'])
out("connecting")
os.execl("user/bin/ssh","ssh","-l", username, ip_address)
def out(message):
print(message)
我试图通过模拟我的命令函数来测试它,我试过 @mock.patch(filename.command.botocore.session.Session.create_client)
然后断言消息“正在连接”以查看此 ssh 功能是否正常工作。但是我不断得到断言失败。我想知道我的模拟补丁是否错误以及是否有更好的方法来模拟 ec2instanceconnect。
解决方案
推荐阅读
- pyspark - 将数据从 Spark 加载到 Snowflake
- c++ - 在 C++ 中创建(和链接)静态库
- javascript - 限制 MongoDB 集合中的对象数量?
- apache-kafka - 使用 Kafka-Python 在 Kafka 中查找消费者组下的主题
- css - 对嵌套在 CSS 中的 ID 中的类感到困惑
- mysql - 如何使用 Vb.net 程序以这种格式“dd MMM yyyy HH:mm:ss 'GMT'”更新数据库日期时间
- git - Git - 检查 git notes 分支是否在远程后面
- javascript - React 本机应用程序棒
- c# - Xamarin.Forms 安装错误消息 runaround
- javascript - Python Selenium 中的网页抓取 - 找不到按钮