def test_add_binary_to_config(self): cfg = config.Config() cfg.add(config.Scope.application, "source", "local.src.dir", "/src") b = supplier.Builder(cfg) b.add_binary_to_config() self.assertEqual(cfg.opts("builder", "candidate.bin.path"), "elasticsearch.zip")
def test_build(self, mock_run_subprocess): mock_run_subprocess.return_value = False cfg = config.Config() cfg.add(config.Scope.application, "source", "local.src.dir", "/src") cfg.add(config.Scope.application, "runtime", "java8.home", "/opt/jdk8") cfg.add(config.Scope.application, "build", "gradle.bin", "/usr/local/gradle") cfg.add(config.Scope.application, "system", "log.dir", "logs") b = supplier.Builder(cfg) b.build() calls = [ # Actual call mock.call( "export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle clean >> logs/build.log 2>&1" ), # Return value check mock.call( "export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle :distribution:tar:assemble >> logs/build.log 2>&1" ), ] mock_run_subprocess.assert_has_calls(calls)
def test_build(self, mock_run_subprocess): mock_run_subprocess.return_value = False b = supplier.Builder(src_dir="/src", gradle="/usr/local/gradle", java_home="/opt/jdk8", log_dir="logs") b.build() calls = [ # Actual call mock.call("export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle clean >> logs/build.log 2>&1"), # Return value check mock.call("export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle :distribution:tar:assemble >> logs/build.log 2>&1"), ] mock_run_subprocess.assert_has_calls(calls)
def test_build_on_jdk_8(self, jvm_major_version, mock_run_subprocess): jvm_major_version.return_value = 8 mock_run_subprocess.return_value = False b = supplier.Builder(src_dir="/src", gradle="/usr/local/gradle", java_home="/opt/jdk8", log_dir="logs") b.build([supplier.CLEAN_TASK, supplier.ASSEMBLE_TASK]) calls = [ # Actual call mock.call("export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle clean >> logs/build.log 2>&1"), # Return value check mock.call("export JAVA_HOME=/opt/jdk8; cd /src; /usr/local/gradle :distribution:archives:tar:assemble >> logs/build.log 2>&1"), ] mock_run_subprocess.assert_has_calls(calls)
def test_build_on_jdk_10(self, jvm_major_version, mock_run_subprocess): jvm_major_version.return_value = 10 mock_run_subprocess.return_value = False b = supplier.Builder(src_dir="/src", java_home="/opt/jdk10", log_dir="logs") b.build(["./gradlew clean", "./gradlew assemble"]) calls = [ # Actual call mock.call("export JAVA_HOME=/opt/jdk10; cd /src; ./gradlew clean >> logs/build.log 2>&1"), # Return value check mock.call("export JAVA_HOME=/opt/jdk10; cd /src; ./gradlew assemble >> logs/build.log 2>&1"), ] mock_run_subprocess.assert_has_calls(calls)
def test_build_on_jdk_10(self, jvm_resolve_path, mock_run_subprocess): jvm_resolve_path.return_value = (10, "/opt/jdk10") mock_run_subprocess.return_value = False b = supplier.Builder(src_dir="/src", build_jdk=8, log_dir="logs") b.build(["./gradlew clean", "./gradlew assemble"]) calls = [ # Actual call mock.call("export JAVA_HOME=/opt/jdk10; cd /src; ./gradlew clean > logs/build.log 2>&1"), # Return value check mock.call("export JAVA_HOME=/opt/jdk10; cd /src; ./gradlew assemble > logs/build.log 2>&1"), ] mock_run_subprocess.assert_has_calls(calls)
def test_build_on_jdk_9(self, jvm_major_version, mock_run_subprocess): jvm_major_version.return_value = 9 mock_run_subprocess.return_value = False b = supplier.Builder(src_dir="/src", gradle="/usr/local/gradle", java_home="/opt/jdk9", log_dir="logs") b.build() calls = [ # Actual call mock.call("export GRADLE_OPTS=\"%s\"; export JAVA_HOME=/opt/jdk9; cd /src; /usr/local/gradle clean >> logs/build.log 2>&1" % supplier.Builder.JAVA_9_GRADLE_OPTS), # Return value check mock.call("export GRADLE_OPTS=\"%s\"; export JAVA_HOME=/opt/jdk9; cd /src; /usr/local/gradle :distribution:tar:assemble " ">> logs/build.log 2>&1" % supplier.Builder.JAVA_9_GRADLE_OPTS), ] mock_run_subprocess.assert_has_calls(calls)
def test_binary(self): b = supplier.Builder(src_dir="/src") self.assertEqual(b.binary, "elasticsearch.zip")