From 71e2261a0a16df5b16b913dafaaec2fde1bb300a Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Thu, 28 Jan 2016 22:52:37 +0000 Subject: [PATCH] Fix getting container details when a container has a underscore in it --- node_modules/c9/docker-helpers.js | 10 ++++++++++ node_modules/c9/docker-helpers_test.js | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/node_modules/c9/docker-helpers.js b/node_modules/c9/docker-helpers.js index e4b67a9f..a16a2f8f 100644 --- a/node_modules/c9/docker-helpers.js +++ b/node_modules/c9/docker-helpers.js @@ -1,5 +1,15 @@ var dockerHelpers = { + getContainerIdFromContainer: function (container) { + var match = container.match(/^[a-f0-9]+/); + return match && match[0]; + }, + + getContainerNameFromContainer: function (container) { + var match = container.replace(/[^0-9a-zA-Z]$/, "").match(/[0-9a-zA-Z_-]+$/); + return match && match[0]; + }, + getUsernameFromContainerName: function (containerName) { if (containerName.split("-").length < 3) return ""; return containerName.replace(/^container-/, "") diff --git a/node_modules/c9/docker-helpers_test.js b/node_modules/c9/docker-helpers_test.js index 32af8bdd..562ca733 100644 --- a/node_modules/c9/docker-helpers_test.js +++ b/node_modules/c9/docker-helpers_test.js @@ -7,7 +7,24 @@ var faker = require("faker"); var dockerHelpers = require("c9/docker-helpers"); describe("docker-helpers", function() { + describe("getContainerIdFromContainer", function() { + it("should work", function() { + assert.equal( + dockerHelpers.getContainerIdFromContainer('3b765c5179d1 cloud9/ws-html5:2014-11-07T10-08-51Z "/mnt/shared/sbin/mic" 3 weeks ago Up 34 hours 0.0.0.0:16276->22/tcp, 0.0.0.0:47527->8080/tcp, 0.0.0.0:46944->8081/tcp, 0.0.0.0:48538->8082/tcp container-russellfeeed-html_assesment-601963-KPRaMXXRlGruDjpH'), + '3b765c5179d1' + ); + }); + }); + describe("getContainerNameFromContainer", function() { + it("should work", function() { + assert.equal( + dockerHelpers.getContainerNameFromContainer('3b765c5179d1 cloud9/ws-html5:2014-11-07T10-08-51Z "/mnt/shared/sbin/mic" 3 weeks ago Up 34 hours 0.0.0.0:16276->22/tcp, 0.0.0.0:47527->8080/tcp, 0.0.0.0:46944->8081/tcp, 0.0.0.0:48538->8082/tcp container-russellfeeed-html_assesment-601963-KPRaMXXRlGruDjpH'), + 'container-russellfeeed-html_assesment-601963-KPRaMXXRlGruDjpH' + ); + }); + }); + describe("getUsernameFromContainerName", function () { it("should work", function() { assert.equal(dockerHelpers.getUsernameFromContainerName("container-stefko-demo-project-884917"), "stefko"); @@ -35,6 +52,7 @@ describe("docker-helpers", function() { assert.equal(dockerHelpers.getProjectNameFromContainerName("artawil-etutor_11plus-wp-1422098"), "etutor_11plus-wp"); assert.equal(dockerHelpers.getProjectNameFromContainerName("container-johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "nice-access-bot"); assert.equal(dockerHelpers.getProjectNameFromContainerName("johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "nice-access-bot"); + assert.equal(dockerHelpers.getProjectNameFromContainerName("container-russellfeeed-html_assesment-601963-KPRaMXXRlGruDjpH"), "html_assesment"); assert.equal(dockerHelpers.getProjectNameFromContainerName("d9canary"), ""); assert.equal(dockerHelpers.getProjectNameFromContainerName("selenium-9213"), ""); assert.equal(dockerHelpers.getProjectNameFromContainerName("/selenium-9213"), "");