From 25d035db151672e1a406ef1c06033e839edc9a5c Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Thu, 16 Nov 2017 14:28:00 +0800 Subject: [PATCH 1/3] add flow name to env --- .../src/main/java/com/flow/platform/api/envs/FlowEnvs.java | 2 ++ .../com/flow/platform/api/service/node/NodeServiceImpl.java | 1 + .../com/flow/platform/api/test/service/NodeServiceTest.java | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/platform-api/src/main/java/com/flow/platform/api/envs/FlowEnvs.java b/platform-api/src/main/java/com/flow/platform/api/envs/FlowEnvs.java index 05d03badc..ba33b4121 100644 --- a/platform-api/src/main/java/com/flow/platform/api/envs/FlowEnvs.java +++ b/platform-api/src/main/java/com/flow/platform/api/envs/FlowEnvs.java @@ -25,6 +25,8 @@ */ public enum FlowEnvs implements EnvKey { + FLOW_NAME(true, false, null), + /** * Indicate flow is configured for git */ diff --git a/platform-api/src/main/java/com/flow/platform/api/service/node/NodeServiceImpl.java b/platform-api/src/main/java/com/flow/platform/api/service/node/NodeServiceImpl.java index e03409c57..6ea1c53eb 100644 --- a/platform-api/src/main/java/com/flow/platform/api/service/node/NodeServiceImpl.java +++ b/platform-api/src/main/java/com/flow/platform/api/service/node/NodeServiceImpl.java @@ -206,6 +206,7 @@ public Node createEmptyFlow(final String flowName) { } // init env variables + flow.putEnv(FlowEnvs.FLOW_NAME, flowName); flow.putEnv(FlowEnvs.FLOW_STATUS, StatusValue.PENDING); flow.putEnv(FlowEnvs.FLOW_YML_STATUS, YmlStatusValue.NOT_FOUND); flow.putEnv(GitEnvs.FLOW_GIT_WEBHOOK, hooksUrl(flow)); diff --git a/platform-api/src/test/java/com/flow/platform/api/test/service/NodeServiceTest.java b/platform-api/src/test/java/com/flow/platform/api/test/service/NodeServiceTest.java index 9946dabee..9c1c2ea4f 100644 --- a/platform-api/src/test/java/com/flow/platform/api/test/service/NodeServiceTest.java +++ b/platform-api/src/test/java/com/flow/platform/api/test/service/NodeServiceTest.java @@ -194,7 +194,8 @@ public void should_save_node_env() throws Throwable { // then: String webhook = HttpURL.build(apiDomain).append("/hooks/git").append(emptyFlow.getName()).toString(); Node loaded = nodeService.find("flow1").root(); - Assert.assertEquals(15, loaded.getEnvs().size()); + Assert.assertEquals(16, loaded.getEnvs().size()); + Assert.assertEquals("flow1", loaded.getEnv(FlowEnvs.FLOW_NAME)); Assert.assertEquals("hello", loaded.getEnv("FLOW_NEW_1")); Assert.assertEquals("world", loaded.getEnv("FLOW_NEW_2")); Assert.assertEquals("done", loaded.getEnv("FLOW_NEW_3")); @@ -213,7 +214,7 @@ public void should_save_node_env() throws Throwable { // check env been sync with yml Node flow = flowDao.get("flow1"); - Assert.assertEquals(15, flow.getEnvs().size()); + Assert.assertEquals(16, flow.getEnvs().size()); Assert.assertEquals("hello", flow.getEnv("FLOW_NEW_1")); Assert.assertEquals("world", flow.getEnv("FLOW_NEW_2")); Assert.assertEquals("done", flow.getEnv("FLOW_NEW_3")); From 57720d388c7ae7e8c547f63f13999d587181ce6e Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Thu, 16 Nov 2017 14:54:32 +0800 Subject: [PATCH 2/3] fix failure unit test since num of env variables been changed --- .../flow/platform/api/test/integration/GitWebhookTest.java | 2 +- .../com/flow/platform/api/test/service/EnvServiceTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/platform-api/src/test/java/com/flow/platform/api/test/integration/GitWebhookTest.java b/platform-api/src/test/java/com/flow/platform/api/test/integration/GitWebhookTest.java index 94e598fb6..8cc4a308f 100644 --- a/platform-api/src/test/java/com/flow/platform/api/test/integration/GitWebhookTest.java +++ b/platform-api/src/test/java/com/flow/platform/api/test/integration/GitWebhookTest.java @@ -306,7 +306,7 @@ private Node init_flow(String gitUrl) throws Throwable { Node loaded = nodeService.find(flowPath).root(); Assert.assertNotNull(loaded); - Assert.assertEquals(12, loaded.getEnvs().size()); + Assert.assertEquals(13, loaded.getEnvs().size()); Assert.assertEquals(FlowEnvs.YmlStatusValue.FOUND.value(), loaded.getEnv(FlowEnvs.FLOW_YML_STATUS)); return loaded; diff --git a/platform-api/src/test/java/com/flow/platform/api/test/service/EnvServiceTest.java b/platform-api/src/test/java/com/flow/platform/api/test/service/EnvServiceTest.java index 502017c84..9d2af0049 100644 --- a/platform-api/src/test/java/com/flow/platform/api/test/service/EnvServiceTest.java +++ b/platform-api/src/test/java/com/flow/platform/api/test/service/EnvServiceTest.java @@ -94,16 +94,16 @@ public void should_list_env() { // then: check the flow actual envs size Node flow = nodeService.find(node.getPath()).root(); - Assert.assertEquals(10, flow.getEnvs().size()); + Assert.assertEquals(11, flow.getEnvs().size()); // when: list none editable only which from copied node envs Map noneEditable = envService.list(node, false); - Assert.assertEquals(8, noneEditable.size()); + Assert.assertEquals(9, noneEditable.size()); Assert.assertTrue(noneEditable.containsKey(FLOW_STATUS.name())); Assert.assertTrue(noneEditable.containsKey(FLOW_YML_STATUS.name())); Assert.assertTrue(noneEditable.containsKey(FLOW_GIT_WEBHOOK.name())); // then: check the actual flow envs size not changed - Assert.assertEquals(10, flow.getEnvs().size()); + Assert.assertEquals(11, flow.getEnvs().size()); } } From e3c3db7c2f3e2bd093e60fc6b1e45b95ef8fc0cb Mon Sep 17 00:00:00 2001 From: Yang Guo Date: Thu, 16 Nov 2017 15:11:58 +0800 Subject: [PATCH 3/3] add flow name when create job since existing flow not included this env --- .../java/com/flow/platform/api/service/job/JobServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/platform-api/src/main/java/com/flow/platform/api/service/job/JobServiceImpl.java b/platform-api/src/main/java/com/flow/platform/api/service/job/JobServiceImpl.java index 5d59b6a80..24c3104a9 100644 --- a/platform-api/src/main/java/com/flow/platform/api/service/job/JobServiceImpl.java +++ b/platform-api/src/main/java/com/flow/platform/api/service/job/JobServiceImpl.java @@ -331,6 +331,7 @@ private Job createJob(String path, JobCategory eventType, Map en job.setUpdatedAt(ZonedDateTime.now()); // setup job env variables + job.putEnv(FlowEnvs.FLOW_NAME, root.getName()); job.putEnv(JobEnvs.FLOW_JOB_BUILD_CATEGORY, eventType.name()); job.putEnv(JobEnvs.FLOW_JOB_BUILD_NUMBER, job.getNumber().toString()); job.putEnv(JobEnvs.FLOW_JOB_LOG_PATH, logUrl(job));