2017-03-02 23:07:56 +01:00
|
|
|
import pytest
|
2017-08-11 15:34:33 +02:00
|
|
|
|
2017-01-31 17:54:29 +01:00
|
|
|
import unittest
|
2017-05-30 19:05:19 +02:00
|
|
|
|
2017-08-22 17:50:45 +02:00
|
|
|
try:
|
|
|
|
import ansible.modules.cloud.amazon.s3 as s3
|
|
|
|
except ImportError:
|
2017-11-30 23:04:09 +01:00
|
|
|
pytestmark = pytest.mark.skip("This test requires the s3 Python libraries")
|
2017-08-22 17:50:45 +02:00
|
|
|
|
2017-01-31 17:54:29 +01:00
|
|
|
from ansible.module_utils.six.moves.urllib.parse import urlparse
|
|
|
|
|
2017-08-11 15:34:33 +02:00
|
|
|
boto3 = pytest.importorskip("boto3")
|
2017-05-30 19:05:19 +02:00
|
|
|
|
|
|
|
|
2017-01-31 17:54:29 +01:00
|
|
|
class TestUrlparse(unittest.TestCase):
|
|
|
|
|
|
|
|
def test_urlparse(self):
|
|
|
|
actual = urlparse("http://test.com/here")
|
|
|
|
self.assertEqual("http", actual.scheme)
|
|
|
|
self.assertEqual("test.com", actual.netloc)
|
|
|
|
self.assertEqual("/here", actual.path)
|
|
|
|
|
|
|
|
def test_is_fakes3(self):
|
|
|
|
actual = s3.is_fakes3("fakes3://bla.blubb")
|
|
|
|
self.assertEqual(True, actual)
|
|
|
|
|
|
|
|
def test_is_walrus(self):
|
|
|
|
actual = s3.is_walrus("trulywalrus_but_invalid_url")
|
2017-05-30 19:05:19 +02:00
|
|
|
# I don't know if this makes sense, but this is the current behaviour...
|
2017-01-31 17:54:29 +01:00
|
|
|
self.assertEqual(True, actual)
|
|
|
|
actual = s3.is_walrus("http://notwalrus.amazonaws.com")
|
|
|
|
self.assertEqual(False, actual)
|
|
|
|
|
|
|
|
def test_get_s3_connection(self):
|
|
|
|
aws_connect_kwargs = dict(aws_access_key_id="access_key",
|
2017-05-30 19:05:19 +02:00
|
|
|
aws_secret_access_key="secret_key")
|
|
|
|
location = None
|
|
|
|
rgw = True
|
|
|
|
s3_url = "http://bla.blubb"
|
2017-08-11 15:34:33 +02:00
|
|
|
actual = s3.get_s3_connection(None, aws_connect_kwargs, location, rgw, s3_url)
|
|
|
|
self.assertEqual(bool("bla.blubb" in str(actual._endpoint)), True)
|