stiebels 4b117c4884
Add sagemaker mock call: describe_pipeline (#5797)
* Added mock for sagemaker describe-pipeline call

* Added NotImplementedError for PipelineDefinitionS3Location

* Added support for PipelineDefinitionS3Location

* Extended unit tests

* Moved arn_formatter into utils

* Import arn_formatter in test_sagemaker_pipeline

* Adding uniqueness check for PipelineName

* Removed unused import

* Swapped client for s3_backend

* Corrected kwarg names

* From direct s3_backend to mocked boto call due to strange error

* Changed to using s3_backends from mocked boto3 call

* Remove unused argument

* Black formatting

* Delete object and bucket to avoid duplicate bucket names error

* Try to fix bucket collisions

* Remove unused lines

* Switched to mock

* SkipTest in server mode

* Switched to handling inside to-be tested method

* added s3 mock

* mock s3

* Change mocking s3

* Removed unnecessary tests

* Switch to only s3_backend

* Adding skiptest to load from s3
2023-01-11 18:30:07 -01:00
2021-11-03 21:01:49 -01:00
2023-01-09 22:01:57 +00:00
2023-01-06 11:07:20 -01:00
2020-09-21 17:42:44 -06:00
2020-04-30 19:18:08 +02:00
2013-04-26 17:13:43 -04:00

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

Description
No description provided
Readme 43 MiB
Languages
Python 99.7%
ANTLR 0.1%