mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-15 17:40:50 -07:00
test/: PEP8 compliancy (#24803)
* test/: PEP8 compliancy - Make PEP8 compliant * Python3 chokes on casting int to bytes (#24952) But if we tell the formatter that the var is a number, it works
This commit is contained in:
parent
31c59ad5f9
commit
4efec414e7
110 changed files with 1702 additions and 1547 deletions
|
@ -19,42 +19,45 @@
|
|||
# Make coding more python3-ish
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
|
||||
import pytest
|
||||
boto3 = pytest.importorskip("boto3")
|
||||
|
||||
import json
|
||||
import copy
|
||||
from ansible.module_utils._text import to_bytes
|
||||
from ansible.module_utils import basic
|
||||
import json
|
||||
import pytest
|
||||
|
||||
from ansible.compat.tests.mock import MagicMock, Mock, patch
|
||||
from ansible.module_utils import basic
|
||||
from ansible.module_utils._text import to_bytes
|
||||
|
||||
|
||||
boto3 = pytest.importorskip("boto3")
|
||||
|
||||
# lambda is a keyword so we have to hack this.
|
||||
_temp = __import__("ansible.modules.cloud.amazon.lambda")
|
||||
lda = getattr(_temp.modules.cloud.amazon,"lambda")
|
||||
lda = getattr(_temp.modules.cloud.amazon, "lambda")
|
||||
|
||||
|
||||
def set_module_args(args):
|
||||
args = json.dumps({'ANSIBLE_MODULE_ARGS': args})
|
||||
basic._ANSIBLE_ARGS = to_bytes(args)
|
||||
|
||||
base_lambda_config={
|
||||
'FunctionName' : 'lambda_name',
|
||||
'Role' : 'arn:aws:iam::987654321012:role/lambda_basic_execution',
|
||||
'Handler' : 'lambda_python.my_handler',
|
||||
'Description' : 'this that the other',
|
||||
'Timeout' : 3,
|
||||
'MemorySize' : 128,
|
||||
'Runtime' : 'python2.7',
|
||||
'CodeSha256' : 'AqMZ+xptM7aC9VXu+5jyp1sqO+Nj4WFMNzQxtPMP2n8=',
|
||||
base_lambda_config = {
|
||||
'FunctionName': 'lambda_name',
|
||||
'Role': 'arn:aws:iam::987654321012:role/lambda_basic_execution',
|
||||
'Handler': 'lambda_python.my_handler',
|
||||
'Description': 'this that the other',
|
||||
'Timeout': 3,
|
||||
'MemorySize': 128,
|
||||
'Runtime': 'python2.7',
|
||||
'CodeSha256': 'AqMZ+xptM7aC9VXu+5jyp1sqO+Nj4WFMNzQxtPMP2n8=',
|
||||
}
|
||||
|
||||
one_change_lambda_config=copy.copy(base_lambda_config)
|
||||
one_change_lambda_config['Timeout']=4
|
||||
two_change_lambda_config=copy.copy(one_change_lambda_config)
|
||||
two_change_lambda_config['Role']='arn:aws:iam::987654321012:role/lambda_advanced_execution'
|
||||
code_change_lambda_config=copy.copy(base_lambda_config)
|
||||
code_change_lambda_config['CodeSha256']='P+Zy8U4T4RiiHWElhL10VBKj9jw4rSJ5bm/TiW+4Rts='
|
||||
one_change_lambda_config = copy.copy(base_lambda_config)
|
||||
one_change_lambda_config['Timeout'] = 4
|
||||
two_change_lambda_config = copy.copy(one_change_lambda_config)
|
||||
two_change_lambda_config['Role'] = 'arn:aws:iam::987654321012:role/lambda_advanced_execution'
|
||||
code_change_lambda_config = copy.copy(base_lambda_config)
|
||||
code_change_lambda_config['CodeSha256'] = 'P+Zy8U4T4RiiHWElhL10VBKj9jw4rSJ5bm/TiW+4Rts='
|
||||
|
||||
base_module_args={
|
||||
base_module_args = {
|
||||
"region": "us-west-1",
|
||||
"name": "lambda_name",
|
||||
"state": "present",
|
||||
|
@ -62,10 +65,10 @@ base_module_args={
|
|||
"runtime": 'python2.7',
|
||||
"role": 'arn:aws:iam::987654321012:role/lambda_basic_execution',
|
||||
"memory_size": 128,
|
||||
"timeout" : 3,
|
||||
"timeout": 3,
|
||||
"handler": 'lambda_python.my_handler'
|
||||
}
|
||||
module_args_with_environment=dict(base_module_args, environment_variables={
|
||||
module_args_with_environment = dict(base_module_args, environment_variables={
|
||||
"variable_name": "variable_value"
|
||||
})
|
||||
|
||||
|
@ -78,26 +81,27 @@ def make_mock_no_connection_connection(config):
|
|||
)
|
||||
lambda_client_double.update_function_configuration.configure_mock(
|
||||
return_value={
|
||||
'Version' : 1
|
||||
'Version': 1
|
||||
}
|
||||
)
|
||||
fake_boto3_conn=Mock(return_value=lambda_client_double)
|
||||
fake_boto3_conn = Mock(return_value=lambda_client_double)
|
||||
return (fake_boto3_conn, lambda_client_double)
|
||||
|
||||
|
||||
def make_mock_connection(config):
|
||||
"""return a mock of ansible's boto3_conn ready to return a mock AWS API client"""
|
||||
lambda_client_double = MagicMock()
|
||||
lambda_client_double.get_function.configure_mock(
|
||||
return_value={
|
||||
'Configuration' : config
|
||||
'Configuration': config
|
||||
}
|
||||
)
|
||||
lambda_client_double.update_function_configuration.configure_mock(
|
||||
return_value={
|
||||
'Version' : 1
|
||||
'Version': 1
|
||||
}
|
||||
)
|
||||
fake_boto3_conn=Mock(return_value=lambda_client_double)
|
||||
fake_boto3_conn = Mock(return_value=lambda_client_double)
|
||||
return (fake_boto3_conn, lambda_client_double)
|
||||
|
||||
|
||||
|
@ -111,13 +115,13 @@ def fail_json_double(*args, **kwargs):
|
|||
raise AnsibleFailJson(kwargs)
|
||||
|
||||
|
||||
#TODO: def test_handle_different_types_in_config_params():
|
||||
# TODO: def test_handle_different_types_in_config_params():
|
||||
|
||||
|
||||
def test_create_lambda_if_not_exist():
|
||||
|
||||
set_module_args(base_module_args)
|
||||
(boto3_conn_double, lambda_client_double)=make_mock_no_connection_connection(code_change_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_no_connection_connection(code_change_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -133,7 +137,7 @@ def test_create_lambda_if_not_exist():
|
|||
"update lambda function code when function should have been created only"
|
||||
assert(len(lambda_client_double.create_function.mock_calls) > 0), \
|
||||
"failed to call create_function "
|
||||
(create_args, create_kwargs)=lambda_client_double.create_function.call_args
|
||||
(create_args, create_kwargs) = lambda_client_double.create_function.call_args
|
||||
assert (len(create_kwargs) > 0), "expected create called with keyword args, none found"
|
||||
|
||||
try:
|
||||
|
@ -143,12 +147,13 @@ def test_create_lambda_if_not_exist():
|
|||
create_kwargs["Environment"]
|
||||
raise(Exception("Environment sent to boto when none expected"))
|
||||
except KeyError:
|
||||
pass #We are happy, no environment is fine
|
||||
pass # We are happy, no environment is fine
|
||||
|
||||
|
||||
def test_update_lambda_if_code_changed():
|
||||
|
||||
set_module_args(base_module_args)
|
||||
(boto3_conn_double, lambda_client_double)=make_mock_connection(code_change_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_connection(code_change_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -169,10 +174,11 @@ def test_update_lambda_if_code_changed():
|
|||
assert(len(lambda_client_double.update_function_code.mock_calls) < 3), \
|
||||
"lambda function code update called multiple times when only one time should be needed"
|
||||
|
||||
|
||||
def test_update_lambda_if_config_changed():
|
||||
|
||||
set_module_args(base_module_args)
|
||||
(boto3_conn_double,lambda_client_double)=make_mock_connection(two_change_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_connection(two_change_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -189,10 +195,11 @@ def test_update_lambda_if_config_changed():
|
|||
assert(len(lambda_client_double.update_function_code.mock_calls) == 0), \
|
||||
"updated lambda code when no change should have happened"
|
||||
|
||||
|
||||
def test_update_lambda_if_only_one_config_item_changed():
|
||||
|
||||
set_module_args(base_module_args)
|
||||
(boto3_conn_double,lambda_client_double)=make_mock_connection(one_change_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_connection(one_change_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -209,10 +216,11 @@ def test_update_lambda_if_only_one_config_item_changed():
|
|||
assert(len(lambda_client_double.update_function_code.mock_calls) == 0), \
|
||||
"updated lambda code when no change should have happened"
|
||||
|
||||
|
||||
def test_update_lambda_if_added_environment_variable():
|
||||
|
||||
set_module_args(module_args_with_environment)
|
||||
(boto3_conn_double,lambda_client_double)=make_mock_connection(base_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_connection(base_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -229,14 +237,14 @@ def test_update_lambda_if_added_environment_variable():
|
|||
assert(len(lambda_client_double.update_function_code.mock_calls) == 0), \
|
||||
"updated lambda code when no change should have happened"
|
||||
|
||||
(update_args, update_kwargs)=lambda_client_double.update_function_configuration.call_args
|
||||
(update_args, update_kwargs) = lambda_client_double.update_function_configuration.call_args
|
||||
assert (len(update_kwargs) > 0), "expected update configuration called with keyword args, none found"
|
||||
assert update_kwargs['Environment']['Variables'] == module_args_with_environment['environment_variables']
|
||||
|
||||
def test_dont_update_lambda_if_nothing_changed():
|
||||
|
||||
def test_dont_update_lambda_if_nothing_changed():
|
||||
set_module_args(base_module_args)
|
||||
(boto3_conn_double,lambda_client_double)=make_mock_connection(base_lambda_config)
|
||||
(boto3_conn_double, lambda_client_double) = make_mock_connection(base_lambda_config)
|
||||
|
||||
with patch.object(lda, 'boto3_conn', boto3_conn_double):
|
||||
try:
|
||||
|
@ -248,9 +256,10 @@ def test_dont_update_lambda_if_nothing_changed():
|
|||
assert(len(boto3_conn_double.mock_calls) == 1), "multiple boto connections used unexpectedly"
|
||||
assert(len(lambda_client_double.update_function_configuration.mock_calls) == 0), \
|
||||
"updated lambda function when no configuration changed"
|
||||
assert(len(lambda_client_double.update_function_code.mock_calls) == 0 ), \
|
||||
assert(len(lambda_client_double.update_function_code.mock_calls) == 0), \
|
||||
"updated lambda code when no change should have happened"
|
||||
|
||||
|
||||
def test_warn_region_not_specified():
|
||||
|
||||
set_module_args({
|
||||
|
@ -263,7 +272,7 @@ def test_warn_region_not_specified():
|
|||
"role": 'arn:aws:iam::987654321012:role/lambda_basic_execution',
|
||||
"handler": 'lambda_python.my_handler'})
|
||||
|
||||
get_aws_connection_info_double=Mock(return_value=(None,None,None))
|
||||
get_aws_connection_info_double = Mock(return_value=(None, None, None))
|
||||
|
||||
with patch.object(lda, 'get_aws_connection_info', get_aws_connection_info_double):
|
||||
with patch.object(basic.AnsibleModule, 'fail_json', fail_json_double):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue