首页 > 解决方案 > 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。

标签: unit-testingsshmockingaws-ec2-instance-connect

解决方案


推荐阅读