From fb80904c36cb80a9ce77c46c9ea5cb4ec955a1d3 Mon Sep 17 00:00:00 2001 From: Rui Zhu Date: Fri, 4 Oct 2024 15:55:23 -0400 Subject: [PATCH] toggle private build when stage type changes --- .../pinterest/teletraan/resource/EnvStages.java | 2 ++ .../teletraan/handler/EnvStagesTest.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java index 2899ec5a90..6f305acd61 100644 --- a/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java +++ b/deploy-service/teletraanservice/src/main/java/com/pinterest/teletraan/resource/EnvStages.java @@ -132,6 +132,8 @@ public void update( if (environBean.getStage_type() == EnvType.DEV) { environBean.setAllow_private_build(true); + } else { + environBean.setAllow_private_build(false); } environBean.setEnv_name(origBean.getEnv_name()); environBean.setStage_name(origBean.getStage_name()); diff --git a/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/handler/EnvStagesTest.java b/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/handler/EnvStagesTest.java index c1767426e0..ab8deeaf00 100644 --- a/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/handler/EnvStagesTest.java +++ b/deploy-service/teletraanservice/src/test/java/com/pinterest/teletraan/handler/EnvStagesTest.java @@ -44,7 +44,7 @@ public void setup() throws Exception { } @Test - public void createEnvStage() throws Exception { + public void updateEnvToDev_setsAllowPrivateBuildTrue() throws Exception { ArgumentCaptor argument = ArgumentCaptor.forClass(EnvironBean.class); EnvironBean envBean = new EnvironBean(); envBean.setStage_type(EnvType.DEV); @@ -57,4 +57,19 @@ public void createEnvStage() throws Exception { verify(environDAO).update(Mockito.any(), Mockito.any(), argument.capture()); assertEquals(true, argument.getValue().getAllow_private_build()); } + + @Test + public void updateEnvStageOffDev_unsetsAllowPrivateBuild() throws Exception { + ArgumentCaptor argument = ArgumentCaptor.forClass(EnvironBean.class); + EnvironBean envBean = new EnvironBean(); + envBean.setStage_type(EnvType.STAGING); + Mockito.when(environDAO.getByStage(Mockito.anyString(), Mockito.anyString())) + .thenReturn(envBean); + SecurityContext mockSC = mock(SecurityContext.class); + Principal mockPrincipal = mock(Principal.class); + Mockito.when(mockSC.getUserPrincipal()).thenReturn(mockPrincipal); + envStages.update(mockSC, "test-env", "test-stage", envBean); + verify(environDAO).update(Mockito.any(), Mockito.any(), argument.capture()); + assertEquals(false, argument.getValue().getAllow_private_build()); + } }