Ejemplo n.º 1
0
    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])
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
    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)