mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +00:00
Format with line length 110 to match flake8 make black part of linting check Update travis spec for updated black requirements Add diff output for black on failure update changelog
85 lines
3.0 KiB
Python
85 lines
3.0 KiB
Python
import pytest
|
|
|
|
boto = pytest.importorskip("boto")
|
|
|
|
import boto # NOQA
|
|
import boto.iam # NOQA
|
|
from boto.s3.connection import S3Connection # NOQA
|
|
from boto.s3.key import Key # NOQA
|
|
import vcr # NOQA
|
|
|
|
try: # NOQA
|
|
from ConfigParser import DuplicateSectionError # NOQA
|
|
except ImportError: # NOQA
|
|
# python3
|
|
from configparser import DuplicateSectionError # 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()
|