Skip to content
/ moto Public
forked from getmoto/moto

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

License

Notifications You must be signed in to change notification settings

glungley/moto

This branch is 2712 commits behind getmoto/moto:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

15b4939 · Mar 31, 2022
Mar 26, 2022
Mar 31, 2022
Mar 31, 2022
Jul 7, 2019
Mar 9, 2022
Mar 31, 2022
Jan 26, 2021
Nov 8, 2021
Nov 3, 2021
Jan 26, 2022
Mar 27, 2022
Feb 27, 2017
Sep 21, 2020
Nov 8, 2021
Apr 30, 2020
Mar 31, 2022
Feb 27, 2017
Apr 26, 2013
Mar 9, 2022
Mar 11, 2022
Nov 8, 2021
Jan 18, 2022
Mar 29, 2022
Oct 5, 2021
Sep 3, 2020
Mar 11, 2022
Mar 11, 2022
Jul 27, 2021

Repository files navigation

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: black

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(object):
    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_s3
from mymodule import MyModel

@mock_s3
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 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/

About

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%
  • HTML 0.0%
  • Shell 0.0%
  • Jinja 0.0%
  • Java 0.0%
  • Makefile 0.0%