mirror of
https://github.com/certbot/certbot.git
synced 2026-06-08 00:02:14 -04:00
Dummy AWS credentials for Route53 tests to prevent outbound connections (#6456)
Boto3 / botocore library has a feature that tries to fetch AWS credentials from IAM if a set of credentials isn't available otherwise. This happens when boto loops through different credential providers in order to find the keys. See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912103 This PR simply adds dummy environmental variables for the tests that will be picked up by the credential provider iterator in order to prevent making outbound connections. * Hardcode dummy AWS credentials to prevent boto3 making outgoing connections * Remove the dummy credentials when tearing down test case
This commit is contained in:
parent
1d783fd4b9
commit
a1af42bc5f
2 changed files with 22 additions and 0 deletions
|
|
@ -20,6 +20,7 @@ Certbot adheres to [Semantic Versioning](http://semver.org/).
|
|||
* Fix ranking of vhosts in Nginx so that all port-matching vhosts come first
|
||||
* Correct OVH integration tests on machines without internet access.
|
||||
* Stop caching the results of ipv6_info in http01.py
|
||||
* Test fix for Route53 plugin to prevent boto3 making outgoing connections.
|
||||
* The grammar used by Augeas parser in Apache plugin was updated to fix various parsing errors.
|
||||
|
||||
## 0.27.1 - 2018-09-06
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
"""Tests for certbot_dns_route53.dns_route53.Authenticator"""
|
||||
|
||||
import os
|
||||
import unittest
|
||||
|
||||
import mock
|
||||
|
|
@ -20,8 +21,18 @@ class AuthenticatorTest(unittest.TestCase, dns_test_common.BaseAuthenticatorTest
|
|||
|
||||
self.config = mock.MagicMock()
|
||||
|
||||
# Set up dummy credentials for testing
|
||||
os.environ["AWS_ACCESS_KEY_ID"] = "dummy_access_key"
|
||||
os.environ["AWS_SECRET_ACCESS_KEY"] = "dummy_secret_access_key"
|
||||
|
||||
self.auth = Authenticator(self.config, "route53")
|
||||
|
||||
def tearDown(self):
|
||||
# Remove the dummy credentials from env vars
|
||||
del os.environ["AWS_ACCESS_KEY_ID"]
|
||||
del os.environ["AWS_SECRET_ACCESS_KEY"]
|
||||
super(AuthenticatorTest, self).tearDown()
|
||||
|
||||
def test_perform(self):
|
||||
self.auth._change_txt_record = mock.MagicMock()
|
||||
self.auth._wait_for_change = mock.MagicMock()
|
||||
|
|
@ -117,8 +128,18 @@ class ClientTest(unittest.TestCase):
|
|||
|
||||
self.config = mock.MagicMock()
|
||||
|
||||
# Set up dummy credentials for testing
|
||||
os.environ["AWS_ACCESS_KEY_ID"] = "dummy_access_key"
|
||||
os.environ["AWS_SECRET_ACCESS_KEY"] = "dummy_secret_access_key"
|
||||
|
||||
self.client = Authenticator(self.config, "route53")
|
||||
|
||||
def tearDown(self):
|
||||
# Remove the dummy credentials from env vars
|
||||
del os.environ["AWS_ACCESS_KEY_ID"]
|
||||
del os.environ["AWS_SECRET_ACCESS_KEY"]
|
||||
super(ClientTest, self).tearDown()
|
||||
|
||||
def test_find_zone_id_for_domain(self):
|
||||
self.client.r53.get_paginator = mock.MagicMock()
|
||||
self.client.r53.get_paginator().paginate.return_value = [
|
||||
|
|
|
|||
Loading…
Reference in a new issue