Skip to content

Commit 0be1990

Browse files
committed
Adding additional E2E tests
1 parent 38fb0c4 commit 0be1990

File tree

2 files changed

+66
-7
lines changed

2 files changed

+66
-7
lines changed

apis/v1alpha1/ack-generate-metadata.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
ack_generate_info:
2-
build_date: "2023-12-22T06:14:56Z"
3-
build_hash: 1f16813c807af6889060b4ce7ded2a69dc027d8c
4-
go_version: go1.21.5
5-
version: v0.28.0
6-
api_directory_checksum: 1c73101b17769d9e1165fbb915bdeeb3dcd8b075
2+
build_date: "2024-01-04T19:34:06Z"
3+
build_hash: 1563ceb2b15ff29ee692b4178d4de5f2cbe0b0f0
4+
go_version: go1.19
5+
version: v0.28.0-12-g1563ceb
6+
api_directory_checksum: 6d988b03425fad3e88d887c1cd4510a07e4be281
77
api_version: v1alpha1
88
aws_sdk_go_version: v1.44.181
99
generator_config_info:

test/e2e/tests/test_version.py

Lines changed: 61 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import pytest
1818
import time
1919
import logging
20+
import hashlib
21+
import base64
2022

2123
from acktest.resources import random_suffix_name
2224
from acktest.aws.identity import get_region
@@ -25,7 +27,7 @@
2527
from e2e import service_marker, CRD_GROUP, CRD_VERSION, load_lambda_resource
2628
from e2e.replacement_values import REPLACEMENT_VALUES
2729
from e2e.bootstrap_resources import get_bootstrap_resources
28-
from e2e.service_bootstrap import LAMBDA_FUNCTION_FILE_ZIP
30+
from e2e.service_bootstrap import LAMBDA_FUNCTION_FILE_ZIP, LAMBDA_FUNCTION_FILE_PATH_ZIP
2931
from e2e.tests.helper import LambdaValidator
3032

3133
RESOURCE_PLURAL = "versions"
@@ -88,7 +90,7 @@ def test_smoke(self, lambda_client, lambda_function):
8890
replacements["AWS_REGION"] = get_region()
8991
replacements["FUNCTION_NAME"] = lambda_function_name
9092
replacements["VERSION_NAME"] = resource_name
91-
93+
9294
# Load Lambda CR
9395
resource_data = load_lambda_resource(
9496
"version",
@@ -126,3 +128,60 @@ def test_smoke(self, lambda_client, lambda_function):
126128

127129
# Check function version doesn't exist
128130
assert not lambda_validator.version_exists(lambda_function_name, version_number)
131+
132+
def test_version_with_check(self, lambda_client, lambda_function):
133+
(_, function_resource) = lambda_function
134+
lambda_function_name = function_resource["spec"]["name"]
135+
136+
resource_name = random_suffix_name("lambda-version", 24)
137+
138+
archive_1 = open(LAMBDA_FUNCTION_FILE_PATH_ZIP, 'rb')
139+
readFile_1 = archive_1.read()
140+
hash_1 = hashlib.sha256(readFile_1)
141+
binary_hash_1 = hash_1.digest()
142+
base64_hash_1 = base64.b64encode(binary_hash_1).decode('utf-8')
143+
144+
replacements = REPLACEMENT_VALUES.copy()
145+
replacements["AWS_REGION"] = get_region()
146+
replacements["FUNCTION_NAME"] = lambda_function_name
147+
replacements["VERSION_NAME"] = resource_name
148+
replacements["HASH"] = base64_hash_1
149+
replacements["REVISION_ID"] = ""
150+
151+
# Load Lambda CR
152+
resource_data = load_lambda_resource(
153+
"version_with_check",
154+
additional_replacements=replacements,
155+
)
156+
logging.debug(resource_data)
157+
158+
# Create k8s resource
159+
ref = k8s.CustomResourceReference(
160+
CRD_GROUP, CRD_VERSION, RESOURCE_PLURAL,
161+
resource_name, namespace="default",
162+
)
163+
k8s.create_custom_resource(ref, resource_data)
164+
cr = k8s.wait_resource_consumed_by_controller(ref)
165+
166+
assert cr is not None
167+
assert k8s.get_resource_exists(ref)
168+
169+
time.sleep(CREATE_WAIT_AFTER_SECONDS)
170+
171+
cr = k8s.wait_resource_consumed_by_controller(ref)
172+
173+
lambda_validator = LambdaValidator(lambda_client)
174+
175+
version_number = cr['status']['version']
176+
177+
# Check version exists
178+
assert lambda_validator.version_exists(lambda_function_name, version_number)
179+
180+
# Delete k8s resource
181+
_, deleted = k8s.delete_custom_resource(ref)
182+
assert deleted is True
183+
184+
time.sleep(DELETE_WAIT_AFTER_SECONDS)
185+
186+
# Check function version doesn't exist
187+
assert not lambda_validator.version_exists(lambda_function_name, version_number)

0 commit comments

Comments
 (0)