Exemplo n.º 1
0
    def test_build_multi_build_with_deps_dir_inter_module(self):
        parent_dir = join(self.MULTI_BUILD_TEST_DATA_DIR,
                          "with-deps-inter-module")
        manifest_path = join(parent_dir, "lambda1", "build.gradle")

        lambda1_source = join(parent_dir, "lambda1")
        self.builder.build(
            lambda1_source,
            self.artifacts_dir,
            self.scratch_dir,
            manifest_path,
            runtime=self.runtime,
            dependencies_dir=self.dependencies_dir,
        )

        lambda1_expected_files = [
            join("aws", "lambdabuilders", "Lambda1_Main.class"),
            join("lib", "annotations-2.1.0.jar"),
            join("lib", "common.jar"),
        ]
        dependencies_expected_files = [
            join("lib", "annotations-2.1.0.jar"),
            join("lib", "common.jar"),
        ]
        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir,
                                          lambda1_expected_files))
        self.assertTrue(
            does_folder_contain_all_files(self.dependencies_dir,
                                          dependencies_expected_files))
Exemplo n.º 2
0
    def test_build_single_build_with_deps_resources_exclude_test_jars_deps_dir_without_combine_dependencies(self):
        source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "with-deps")
        manifest_path = join(source_dir, "pom.xml")
        self.builder.build(
            source_dir,
            self.artifacts_dir,
            self.scratch_dir,
            manifest_path,
            runtime=self.runtime,
            dependencies_dir=self.dependencies_dir,
            combine_dependencies=False,
        )
        artifact_expected_files = [
            join("aws", "lambdabuilders", "Main.class"),
            join("some_data.txt"),
        ]

        dependencies_expected_files = [
            join("lib", "software.amazon.awssdk.annotations-2.1.0.jar"),
        ]

        self.assertTrue(does_folder_contain_all_files(self.artifacts_dir, artifact_expected_files))
        self.assertTrue(does_folder_contain_all_files(self.dependencies_dir, dependencies_expected_files))
        self.assertFalse(does_folder_contain_file(self.artifacts_dir, join("lib", "junit-4.12.jar")))
        self.assert_src_dir_not_touched(source_dir)
Exemplo n.º 3
0
 def validate_function_build(self):
     self.setUp()  # re-initialize folders
     function_source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR,
                                "with-layer-deps")
     function_manifest_path = join(function_source_dir, "build.gradle")
     self.builder.build(
         function_source_dir,
         self.artifacts_dir,
         self.scratch_dir,
         function_manifest_path,
         runtime=self.runtime,
         is_building_layer=False,
     )
     artifact_expected_files = [
         join("aws", "lambdabuilders", "Main.class"),
     ]
     artifact_not_expected_files = [
         join("lib", "com.amazonaws.aws-lambda-java-core-1.2.0.jar"),
         join("lib", "common-layer-1.0.jar"),
     ]
     self.assertTrue(
         does_folder_contain_all_files(self.artifacts_dir,
                                       artifact_expected_files))
     self.assertTrue(
         folder_should_not_contain_files(self.artifacts_dir,
                                         artifact_not_expected_files))
Exemplo n.º 4
0
 def test_build_single_build_no_deps(self):
     source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "no-deps")
     manifest_path = join(source_dir, "pom.xml")
     self.builder.build(source_dir, self.artifacts_dir, self.scratch_dir, manifest_path, runtime=self.runtime)
     expected_files = [join("aws", "lambdabuilders", "Main.class"), join("some_data.txt")]
     self.assertTrue(does_folder_contain_all_files(self.artifacts_dir, expected_files))
     self.assertFalse(does_folder_contain_file(self.artifacts_dir, join("lib")))
     self.assert_src_dir_not_touched(source_dir)
