From c4af4bdfc035a02eff09e3d8a3e07705d364bbcf Mon Sep 17 00:00:00 2001 From: Tim Robinson Date: Wed, 6 Jan 2016 01:15:54 +0000 Subject: [PATCH] Adding frontend for monitor workspace --- node_modules/c9/docker-helpers.js | 22 +++++++++++++ node_modules/c9/docker-helpers_test.js | 43 ++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 node_modules/c9/docker-helpers.js create mode 100644 node_modules/c9/docker-helpers_test.js diff --git a/node_modules/c9/docker-helpers.js b/node_modules/c9/docker-helpers.js new file mode 100644 index 00000000..b7a28d99 --- /dev/null +++ b/node_modules/c9/docker-helpers.js @@ -0,0 +1,22 @@ + +var dockerHelpers = { + getUsernameFromContainerName: function (containerName) { + if (containerName.split("-").length < 3) return ""; + return containerName.replace(/^container-/, "") + .replace(/-[a-zA-Z]+$/, "") + .replace(/-[0-9]+$/, "") + .split("-")[0]; + }, + + getProjectNameFromContainerName: function (containerName) { + if (containerName.split("-").length < 3) return ""; + return containerName.replace(/^container-/, "") + .replace(/-[a-zA-Z]+$/, "") + .replace(/-[0-9]+$/, "") + .split("-") + .splice(1) + .join("-"); + } +} + +module.exports = dockerHelpers; \ No newline at end of file diff --git a/node_modules/c9/docker-helpers_test.js b/node_modules/c9/docker-helpers_test.js new file mode 100644 index 00000000..22fc128a --- /dev/null +++ b/node_modules/c9/docker-helpers_test.js @@ -0,0 +1,43 @@ +"use strict"; +"use mocha"; + +require("c9/inline-mocha")(module); +var assert = require("assert"); +var faker = require("faker"); +var dockerHelpers = require("c9/docker-helpers"); + +describe("docker-helpers", function() { + + describe("getUsernameFromContainerName", function () { + it("should work", function() { + assert.equal(dockerHelpers.getUsernameFromContainerName("container-stefko-demo-project-884917"), "stefko"); + assert.equal(dockerHelpers.getUsernameFromContainerName("container-scollins-booking_admin-1667108-yORDDrjnsOiiLveG"), "scollins"); + assert.equal(dockerHelpers.getUsernameFromContainerName("jakrawczt-test-3-jkr-1633955"), "jakrawczt"); + assert.equal(dockerHelpers.getUsernameFromContainerName("thn85-p18-1016460"), "thn85"); + assert.equal(dockerHelpers.getUsernameFromContainerName("thn85-proj-18239823-1016490"), "thn85"); + assert.equal(dockerHelpers.getUsernameFromContainerName("artawil-etutor_11plus-wp-1422098"), "artawil"); + assert.equal(dockerHelpers.getUsernameFromContainerName("container-johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "johns66139"); + assert.equal(dockerHelpers.getUsernameFromContainerName("johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "johns66139"); + assert.equal(dockerHelpers.getUsernameFromContainerName("yuro_yaya-nice-access-bot-1753521"), "yuro_yaya"); + assert.equal(dockerHelpers.getUsernameFromContainerName("d9canary"), ""); + assert.equal(dockerHelpers.getUsernameFromContainerName("selenium-9213"), ""); + assert.equal(dockerHelpers.getUsernameFromContainerName("/selenium-9213"), ""); + }); + }); + + describe("getProjectNameFromContainerName", function() { + it("should work", function() { + assert.equal(dockerHelpers.getProjectNameFromContainerName("container-stefko-demo-project-884917"), "demo-project"); + assert.equal(dockerHelpers.getProjectNameFromContainerName("container-scollins-booking_admin-1667108-yORDDrjnsOiiLveG"), "booking_admin"); + assert.equal(dockerHelpers.getProjectNameFromContainerName("jakrawczt-test-3-jkr-1633955"), "test-3-jkr"); + assert.equal(dockerHelpers.getProjectNameFromContainerName("thn85-p18-1016460"), "p18"); + assert.equal(dockerHelpers.getProjectNameFromContainerName("thn85-proj-18239823-1016490"), "proj-18239823"); + 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("d9canary"), ""); + assert.equal(dockerHelpers.getProjectNameFromContainerName("selenium-9213"), ""); + assert.equal(dockerHelpers.getProjectNameFromContainerName("/selenium-9213"), ""); + }); + }); +});