From e9637acdaefc59094c547bc3b78221306c9b6605 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 30 Nov 2021 17:06:48 -0800 Subject: [PATCH 1/3] Remove the need to have an S3 bucket to run the tests --- ci/codebuild/amazonlinux-2017.03.yml | 1 - ci/codebuild/run-tests.sh | 1 - ci/codebuild/ubuntu-18.04.yml | 1 - tests/runtime_tests.cpp | 17 ++++++++++++++--- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ci/codebuild/amazonlinux-2017.03.yml b/ci/codebuild/amazonlinux-2017.03.yml index eab1baf..b5cbcad 100644 --- a/ci/codebuild/amazonlinux-2017.03.yml +++ b/ci/codebuild/amazonlinux-2017.03.yml @@ -4,7 +4,6 @@ phases: pre_build: commands: - alias cmake=cmake3 - - pip install awscli - ci/codebuild/build-cpp-sdk.sh build: commands: diff --git a/ci/codebuild/run-tests.sh b/ci/codebuild/run-tests.sh index b25d0e3..1d25c78 100755 --- a/ci/codebuild/run-tests.sh +++ b/ci/codebuild/run-tests.sh @@ -6,6 +6,5 @@ cd $CODEBUILD_SRC_DIR cd build rm -rf *.zip ninja $1 -aws s3 cp tests/resources/lambda-test-fun.zip s3://aws-lambda-cpp-tests/$2lambda-test-fun.zip ctest --output-on-failure diff --git a/ci/codebuild/ubuntu-18.04.yml b/ci/codebuild/ubuntu-18.04.yml index 5a39a8f..eee4d57 100644 --- a/ci/codebuild/ubuntu-18.04.yml +++ b/ci/codebuild/ubuntu-18.04.yml @@ -3,7 +3,6 @@ version: 0.1 phases: pre_build: commands: - - pip install awscli - ci/codebuild/build-cpp-sdk.sh build: commands: diff --git a/tests/runtime_tests.cpp b/tests/runtime_tests.cpp index 989b844..2c07f08 100644 --- a/tests/runtime_tests.cpp +++ b/tests/runtime_tests.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -12,6 +13,8 @@ #include #include #include "gtest/gtest.h" +#include +#include #include extern std::string aws_prefix; @@ -20,8 +23,7 @@ namespace { using namespace Aws::Lambda; -constexpr auto S3BUCKET = "aws-lambda-cpp-tests"; -constexpr auto S3KEY = "lambda-test-fun.zip"; +constexpr auto ZIP_FILE_PATH = "resources/lambda-test-fun.zip"; constexpr auto REQUEST_TIMEOUT = 15 * 1000; struct LambdaRuntimeTest : public ::testing::Test { @@ -79,8 +81,17 @@ struct LambdaRuntimeTest : public ::testing::Test { create_function_request.SetFunctionName(function_name); // I ran into eventual-consistency issues when creating the role dynamically as part of the test. create_function_request.SetRole(get_role_arn("integration-tests")); + + struct stat s; + auto rc = stat(ZIP_FILE_PATH, &s); + ASSERT_EQ(rc, 0) << std::string("file does not exist: ") + ZIP_FILE_PATH; + Aws::Utils::CryptoBuffer zip_file_bytes(s.st_size); + auto *zip_file = fopen(ZIP_FILE_PATH, "r"); + fread(zip_file_bytes.GetUnderlyingData(), sizeof(unsigned char), s.st_size, zip_file); + fclose(zip_file); + Model::FunctionCode funcode; - funcode.WithS3Bucket(S3BUCKET).WithS3Key(build_resource_name(S3KEY)); + funcode.SetZipFile(zip_file_bytes); create_function_request.SetCode(funcode); create_function_request.SetRuntime(Aws::Lambda::Model::Runtime::provided); From 692cc1da2087f4a46b955484d0e71672390d4188 Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Tue, 30 Nov 2021 17:54:05 -0800 Subject: [PATCH 2/3] clang-format --- tests/runtime_tests.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/runtime_tests.cpp b/tests/runtime_tests.cpp index 2c07f08..5dba7a4 100644 --- a/tests/runtime_tests.cpp +++ b/tests/runtime_tests.cpp @@ -86,10 +86,10 @@ struct LambdaRuntimeTest : public ::testing::Test { auto rc = stat(ZIP_FILE_PATH, &s); ASSERT_EQ(rc, 0) << std::string("file does not exist: ") + ZIP_FILE_PATH; Aws::Utils::CryptoBuffer zip_file_bytes(s.st_size); - auto *zip_file = fopen(ZIP_FILE_PATH, "r"); + auto* zip_file = fopen(ZIP_FILE_PATH, "r"); fread(zip_file_bytes.GetUnderlyingData(), sizeof(unsigned char), s.st_size, zip_file); fclose(zip_file); - + Model::FunctionCode funcode; funcode.SetZipFile(zip_file_bytes); create_function_request.SetCode(funcode); From b3c9e13bf980cb909e5be7a7e198ac9d5ad878ec Mon Sep 17 00:00:00 2001 From: Bryan Moffatt Date: Thu, 2 Dec 2021 15:03:13 -0800 Subject: [PATCH 3/3] i like to std::move it --- tests/runtime_tests.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/runtime_tests.cpp b/tests/runtime_tests.cpp index 5dba7a4..9547d6b 100644 --- a/tests/runtime_tests.cpp +++ b/tests/runtime_tests.cpp @@ -91,8 +91,8 @@ struct LambdaRuntimeTest : public ::testing::Test { fclose(zip_file); Model::FunctionCode funcode; - funcode.SetZipFile(zip_file_bytes); - create_function_request.SetCode(funcode); + funcode.SetZipFile(std::move(zip_file_bytes)); + create_function_request.SetCode(std::move(funcode)); create_function_request.SetRuntime(Aws::Lambda::Model::Runtime::provided); auto outcome = m_lambda_client.CreateFunction(create_function_request);