mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
83 lines
2.9 KiB
Python
83 lines
2.9 KiB
Python
import pytest
|
|
|
|
boto = pytest.importorskip("boto")
|
|
|
|
from configparser import DuplicateSectionError # NOQA
|
|
|
|
import boto # NOQA
|
|
import boto.iam # NOQA
|
|
from boto.s3.connection import S3Connection # NOQA
|
|
from boto.s3.key import Key # NOQA
|
|
|
|
import vcr # NOQA
|
|
|
|
|
|
def test_boto_stubs(tmpdir):
|
|
with vcr.use_cassette(str(tmpdir.join("boto-stubs.yml"))):
|
|
# Perform the imports within the patched context so that
|
|
# CertValidatingHTTPSConnection refers to the patched version.
|
|
from boto.https_connection import CertValidatingHTTPSConnection
|
|
|
|
from vcr.stubs.boto_stubs import VCRCertValidatingHTTPSConnection
|
|
|
|
# Prove that the class was patched by the stub and that we can instantiate it.
|
|
assert issubclass(CertValidatingHTTPSConnection, VCRCertValidatingHTTPSConnection)
|
|
CertValidatingHTTPSConnection("hostname.does.not.matter")
|
|
|
|
|
|
def test_boto_without_vcr():
|
|
s3_conn = S3Connection()
|
|
s3_bucket = s3_conn.get_bucket("boto-demo-1394171994") # a bucket you can access
|
|
k = Key(s3_bucket)
|
|
k.key = "test.txt"
|
|
k.set_contents_from_string("hello world i am a string")
|
|
|
|
|
|
def test_boto_medium_difficulty(tmpdir):
|
|
s3_conn = S3Connection()
|
|
s3_bucket = s3_conn.get_bucket("boto-demo-1394171994") # a bucket you can access
|
|
with vcr.use_cassette(str(tmpdir.join("boto-medium.yml"))):
|
|
k = Key(s3_bucket)
|
|
k.key = "test.txt"
|
|
k.set_contents_from_string("hello world i am a string")
|
|
|
|
with vcr.use_cassette(str(tmpdir.join("boto-medium.yml"))):
|
|
k = Key(s3_bucket)
|
|
k.key = "test.txt"
|
|
k.set_contents_from_string("hello world i am a string")
|
|
|
|
|
|
def test_boto_hardcore_mode(tmpdir):
|
|
with vcr.use_cassette(str(tmpdir.join("boto-hardcore.yml"))):
|
|
s3_conn = S3Connection()
|
|
s3_bucket = s3_conn.get_bucket("boto-demo-1394171994") # a bucket you can access
|
|
k = Key(s3_bucket)
|
|
k.key = "test.txt"
|
|
k.set_contents_from_string("hello world i am a string")
|
|
|
|
with vcr.use_cassette(str(tmpdir.join("boto-hardcore.yml"))):
|
|
s3_conn = S3Connection()
|
|
s3_bucket = s3_conn.get_bucket("boto-demo-1394171994") # a bucket you can access
|
|
k = Key(s3_bucket)
|
|
k.key = "test.txt"
|
|
k.set_contents_from_string("hello world i am a string")
|
|
|
|
|
|
def test_boto_iam(tmpdir):
|
|
try:
|
|
boto.config.add_section("Boto")
|
|
except DuplicateSectionError:
|
|
pass
|
|
# Ensure that boto uses HTTPS
|
|
boto.config.set("Boto", "is_secure", "true")
|
|
# Ensure that boto uses CertValidatingHTTPSConnection
|
|
boto.config.set("Boto", "https_validate_certificates", "true")
|
|
|
|
with vcr.use_cassette(str(tmpdir.join("boto-iam.yml"))):
|
|
iam_conn = boto.iam.connect_to_region("universal")
|
|
iam_conn.get_all_users()
|
|
|
|
with vcr.use_cassette(str(tmpdir.join("boto-iam.yml"))):
|
|
iam_conn = boto.iam.connect_to_region("universal")
|
|
iam_conn.get_all_users()
|