From c498e5111378ee735cb2b89eb5bb7b5275df9fb5 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Tue, 8 Apr 2025 16:22:53 +0200 Subject: [PATCH 1/4] Make it so --- .mise.toml | 5 ++ .../pulumi/automation/LocalWorkspaceTest.java | 48 ++++++++++++------- 2 files changed, 37 insertions(+), 16 deletions(-) create mode 100644 .mise.toml diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 00000000000..4de3c1caf46 --- /dev/null +++ b/.mise.toml @@ -0,0 +1,5 @@ +[tools] +go = "latest" +gradle = "8.8" +java = "22" +maven = "3.8.4" diff --git a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java index 82934b375d7..e81b51d32e2 100644 --- a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java +++ b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java @@ -143,14 +143,16 @@ void testCreateSelectRemoveStack(@EnvVars Map envVars) throws Ex var env = new HashMap(envVars); env.put("PULUMI_CONFIG_PASSPHRASE", "test"); + var projectName = "create_select_remove_stack_test"; + try (var workspace = LocalWorkspace.create(LocalWorkspaceOptions.builder() .projectSettings(ProjectSettings.builder( - "create_select_remove_stack_test", + projectName, ProjectRuntimeName.NODEJS).build()) .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); Predicate isStack = s -> s.name().equals(stackName); @@ -192,7 +194,7 @@ void testImportExportStack(@EnvVars Map envVars) throws Exceptio .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), "testproj", randomStackName()); try { var stack = WorkspaceStack.create(stackName, workspace); @@ -238,7 +240,7 @@ public void testManipulateConfig(@EnvVars Map envVars) throws Ex .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); var plainKey = normalizeConfigKey("plain", projectName); @@ -302,7 +304,7 @@ public void testManipulateConfigPath(@EnvVars Map envVars) throw .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); try { @@ -407,7 +409,7 @@ public void testSupportConfigFlagLike(@EnvVars Map envVars) thro .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); var plainKey = normalizeConfigKey("key", projectName); @@ -447,7 +449,7 @@ public void testListStackAndCurrentlySelected(@EnvVars Map envVa var stackNames = new ArrayList(); try { for (var i = 0; i < 2; i++) { - var stackName = "int_test" + getTestSuffix(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, "int_test" + getTestSuffix()); WorkspaceStack.create(stackName, workspace); stackNames.add(stackName); var summary = workspace.getStack(); @@ -478,7 +480,7 @@ public void testCheckStackStatus(@EnvVars Map envVars) throws Ex .environmentVariables(env) .build())) { - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); var stack = WorkspaceStack.create(stackName, workspace); try { var history = stack.getHistory(); @@ -505,8 +507,8 @@ void testStackLifecycleInlineProgram(@EnvVars Map envVars) { ctx.export("exp_secret", config.getSecret("buzz")); }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -561,8 +563,8 @@ void testInlineProgramDoesNotEmitWarning(@EnvVars Map envVars) { Consumer program = ctx -> { }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -619,7 +621,7 @@ void testStackLifecycleLocalProgram(@EnvVars Map envVars) { var env = new HashMap(envVars); env.put("PULUMI_CONFIG_PASSPHRASE", "test"); - var stackName = randomStackName(); + var stackName = fullyQualifiedStackName(getTestOrg(), "testproj", randomStackName()); Path workingDir = Paths.get(getClass().getResource("/testproj").toURI()); try (var stack = LocalWorkspace.createStack(stackName, workingDir, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { @@ -695,8 +697,8 @@ void testSupportsStackOutputs(@EnvVars Map envVars) { assertThat(expSecretValue.isSecret()).isTrue(); }; - var stackName = randomStackName(); var projectName = "inline_java"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -741,8 +743,8 @@ void testOutputStreamAndDelegateIsWritten(@EnvVars Map envVars) ctx.export("test", "test"); }; - var stackName = randomStackName(); var projectName = "inline_output"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder().environmentVariables(env).build())) { try { @@ -796,8 +798,8 @@ void testDetectsProjectSettingsConflict(@EnvVars Map envVars) th Consumer program = ctx -> { }; - var stackName = randomStackName(); var projectName = "project_was_overwritten"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); Path workDir = Paths.get(getClass().getResource("/correct_project").toURI()); @@ -824,8 +826,8 @@ void testStateDelete(@EnvVars Map envVars) throws Exception { new ComponentResource(type, "a"); }; - var stackName = randomStackName(); var projectName = "test_state_delete"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder() .environmentVariables(env) @@ -883,8 +885,8 @@ void testStateDeleteForce(@EnvVars Map envVars) throws Exception .build()); }; - var stackName = randomStackName(); var projectName = "test_state_delete_force"; + var stackName = fullyQualifiedStackName(getTestOrg(), projectName, randomStackName()); try (var stack = LocalWorkspace.createStack(projectName, stackName, program, LocalWorkspaceOptions.builder() .environmentVariables(env) @@ -933,4 +935,18 @@ void testStateDeleteForce(@EnvVars Map envVars) throws Exception } } } + + static String fullyQualifiedStackName(String org, String project, String stack) { + return String.format("%s/%s/%s", org, project, stack); + } + + static String getTestOrg() { + if (System.getenv("PULUMI_ACCESS_TOKEN") != null) { + if (System.getenv("PULUMI_TEST_ORG") != null) { + return System.getenv("PULUMI_TEST_ORG"); + } + return "pulumi-test"; + } + return "organization"; + } } From e752eb9c726e6a3c6725bec0149276700a4dc1c8 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Tue, 8 Apr 2025 16:42:57 +0200 Subject: [PATCH 2/4] Maybe --- .../com/pulumi/automation/LocalWorkspaceTest.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java index e81b51d32e2..6318be08984 100644 --- a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java +++ b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java @@ -941,12 +941,9 @@ static String fullyQualifiedStackName(String org, String project, String stack) } static String getTestOrg() { - if (System.getenv("PULUMI_ACCESS_TOKEN") != null) { - if (System.getenv("PULUMI_TEST_ORG") != null) { - return System.getenv("PULUMI_TEST_ORG"); - } - return "pulumi-test"; - } - return "organization"; + if (System.getenv("PULUMI_ACCESS_TOKEN") != null && System.getenv("PULUMI_TEST_ORG") != null) { + return System.getenv("PULUMI_TEST_ORG"); + } + return "pulumi-test"; } } From b34903a662addf8c7ef6bbebdb8dd912bcfb3249 Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Tue, 8 Apr 2025 16:48:41 +0200 Subject: [PATCH 3/4] info --- .github/workflows/pr.yml | 2 +- .../com/pulumi/automation/LocalWorkspaceTest.java | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 34deeb1afb9..f12e23a04f4 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -84,7 +84,7 @@ jobs: - name: Build and unit-test Pulumi Java SDK uses: gradle/gradle-build-action@749f47bda3e44aa060e82d7b3ef7e40d953bd629 with: - arguments: build testAll + arguments: build testAll --info build-root-directory: sdk/java - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 diff --git a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java index 6318be08984..e81b51d32e2 100644 --- a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java +++ b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java @@ -941,9 +941,12 @@ static String fullyQualifiedStackName(String org, String project, String stack) } static String getTestOrg() { - if (System.getenv("PULUMI_ACCESS_TOKEN") != null && System.getenv("PULUMI_TEST_ORG") != null) { - return System.getenv("PULUMI_TEST_ORG"); - } - return "pulumi-test"; + if (System.getenv("PULUMI_ACCESS_TOKEN") != null) { + if (System.getenv("PULUMI_TEST_ORG") != null) { + return System.getenv("PULUMI_TEST_ORG"); + } + return "pulumi-test"; + } + return "organization"; } } From 0ea85da2c6ee69871507c919bef45d57f4b0820a Mon Sep 17 00:00:00 2001 From: Tom Harding Date: Wed, 9 Apr 2025 11:46:13 +0200 Subject: [PATCH 4/4] ? --- .../test/java/com/pulumi/automation/LocalWorkspaceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java index e81b51d32e2..99d057db894 100644 --- a/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java +++ b/sdk/java/pulumi/src/test/java/com/pulumi/automation/LocalWorkspaceTest.java @@ -945,8 +945,8 @@ static String getTestOrg() { if (System.getenv("PULUMI_TEST_ORG") != null) { return System.getenv("PULUMI_TEST_ORG"); } - return "pulumi-test"; + return "organization"; } - return "organization"; + return "pulumi-test"; } }