Exemplo n.º 5
0
    def test_build_single_build_with_deps_dir_wtihout_combine_dependencies(
            self):
        source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "with-deps")
        manifest_path = join(source_dir, "build.gradle")
        self.builder.build(
            source_dir,
            self.artifacts_dir,
            self.scratch_dir,
            manifest_path,
            runtime=self.runtime,
            dependencies_dir=self.dependencies_dir,
            combine_dependencies=False,
        )
        artifact_expected_files = [join("aws", "lambdabuilders", "Main.class")]
        dependencies_expected_files = [join("lib", "annotations-2.1.0.jar")]

        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir,
                                          artifact_expected_files))
        self.assertTrue(
            does_folder_contain_all_files(self.dependencies_dir,
                                          dependencies_expected_files))
Exemplo n.º 6
0
    def test_build_single_build_with_resources(self):
        source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "with-resources")
        manifest_path = join(source_dir, "build.gradle")
        self.builder.build(source_dir,
                           self.artifacts_dir,
                           self.scratch_dir,
                           manifest_path,
                           runtime=self.runtime)
        expected_files = [
            join("aws", "lambdabuilders", "Main.class"),
            join("some_data.txt"),
            join("lib", "annotations-2.1.0.jar"),
        ]

        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir, expected_files))
Exemplo n.º 7
0
 def validate_layer_build(self):
     layer_source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "layer")
     layer_manifest_path = join(layer_source_dir, "pom.xml")
     self.builder.build(
         layer_source_dir,
         self.artifacts_dir,
         self.scratch_dir,
         layer_manifest_path,
         runtime=self.runtime,
         is_building_layer=True,
     )
     artifact_expected_files = [
         join("lib", "com.amazonaws.aws-lambda-java-core-1.2.0.jar"),
         join("lib", "common-layer-1.0.jar"),
     ]
     self.assertTrue(does_folder_contain_all_files(self.artifacts_dir, artifact_expected_files))
     self.assert_src_dir_not_touched(layer_source_dir)
Exemplo n.º 8
0
    def test_build_single_build_with_deps_gradlew(self):
        source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "with-deps-gradlew")
        manifest_path = join(source_dir, "build.gradle")
        self.builder.build(
            source_dir,
            self.artifacts_dir,
            self.scratch_dir,
            manifest_path,
            runtime=self.runtime,
            executable_search_paths=[source_dir],
        )
        expected_files = [
            join("aws", "lambdabuilders", "Main.class"),
            join("lib", "annotations-2.1.0.jar")
        ]

        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir, expected_files))
Exemplo n.º 9
0
    def test_build_single_build_with_test_deps_test_jars_not_included(self):
        source_dir = join(self.SINGLE_BUILD_TEST_DATA_DIR, "with-test-deps")
        manifest_path = join(source_dir, "build.gradle")
        self.builder.build(source_dir,
                           self.artifacts_dir,
                           self.scratch_dir,
                           manifest_path,
                           runtime=self.runtime)
        expected_files = [
            join("aws", "lambdabuilders", "Main.class"),
            join("lib", "annotations-2.1.0.jar")
        ]

        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir, expected_files))
        self.assertFalse(
            does_folder_contain_file(self.artifacts_dir,
                                     join("lib", "s3-2.1.0.jar")))
Exemplo n.º 10
0
    def test_build_multi_build_with_deps_lambda2(self):
        parent_dir = join(self.MULTI_BUILD_TEST_DATA_DIR, "with-deps")
        manifest_path = join(parent_dir, "lambda2", "build.gradle")

        lambda2_source = join(parent_dir, "lambda2")
        self.builder.build(lambda2_source,
                           self.artifacts_dir,
                           self.scratch_dir,
                           manifest_path,
                           runtime=self.runtime)

        lambda2_expected_files = [
            join("aws", "lambdabuilders", "Lambda2_Main.class"),
            join("lib", "annotations-2.1.0.jar"),
        ]
        self.assertTrue(
            does_folder_contain_all_files(self.artifacts_dir,
                                          lambda2_expected_files))