def _create_lambda_from_file(self): zip_file = MockZipFile.create_zip("test") self.lambda_conf["Code"] = {'ZipFile': MockZipFile.read_file(zip_file)} response = self.deploy.remote_create_lambada(**self.lambda_conf) self.assertEqual(response["ResponseMetadata"]["HTTPStatusCode"], 201) for key in ["FunctionName", "Role", "Runtime", "Handler"]: self.assertEqual(response[key], self.lambda_conf[key])
def test_remote_list_lambdas(self): response = self.deploy.remote_list_lambdas() self.assertEqual(response["ResponseMetadata"]["HTTPStatusCode"], 200) self.assertEqual(response["Functions"], []) zip_file = MockZipFile.create_zip("test") self.lambda_conf["Code"] = {'ZipFile': MockZipFile.read_file(zip_file)} self._create_lambda_from_file()
def _create_lambda_from_s3(self): zip_file = MockZipFile.create_zip("test") bucket_name = "test_bucket" s3 = boto3.resource('s3') bucket = s3.Bucket(bucket_name) bucket.create() bucket.put_object(Key=zip_file, Body=MockZipFile.read_file(zip_file)) self.lambda_conf["Code"] = {'S3Bucket': bucket_name, 'S3Key': zip_file} response = self.deploy.remote_create_lambada(**self.lambda_conf) self.assertEqual(response["ResponseMetadata"]["HTTPStatusCode"], 201) for key in ["FunctionName", "Role", "Runtime", "Handler"]: self.assertEqual(response[key], self.lambda_conf[key]) return response
def test_run(self, create_artefact_mock, copytree_mock, pip_install_mock): zip_file = MockZipFile.create_zip("test") create_artefact_mock.return_value = zip_file # Create lambdas self.deploy.run("myexamplelambdaproject") self.assertTrue(pip_install_mock.called) self.assertTrue(copytree_mock.called) self.assertTrue(create_artefact_mock.called) # Update lambdas # self.deploy.run("myexamplelambdaproject") os.remove(zip_file)
def test_run_with_version(self, create_artefact_mock, copytree_mock, pip_install_mock, is_client_result_ok): zip_file = MockZipFile.create_zip("test") create_artefact_mock.return_value = zip_file is_client_result_ok.return_value = True self.deploy = Deploy(path=os.path.dirname(os.path.abspath(__file__)), filename="config_with_version.json") # Create lambdas self.deploy.run("myexamplelambdaproject") self.assertTrue(pip_install_mock.called) self.assertTrue(copytree_mock.called) self.assertTrue(create_artefact_mock.called) # Update lambdas self.deploy.run("myexamplelambdaproject") os.remove(zip_file)
def test_run_with_version(self, create_artefact_mock, copytree_mock, pip_install_mock, is_client_result_ok): zip_file = MockZipFile.create_zip("test") create_artefact_mock.return_value = zip_file is_client_result_ok.return_value = True self.deploy = Deploy(path=os.path.dirname(os.path.abspath(__file__)), filename="config_with_alias_and_version.json") # TODO: Search why moto rise errors try: # Create lambdas self.deploy.run("myexamplelambdaproject") self.assertTrue(pip_install_mock.called) self.assertTrue(copytree_mock.called) self.assertTrue(create_artefact_mock.called) # Update lambdas self.deploy.run("myexamplelambdaproject") except ConnectionError as e: print(e) os.remove(zip_file)
def test_run_with_trigger_sns(self, create_artefact_mock, copytree_mock, pip_install_mock, is_client_result_ok): zip_file = MockZipFile.create_zip("test") create_artefact_mock.return_value = zip_file is_client_result_ok.return_value = True client = boto3.client('sns', region_name="eu-west-1") _ = client.create_topic( Name='TestLambdas' ) self.deploy = Deploy(path=os.path.dirname(os.path.abspath(__file__)), filename="config_with_triggers.json", lambdas_to_deploy=["LambdaExample_SNS_8", ]) # Create lambdas self.deploy.run("myexamplelambdaproject") self.assertTrue(pip_install_mock.called) self.assertTrue(copytree_mock.called) self.assertTrue(create_artefact_mock.called) # Update lambdas self.deploy.run("myexamplelambdaproject") os.remove(zip_file)