MyGit
🚩收到GitHub仓库的更新通知

getmoto/moto

Fork: 1973 Star: 7416 (更新于 2024-05-20 01:31:43)

license: Apache-2.0

Language: Python .

A library that allows you to easily mock out tests based on AWS infrastructure.

最后发布版本: 5.0.7 ( 2024-05-12 19:03:24)

官方网址 GitHub网址

✨免费申请网站SSL证书,支持多域名和泛域名,点击查看

Moto - Mock AWS Services

Join the chat at https://gitter.im/awsmoto/Lobby

Build Status Coverage Status Docs PyPI PyPI - Python Version PyPI - Downloads Code style: Ruff Financial Contributors

Install

$ pip install 'moto[ec2,s3,all]'

In a nutshell

Moto is a library that allows your tests to easily mock out AWS Services.

Imagine you have the following python code that you want to test:

import boto3


class MyModel:
    def __init__(self, name, value):
        self.name = name
        self.value = value

    def save(self):
        s3 = boto3.client("s3", region_name="us-east-1")
        s3.put_object(Bucket="mybucket", Key=self.name, Body=self.value)

Take a minute to think how you would have tested that in the past.

Now see how you could test it with Moto:

import boto3
from moto import mock_aws
from mymodule import MyModel


@mock_aws
def test_my_model_save():
    conn = boto3.resource("s3", region_name="us-east-1")
    # We need to create the bucket since this is all in Moto's 'virtual' AWS account
    conn.create_bucket(Bucket="mybucket")
    model_instance = MyModel("steve", "is awesome")
    model_instance.save()
    body = conn.Object("mybucket", "steve").get()["Body"].read().decode("utf-8")
    assert body == "is awesome"

With the decorator wrapping the test, all the calls to s3 are automatically mocked out. The mock keeps track of the state of the buckets and keys.

For a full list of which services and features are covered, please see our implementation coverage.

Documentation

The full documentation can be found here:

http://docs.getmoto.org/en/latest/

Financial Contributions

Support this project and its continued development, by sponsoring us!

Click the Sponsor-button at the top of the page for more information.

Our finances are managed by OpenCollective, which means you have full visibility into all our contributions and expenses: https://opencollective.com/moto

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

最近版本更新:(数据更新于 2024-05-20 01:31:28)

2024-05-12 19:03:24 5.0.7

2024-04-28 19:11:25 5.0.6

2024-04-07 03:17:47 5.0.5

2024-03-27 16:09:51 5.0.4

2024-03-10 06:12:16 5.0.3

2024-02-19 01:18:53 5.0.2

2024-02-05 08:20:01 5.0.1

2024-01-28 04:24:39 5.0.0

2024-01-27 20:34:52 4.2.14

2024-01-21 18:46:08 5.0.0alpha3

主题(topics):

aws, boto, ec2, s3

getmoto/moto同语言 Python最近更新仓库

2024-05-20 07:51:00 xtekky/gpt4free

2024-05-19 16:50:46 MetaCubeX/mihomo

2024-05-19 07:03:42 llm-workflow-engine/llm-workflow-engine

2024-05-18 23:23:12 linruowuyin/Fhoe-Rail

2024-05-18 12:28:29 VikParuchuri/marker

2024-05-18 12:09:39 yihong0618/xiaogpt