Merge pull request #1025 from JackDanger/update-README

Updating examples in README to latest API
This commit is contained in:
Jack Danger 2017-07-26 23:04:20 -07:00 committed by GitHub
commit 1387013879
2 changed files with 23 additions and 22 deletions

View File

@ -123,28 +123,29 @@ It gets even better! Moto isn't just for Python code and it isn't just for S3. L
Imagine you have a function that you use to launch new ec2 instances: Imagine you have a function that you use to launch new ec2 instances:
```python ```python
import boto import boto3
def add_servers(ami_id, count): def add_servers(ami_id, count):
conn = boto.connect_ec2('the_key', 'the_secret') client = boto3.client('ec2', region_name='us-west-1')
for index in range(count): client.run_instances(ImageId=ami_id, MinCount=count, MaxCount=count)
conn.run_instances(ami_id)
``` ```
To test it: To test it:
```python ```python
from . import add_servers from . import add_servers
from moto import mock_ec2
@mock_ec2 @mock_ec2
def test_add_servers(): def test_add_servers():
add_servers('ami-1234abcd', 2) add_servers('ami-1234abcd', 2)
conn = boto.connect_ec2('the_key', 'the_secret') client = boto3.client('ec2', region_name='us-west-1')
reservations = conn.get_all_instances() instances = client.describe_instances()['Reservations'][0]['Instances']
assert len(reservations) == 2 assert len(instances) == 2
instance1 = reservations[0].instances[0] instance1 = instances[0]
assert instance1.image_id == 'ami-1234abcd' assert instance1['ImageId'] == 'ami-1234abcd'
``` ```
## Usage ## Usage
@ -156,13 +157,14 @@ All of the services can be used as a decorator, context manager, or in a raw for
```python ```python
@mock_s3 @mock_s3
def test_my_model_save(): def test_my_model_save():
conn = boto.connect_s3() # Create Bucket so that test can run
conn.create_bucket('mybucket') conn = boto3.resource('s3', region_name='us-east-1')
conn.create_bucket(Bucket='mybucket')
model_instance = MyModel('steve', 'is awesome') model_instance = MyModel('steve', 'is awesome')
model_instance.save() model_instance.save()
body = conn.Object('mybucket', 'steve').get()['Body'].read().decode()
assert conn.get_bucket('mybucket').get_key('steve').get_contents_as_string() == 'is awesome' assert body == 'is awesome'
``` ```
### Context Manager ### Context Manager
@ -170,13 +172,13 @@ def test_my_model_save():
```python ```python
def test_my_model_save(): def test_my_model_save():
with mock_s3(): with mock_s3():
conn = boto.connect_s3() conn = boto3.resource('s3', region_name='us-east-1')
conn.create_bucket('mybucket') conn.create_bucket(Bucket='mybucket')
model_instance = MyModel('steve', 'is awesome') model_instance = MyModel('steve', 'is awesome')
model_instance.save() model_instance.save()
body = conn.Object('mybucket', 'steve').get()['Body'].read().decode()
assert conn.get_bucket('mybucket').get_key('steve').get_contents_as_string() == 'is awesome' assert body == 'is awesome'
``` ```
@ -187,13 +189,13 @@ def test_my_model_save():
mock = mock_s3() mock = mock_s3()
mock.start() mock.start()
conn = boto.connect_s3() conn = boto3.resource('s3', region_name='us-east-1')
conn.create_bucket('mybucket') conn.create_bucket(Bucket='mybucket')
model_instance = MyModel('steve', 'is awesome') model_instance = MyModel('steve', 'is awesome')
model_instance.save() model_instance.save()
assert conn.get_bucket('mybucket').get_key('steve').get_contents_as_string() == 'is awesome' assert conn.Object('mybucket', 'steve').get()['Body'].read().decode() == 'is awesome'
mock.stop() mock.stop()
``` ```

View File

@ -74,8 +74,7 @@ def test_my_model_save():
model_instance = MyModel('steve', 'is awesome') model_instance = MyModel('steve', 'is awesome')
model_instance.save() model_instance.save()
body = conn.Object('mybucket', 'steve').get()[ body = conn.Object('mybucket', 'steve').get()['Body'].read().decode()
'Body'].read().decode("utf-8")
assert body == 'is awesome' assert body == 'is awesome'