Python 3.x 模拟boto3 Cloudwatch日志客户端

Python 3.x 模拟boto3 Cloudwatch日志客户端,python-3.x,amazon-web-services,testing,boto3,moto,Python 3.x,Amazon Web Services,Testing,Boto3,Moto,Cloudwatch日志是AWS上具有日志组>日志流>日志事件的对象。我正试图为此编写测试,但是当应用于boto3.client('logs')时,moto模拟会引发一个客户端错误。我正在研究模拟日志行为的其他方法。您将如何为此函数编写测试 例如: client = boto3.client('logs') def get_recent_log_stream_name(logGroupName): response = client.describe_log_st

Cloudwatch日志是AWS上具有日志组>日志流>日志事件的对象。我正试图为此编写测试,但是当应用于boto3.client('logs')时,moto模拟会引发一个客户端错误。我正在研究模拟日志行为的其他方法。您将如何为此函数编写测试

例如:

    client = boto3.client('logs')
    def get_recent_log_stream_name(logGroupName):
        response = client.describe_log_streams(
            logGroupName=logGroupName,
            orderBy='LastEventTime',
            descending=True,
            limit=1)
         logStreamName = response['logStreams'][0]['logStreamName']
         return logStreamName

我将使用
moto
编写测试,如下所示:

导入boto3
从moto导入模拟日志
def get_最近的_日志_流_名称(日志,logGroupName):
“”“正在测试的函数”“”
响应=日志。描述日志流(
logGroupName=logGroupName,
orderBy='LastEventTime',
降序=真,
限制=1)
log_stream_name=响应['logStreams'][0]['logStreamName']
返回日志\u流\u名称
@模拟日志
def test_get_recent_log_stream_name():
“测试功能”
日志\组\名称='测试组'
日志\u流\u名称='测试流'
logs=boto3.client('logs')
创建日志组(logGroupName=logGroupName)
logs.create_log_流(
logGroupName=日志组名称,
logStreamName=log\u stream\u name,
)
断言获取最近的日志流名称(日志、日志组名称)==日志流名称
测试\u获取\u最近的\u日志\u流\u名称()

当我回答这个问题时,我需要moto import mock_cloudwatch的