kopia lustrzana https://github.com/c9/core
Merge remote-tracking branch 'origin/master' into speed-up-flush
commit
37808abb93
|
@ -0,0 +1,31 @@
|
|||
|
||||
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("-");
|
||||
},
|
||||
|
||||
getProjectIdFromContainerName: function (containerName) {
|
||||
if (containerName.split("-").length < 3) return "";
|
||||
return containerName.replace(/^container-/, "")
|
||||
.replace(/-[a-zA-Z]+$/, "")
|
||||
.split("-")
|
||||
.splice(-1)
|
||||
.join("-");
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = dockerHelpers;
|
|
@ -0,0 +1,60 @@
|
|||
"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"), "");
|
||||
});
|
||||
});
|
||||
|
||||
describe("getProjectIdFromContainerName", function() {
|
||||
it("should work", function() {
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("container-stefko-demo-project-884917"), "884917");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("container-scollins-booking_admin-1667108-yORDDrjnsOiiLveG"), "1667108");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("jakrawczt-test-3-jkr-1633955"), "1633955");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("thn85-p18-1016460"), "1016460");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("thn85-proj-18239823-1016490"), "1016490");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("artawil-etutor_11plus-wp-1422098"), "1422098");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("container-johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "1753521");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("johns66139-nice-access-bot-1753521-SDcuzVdxeUNhwhpo"), "1753521");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("d9canary"), "");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("selenium-9213"), "");
|
||||
assert.equal(dockerHelpers.getProjectIdFromContainerName("/selenium-9213"), "");
|
||||
});
|
||||
});
|
||||
|
||||
});
|
|
@ -0,0 +1,40 @@
|
|||
var childProcess = require("child_process");
|
||||
|
||||
|
||||
function findServers(pattern, options, callback) {
|
||||
if (!callback && typeof options == "function") {
|
||||
return findServers(pattern, {}, options);
|
||||
}
|
||||
|
||||
childProcess.exec("gssh --print-names " + pattern, function (err, stdout) {
|
||||
if (err) return callback(err);
|
||||
|
||||
var serverNames = stdout.split("\n")
|
||||
.filter(function(name) { return !!name; })
|
||||
.map(function (name) { return name.replace(/ubuntu@/, ""); });
|
||||
|
||||
return callback(null, serverNames);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function runCommand(pattern, command, options, callback) {
|
||||
if (!callback && typeof options == "function") {
|
||||
return runCommand(pattern, command, {}, options);
|
||||
}
|
||||
|
||||
var parallel = ""
|
||||
if (options.parallel) {
|
||||
parallel = " -P"
|
||||
}
|
||||
|
||||
var gsshCommand = "gssh " + parallel + " " + pattern + " '" + command + "'";
|
||||
childProcess.exec(gsshCommand, function (err, stdout) {
|
||||
return callback(err, stdout);
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
find: findServers,
|
||||
run: runCommand
|
||||
}
|
|
@ -157,6 +157,8 @@ module.exports = function setup(fsOptions) {
|
|||
|
||||
// Export the API
|
||||
var vfs = wrapDomain({
|
||||
fsOptions: fsOptions,
|
||||
|
||||
// File management
|
||||
resolve: resolve,
|
||||
stat: stat,
|
||||
|
|
14
package.json
14
package.json
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name": "c9",
|
||||
"description": "New Cloud9 Client",
|
||||
"version": "3.1.1212",
|
||||
"version": "3.1.1245",
|
||||
"author": "Ajax.org B.V. <info@ajax.org>",
|
||||
"private": true,
|
||||
"main": "bin/c9",
|
||||
|
@ -56,7 +56,7 @@
|
|||
"c9"
|
||||
],
|
||||
"c9plugins": {
|
||||
"c9.ide.language": "#76ce872cdc",
|
||||
"c9.ide.language": "#9ec48a2b65",
|
||||
"c9.ide.language.css": "#be07d72209",
|
||||
"c9.ide.language.generic": "#a4023db7f6",
|
||||
"c9.ide.language.html": "#9be847c0ce",
|
||||
|
@ -64,9 +64,9 @@
|
|||
"c9.ide.language.javascript": "#c6d102471f",
|
||||
"c9.ide.language.javascript.immediate": "#c8b1e5767a",
|
||||
"c9.ide.language.javascript.eslint": "#3127e1eba1",
|
||||
"c9.ide.language.javascript.tern": "#45e5f5b0e5",
|
||||
"c9.ide.language.javascript.tern": "#bf1072b11a",
|
||||
"c9.ide.language.javascript.infer": "#0561c69d67",
|
||||
"c9.ide.language.jsonalyzer": "#243e11bd42",
|
||||
"c9.ide.language.jsonalyzer": "#bf12af3d0a",
|
||||
"c9.ide.collab": "#4b93a497cd",
|
||||
"c9.ide.local": "#a6e689e33b",
|
||||
"c9.ide.find": "#e33fbaed2f",
|
||||
|
@ -91,7 +91,7 @@
|
|||
"c9.ide.imgeditor": "#612e75ef4f",
|
||||
"c9.ide.immediate": "#a962119bec",
|
||||
"c9.ide.installer": "#0fde9f0067",
|
||||
"c9.ide.language.python": "#4fad6f5a80",
|
||||
"c9.ide.language.python": "#675ddb4c8f",
|
||||
"c9.ide.language.go": "#8f6d0beae7",
|
||||
"c9.ide.mount": "#86c8985f34",
|
||||
"c9.ide.navigate": "#1fbb7cd53b",
|
||||
|
@ -105,9 +105,9 @@
|
|||
"c9.ide.recentfiles": "#7c099abf40",
|
||||
"c9.ide.remote": "#301d2ab519",
|
||||
"c9.ide.processlist": "#2b12cd1bdd",
|
||||
"c9.ide.run": "#bca3e70d61",
|
||||
"c9.ide.run": "#53d351200a",
|
||||
"c9.ide.run.build": "#0598fff697",
|
||||
"c9.ide.run.debug.xdebug": "#a1b39e0ac4",
|
||||
"c9.ide.run.debug.xdebug": "#9956689819",
|
||||
"c9.ide.save": "#f8aaf93ea1",
|
||||
"c9.ide.scm": "#ca3c94b84f",
|
||||
"c9.ide.terminal.monitor": "#1ccac33b0d",
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
from ..user.models import User
|
||||
|
||||
def test_user():
|
||||
return User()
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
class User():
|
||||
def __repr__(self):
|
||||
return '<User test>'
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env python3
|
||||
from app.tests.tests import test_user
|
||||
from doesntexist import badimport
|
||||
|
||||
print(test_user())
|
||||
|
||||
bad_call()
|
||||
|
||||
badimport.foo()
|
Ładowanie…
Reference in New Issue