Skip to content

Commit

Permalink
Remove karma dependencies - no longer maintained (#331)
Browse files Browse the repository at this point in the history
  • Loading branch information
pmeijer authored Jun 20, 2024
1 parent fa4614b commit aa1ca89
Show file tree
Hide file tree
Showing 7 changed files with 1,051 additions and 2,220 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ jobs:
run: npm install
- name: ESLint Check
run: npm run lint
- name: karma test
run: Xvfb :99 & export DISPLAY=:99 && node ./node_modules/karma/bin/karma start karma.conf.js --browsers Chrome --single-run
- name: Mocha addon test
run: node ./node_modules/mocha/bin/mocha --timeout 10000 --exit --recursive ./test/addon
- name: Mocha bin test
Expand Down
5 changes: 5 additions & 0 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
// TODO: Karma is no longer maintained and does not support new versions of mocha.
// TODO: Therefore these tests have been disabled as new security patches need to be apply.
// TODO: When time consider migrating the test-karma tests to some other framework for browser testing.
// TODO: This file here is the main context setter-upper and this needs to be migrated as well.

/*eslint-env node*/
/*eslint no-console: 0*/

Expand Down
2,884 changes: 840 additions & 2,044 deletions package-lock.json

Large diffs are not rendered by default.

17 changes: 3 additions & 14 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"test": "node ./node_modules/mocha/bin/mocha --exit --recursive test",
"test_ci": "node ./node_modules/mocha/bin/mocha --exit -R dot --timeout 10000 --recursive test",
"test_cover": "nyc --reporter=html --reporter=text node ./node_modules/mocha/bin/mocha --exit --recursive test",
"test_browser": "node ./node_modules/karma/bin/karma start karma.conf.js --browsers Chrome --single-run --no-auto-watch",
"docs": "./node_modules/.bin/jsdoc -c jsdoc_conf.json",
"apply": "node ./src/bin/apply.js",
"diff": "node ./src/bin/diff.js",
Expand Down Expand Up @@ -47,7 +46,7 @@
"dependencies": {
"@azure/msal-node": "^1.8.0",
"adm-zip": "0.5.10",
"agentkeepalive": "3.4.1",
"agentkeepalive": "4.5.0",
"archiver": "^6.0.1",
"aws-sdk": "^2.1443.0",
"azure-ad-verify-token-commonjs": "^2.0.2",
Expand Down Expand Up @@ -94,21 +93,11 @@
"eslint": "^8.47.0",
"esprima": "^4.0.0",
"http-proxy": "^1.18.1",
"karma": "^6.4.2",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.2.0",
"karma-coverage": "^2.2.1",
"karma-express-http-server": "^0.0.1",
"karma-firefox-launcher": "^2.1.2",
"karma-mocha": "^2.0.1",
"karma-mocha-reporter": "^2.2.5",
"karma-requirejs": "^1.1.0",
"karma-safari-launcher": "^1.0.0",
"mocha": "^6.0.0",
"mocha": "^10.4.0",
"msgpack-js": "^0.3.0",
"nyc": "^15.1.0",
"pkginfo": "^0.4.1",
"rimraf": "^5.0.1",
"rimraf": "^5.0.7",
"ssl-root-cas": "^1.3.1",
"webgme-executor-worker": "^3.1.1"
}
Expand Down
8 changes: 4 additions & 4 deletions src/server/middleware/auth/defaultauthorizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,14 +159,14 @@ function DefaultAuthorizer(mainLogger, gmeConfig) {
return { read: true, write: true, delete: true };
}

if (userId === entityId) {
return readWrite;
}

if (!user.canCreate) {
return readOnly;
}

if (userId === entityId) {
return readWrite;
}

return getAdminsInOrganization(entityId)
.then(function (admins) {
if (admins.indexOf(userId) > -1) {
Expand Down
59 changes: 29 additions & 30 deletions test/_globals.js
Original file line number Diff line number Diff line change
Expand Up @@ -367,8 +367,8 @@ function clearDBAndGetGMEAuth(gmeConfigParameter, projectNameOrNames, callback)
};

return Q.allDone([
gmeAuth.addUser(guestAccount, guestAccount + '@example.com', guestAccount, true, {overwrite: true}),
gmeAuth.addUser('admin', '[email protected]', 'admin', true, {overwrite: true, siteAdmin: true})
gmeAuth.addUser(guestAccount, guestAccount + '@example.com', guestAccount, true, { overwrite: true }),
gmeAuth.addUser('admin', '[email protected]', 'admin', true, { overwrite: true, siteAdmin: true })
]);
})
.then(function () {
Expand Down Expand Up @@ -429,29 +429,33 @@ function importProject(storage, parameters, callback) {
branchName,
data = {};

// Parameters check.
exports.expect(typeof storage).to.equal('object');
exports.expect(typeof parameters).to.equal('object');
exports.expect(typeof parameters.projectName).to.equal('string');
exports.expect(typeof parameters.gmeConfig).to.equal('object');
exports.expect(typeof parameters.logger).to.equal('object');

if (Object.hasOwn(parameters, 'username')) {
exports.expect(typeof parameters.username).to.equal('string');
data.username = parameters.username;
}
try {
// Parameters check.
exports.expect(typeof storage).to.equal('object');
exports.expect(typeof parameters).to.equal('object');
exports.expect(typeof parameters.projectName).to.equal('string');
exports.expect(typeof parameters.gmeConfig).to.equal('object');
exports.expect(typeof parameters.logger).to.equal('object');

if (Object.hasOwn(parameters, 'username')) {
exports.expect(typeof parameters.username).to.equal('string');
data.username = parameters.username;
}

if (Object.hasOwn(parameters, 'ownerId')) {
exports.expect(typeof parameters.ownerId).to.equal('string');
data.ownerId = parameters.ownerId;
}
if (Object.hasOwn(parameters, 'ownerId')) {
exports.expect(typeof parameters.ownerId).to.equal('string');
data.ownerId = parameters.ownerId;
}

if (Object.hasOwn(parameters, 'kind')) {
exports.expect(typeof parameters.kind).to.equal('string');
data.kind = parameters.kind;
if (Object.hasOwn(parameters, 'kind')) {
exports.expect(typeof parameters.kind).to.equal('string');
data.kind = parameters.kind;
}
} catch (err) {
extractDeferred.reject(err);
}

if (typeof parameters.projectSeed === 'string' && parameters.projectSeed.toLowerCase().indexOf('.webgmex')) {
if (typeof parameters.projectSeed === 'string' && parameters.projectSeed.toLowerCase().indexOf('.webgmex') > -1) {
BC = require('../src/server/middleware/blob/BlobClientWithFSBackend');
blobClient = new BC(parameters.gmeConfig, parameters.logger);
cliImport = require('../src/bin/import');
Expand All @@ -476,10 +480,7 @@ function importProject(storage, parameters, callback) {
return storage.createProject(data);
})
.then(function (project) {
var core = new exports.Core(project, {
globConf: parameters.gmeConfig,
logger: parameters.logger
}),
var core = new exports.Core(project, { globConf: parameters.gmeConfig, logger: parameters.logger }),
result = {
status: null,
branchName: branchName,
Expand Down Expand Up @@ -519,9 +520,7 @@ function importProject(storage, parameters, callback) {
})
.catch(deferred.reject);
})
.catch(function (err) {
deferred.reject(err);
});
.catch(deferred.reject);

return deferred.promise.nodeify(callback);
}
Expand Down Expand Up @@ -622,7 +621,7 @@ function openSocketIo(server, agent, userName, password, token) {
deferred = Q.defer(),
loginPromise,
socket,
socketReq = {url: serverBaseUrl},
socketReq = { url: serverBaseUrl },
webgmeToken;

if (server.getGmeConfig().authentication.enable === true) {
Expand Down Expand Up @@ -662,7 +661,7 @@ function openSocketIo(server, agent, userName, password, token) {
});

socket.on('connect', function () {
deferred.resolve({socket: socket, webgmeToken: webgmeToken});
deferred.resolve({ socket: socket, webgmeToken: webgmeToken });
});
})
.catch(function (err) {
Expand Down
Loading

0 comments on commit aa1ca89

Please sign in to comment.