From d4263c253dc6ebae30fa930b989fc1423ae43bef Mon Sep 17 00:00:00 2001 From: Alyssa Gorbaneva Date: Wed, 2 Jul 2025 08:26:25 -0700 Subject: [PATCH 1/2] added env var PIPELINES --- acceptance/acceptance_test.go | 6 ++++ acceptance/pipelines/env-var/output.txt | 34 +++++++++++++++++++ acceptance/pipelines/env-var/script | 12 +++++++ .../pipelines/init/error-cases/output.txt | 10 ++---- acceptance/pipelines/init/error-cases/script | 15 ++------ acceptance/pipelines/init/python/output.txt | 6 +--- acceptance/pipelines/init/python/script | 12 +------ acceptance/pipelines/init/sql/output.txt | 6 +--- acceptance/pipelines/init/sql/script | 12 +------ 9 files changed, 62 insertions(+), 51 deletions(-) create mode 100644 acceptance/pipelines/env-var/output.txt create mode 100644 acceptance/pipelines/env-var/script diff --git a/acceptance/acceptance_test.go b/acceptance/acceptance_test.go index 7bf9723196..883349d476 100644 --- a/acceptance/acceptance_test.go +++ b/acceptance/acceptance_test.go @@ -165,6 +165,12 @@ func testAccept(t *testing.T, inprocessMode bool, singleTest string) int { t.Setenv("CLI", execPath) repls.SetPath(execPath, "[CLI]") + pipelinesPath := filepath.Join(buildDir, "pipelines") + exeSuffix + err = copyFile(execPath, pipelinesPath) + require.NoError(t, err) + t.Setenv("PIPELINES", pipelinesPath) + repls.SetPath(pipelinesPath, "[PIPELINES]") + paths := []string{ // Make helper scripts available filepath.Join(cwd, "bin"), diff --git a/acceptance/pipelines/env-var/output.txt b/acceptance/pipelines/env-var/output.txt new file mode 100644 index 0000000000..8a3aa1c9d2 --- /dev/null +++ b/acceptance/pipelines/env-var/output.txt @@ -0,0 +1,34 @@ + +=== Test PIPELINES environment variable functionality +>>> echo PIPELINES env var: [PIPELINES] +PIPELINES env var: [PIPELINES] + +=== Verify PIPELINES file exists +>>> test -f [PIPELINES] +PIPELINES file exists + +=== Verify PIPELINES is executable +>>> test -x [PIPELINES] +PIPELINES is executable + +=== Verify PIPELINES binary works like CLI +>>> [PIPELINES] --help +Pipelines CLI + +Usage: + pipelines [command] + +Available Commands: + completion Generate the autocompletion script for the specified shell + help Help about any command + init Initialize a new pipelines project + +Flags: + --debug enable debug logging + -h, --help help for pipelines + -o, --output type output type: text or json (default text) + -p, --profile string ~/.databrickscfg profile + -t, --target string project target to use (if applicable) + -v, --version version for pipelines + +Use "pipelines [command] --help" for more information about a command. diff --git a/acceptance/pipelines/env-var/script b/acceptance/pipelines/env-var/script new file mode 100644 index 0000000000..e8e62c4aa6 --- /dev/null +++ b/acceptance/pipelines/env-var/script @@ -0,0 +1,12 @@ +title "Test PIPELINES environment variable functionality" + +trace echo "PIPELINES env var: $PIPELINES" + +title "Verify PIPELINES file exists" +trace test -f "$PIPELINES" && echo "PIPELINES file exists" || echo "PIPELINES file does not exist" + +title "Verify PIPELINES is executable" +trace test -x "$PIPELINES" && echo "PIPELINES is executable" || echo "PIPELINES is not executable" + +title "Verify PIPELINES binary works like CLI" +trace $PIPELINES --help diff --git a/acceptance/pipelines/init/error-cases/output.txt b/acceptance/pipelines/init/error-cases/output.txt index 4dc86f2324..cebdc30be2 100644 --- a/acceptance/pipelines/init/error-cases/output.txt +++ b/acceptance/pipelines/init/error-cases/output.txt @@ -1,10 +1,6 @@ -=== Install pipelines CLI ->>> errcode [CLI] install-pipelines-cli -d ./subdir -pipelines successfully installed in directory "./subdir" - === Test with missing config file ->>> errcode ./subdir/pipelines init --output-dir output +>>> errcode [PIPELINES] init --output-dir output Welcome to the template for pipelines! @@ -14,13 +10,13 @@ Your new project has been created in the 'my_project' directory! Refer to the README.md file for "getting started" instructions! === Test with invalid project name (contains uppercase letters) ->>> errcode ./subdir/pipelines init --config-file ./invalid_input.json --output-dir invalid-output +>>> errcode [PIPELINES] init --config-file ./invalid_input.json --output-dir invalid-output Error: failed to load config from file ./invalid_input.json: invalid value for project_name: "InvalidProjectName". Name must consist of lower case letters, numbers, and underscores. Exit code: 1 === Test with non-existent config file ->>> errcode ./subdir/pipelines init --config-file ./nonexistent.json --output-dir invalid-output-2 +>>> errcode [PIPELINES] init --config-file ./nonexistent.json --output-dir invalid-output-2 Error: failed to load config from file ./nonexistent.json: open ./nonexistent.json: no such file or directory Exit code: 1 diff --git a/acceptance/pipelines/init/error-cases/script b/acceptance/pipelines/init/error-cases/script index 7f0a247bb2..976ae722bf 100644 --- a/acceptance/pipelines/init/error-cases/script +++ b/acceptance/pipelines/init/error-cases/script @@ -1,24 +1,15 @@ -tmpdir="./subdir" -pipelines="$tmpdir/pipelines" -mkdir -p $tmpdir - -title "Install pipelines CLI" -trace errcode $CLI install-pipelines-cli -d $tmpdir - title "Test with missing config file" -trace errcode $pipelines init --output-dir output +trace errcode $PIPELINES init --output-dir output title "Test with invalid project name (contains uppercase letters)" echo '{"project_name": "InvalidProjectName"}' > invalid_input.json -trace errcode $pipelines init --config-file ./invalid_input.json --output-dir invalid-output +trace errcode $PIPELINES init --config-file ./invalid_input.json --output-dir invalid-output title "Test with non-existent config file" -trace errcode $pipelines init --config-file ./nonexistent.json --output-dir invalid-output-2 +trace errcode $PIPELINES init --config-file ./nonexistent.json --output-dir invalid-output-2 # Do not affect this repository's git behaviour mv output/my_project/.gitignore output/my_project/out.gitignore # Clean up rm -f invalid_input.json -rm -f $pipelines -rm -rf $tmpdir diff --git a/acceptance/pipelines/init/python/output.txt b/acceptance/pipelines/init/python/output.txt index e682f6b135..d1f6567934 100644 --- a/acceptance/pipelines/init/python/output.txt +++ b/acceptance/pipelines/init/python/output.txt @@ -1,10 +1,6 @@ -=== Install pipelines CLI ->>> errcode [CLI] install-pipelines-cli -d ./subdir -pipelines successfully installed in directory "./subdir" - === Test basic pipelines init with configuration file ->>> ./subdir/pipelines init --config-file ./input.json --output-dir output +>>> [PIPELINES] init --config-file ./input.json --output-dir output Welcome to the template for pipelines! diff --git a/acceptance/pipelines/init/python/script b/acceptance/pipelines/init/python/script index dcda3a48ac..d87149f126 100644 --- a/acceptance/pipelines/init/python/script +++ b/acceptance/pipelines/init/python/script @@ -1,14 +1,4 @@ -tmpdir="./subdir" -pipelines="$tmpdir/pipelines" -mkdir -p $tmpdir - -title "Install pipelines CLI" -trace errcode $CLI install-pipelines-cli -d $tmpdir - title "Test basic pipelines init with configuration file" -trace $pipelines init --config-file ./input.json --output-dir output +trace $PIPELINES init --config-file ./input.json --output-dir output mv output/my_python_project/.gitignore output/my_python_project/out.gitignore - -rm -f $pipelines -rm -rf $tmpdir diff --git a/acceptance/pipelines/init/sql/output.txt b/acceptance/pipelines/init/sql/output.txt index 2a111901ac..4dc00c937b 100644 --- a/acceptance/pipelines/init/sql/output.txt +++ b/acceptance/pipelines/init/sql/output.txt @@ -1,10 +1,6 @@ -=== Install pipelines CLI ->>> errcode [CLI] install-pipelines-cli -d ./subdir -pipelines successfully installed in directory "./subdir" - === Test pipelines init with SQL configuration ->>> ./subdir/pipelines init --config-file ./input.json --output-dir output +>>> [PIPELINES] init --config-file ./input.json --output-dir output Welcome to the template for pipelines! diff --git a/acceptance/pipelines/init/sql/script b/acceptance/pipelines/init/sql/script index 91e21dccdc..e1e7deb3fe 100644 --- a/acceptance/pipelines/init/sql/script +++ b/acceptance/pipelines/init/sql/script @@ -1,15 +1,5 @@ -tmpdir="./subdir" -pipelines="$tmpdir/pipelines" -mkdir -p $tmpdir - -title "Install pipelines CLI" -trace errcode $CLI install-pipelines-cli -d $tmpdir - title "Test pipelines init with SQL configuration" -trace $pipelines init --config-file ./input.json --output-dir output +trace $PIPELINES init --config-file ./input.json --output-dir output # Do not affect this repository's git behaviour mv output/my_sql_project/.gitignore output/my_sql_project/out.gitignore - -rm -f $pipelines -rm -rf $tmpdir From 1fcf78fc9e379e3e25d6f699356e2a675924d06c Mon Sep 17 00:00:00 2001 From: Alyssa Gorbaneva Date: Wed, 2 Jul 2025 09:39:29 -0700 Subject: [PATCH 2/2] remove acceptance test --- acceptance/pipelines/env-var/output.txt | 34 ------------------------- acceptance/pipelines/env-var/script | 12 --------- 2 files changed, 46 deletions(-) delete mode 100644 acceptance/pipelines/env-var/output.txt delete mode 100644 acceptance/pipelines/env-var/script diff --git a/acceptance/pipelines/env-var/output.txt b/acceptance/pipelines/env-var/output.txt deleted file mode 100644 index 8a3aa1c9d2..0000000000 --- a/acceptance/pipelines/env-var/output.txt +++ /dev/null @@ -1,34 +0,0 @@ - -=== Test PIPELINES environment variable functionality ->>> echo PIPELINES env var: [PIPELINES] -PIPELINES env var: [PIPELINES] - -=== Verify PIPELINES file exists ->>> test -f [PIPELINES] -PIPELINES file exists - -=== Verify PIPELINES is executable ->>> test -x [PIPELINES] -PIPELINES is executable - -=== Verify PIPELINES binary works like CLI ->>> [PIPELINES] --help -Pipelines CLI - -Usage: - pipelines [command] - -Available Commands: - completion Generate the autocompletion script for the specified shell - help Help about any command - init Initialize a new pipelines project - -Flags: - --debug enable debug logging - -h, --help help for pipelines - -o, --output type output type: text or json (default text) - -p, --profile string ~/.databrickscfg profile - -t, --target string project target to use (if applicable) - -v, --version version for pipelines - -Use "pipelines [command] --help" for more information about a command. diff --git a/acceptance/pipelines/env-var/script b/acceptance/pipelines/env-var/script deleted file mode 100644 index e8e62c4aa6..0000000000 --- a/acceptance/pipelines/env-var/script +++ /dev/null @@ -1,12 +0,0 @@ -title "Test PIPELINES environment variable functionality" - -trace echo "PIPELINES env var: $PIPELINES" - -title "Verify PIPELINES file exists" -trace test -f "$PIPELINES" && echo "PIPELINES file exists" || echo "PIPELINES file does not exist" - -title "Verify PIPELINES is executable" -trace test -x "$PIPELINES" && echo "PIPELINES is executable" || echo "PIPELINES is not executable" - -title "Verify PIPELINES binary works like CLI" -trace $PIPELINES --help