forked from avinashkranjan/Amazing-Python-Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathawsTester.py
59 lines (47 loc) · 1.5 KB
/
awsTester.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import boto3
import boto.sqs
from boto.s3.key import Key
from moto import mock_ec2, mock_s3
import awstesting.awsHandler as aws
def add_service(service_name, region):
aws_client = boto3.client(service_name, region_name=region)
return aws_client
@mock_ec2
def test_create_ec2(aws_client):
# demo ami
ami_id = "ami-123"
count = 100
aws.create_ec2(aws_client, ami_id, count)
instances = aws_client.describe_instances()['Reservations'][0]['Instances']
for i in instances:
print(i)
if len(instances) == count:
return "ec2 created successfully Insatnce ID = " + instances[0]['InstanceId'] + ""
else:
return "ec2 not created "
@mock_s3
def test_s3():
print('Testing moto S3')
# create bucket
bucket_name = 'bucket1'
conn = boto.connect_s3()
print('Creating bucket: {}'.format(bucket_name))
bucket = conn.create_bucket(bucket_name)
# add object
k = Key(bucket)
key_name = 'file1'
k.key = key_name
k.set_contents_from_string('hello world')
# list objects
print('List of files:')
for key in bucket.list():
print(' {}/{}'.format(key.bucket.name, key.name))
# get object
k2 = Key(bucket)
k2.key = key_name
data = k2.get_contents_as_string()
print('Fetched object {}/{} with content: {}'.format(bucket.name,
key.name, data))
if __name__ == "__main__":
client = add_service("ec2", "us-east-1")
test_create_ec2(client)