adjust appdb.js and unit tests to support memoryLimit

This commit is contained in:
Johannes Zellner
2016-02-05 15:04:03 +01:00
parent 2d60901b6e
commit ab003bf81f
2 changed files with 15 additions and 10 deletions
+5 -4
View File
@@ -59,7 +59,7 @@ var assert = require('assert'),
var APPS_FIELDS_PREFIXED = [ 'apps.id', 'apps.appStoreId', 'apps.installationState', 'apps.installationProgress', 'apps.runState',
'apps.health', 'apps.containerId', 'apps.manifestJson', 'apps.httpPort', 'apps.location', 'apps.dnsRecordId',
'apps.accessRestrictionJson', 'apps.lastBackupId', 'apps.lastBackupConfigJson', 'apps.oldConfigJson', 'apps.oauthProxy' ].join(',');
'apps.accessRestrictionJson', 'apps.lastBackupId', 'apps.lastBackupConfigJson', 'apps.oldConfigJson', 'apps.oauthProxy', 'apps.memoryLimit' ].join(',');
var PORT_BINDINGS_FIELDS = [ 'hostPort', 'environmentVariable', 'appId' ].join(',');
@@ -179,7 +179,7 @@ function getAll(callback) {
});
}
function add(id, appStoreId, manifest, location, portBindings, accessRestriction, oauthProxy, callback) {
function add(id, appStoreId, manifest, location, portBindings, accessRestriction, oauthProxy, memoryLimit, callback) {
assert.strictEqual(typeof id, 'string');
assert.strictEqual(typeof appStoreId, 'string');
assert(manifest && typeof manifest === 'object');
@@ -188,6 +188,7 @@ function add(id, appStoreId, manifest, location, portBindings, accessRestriction
assert.strictEqual(typeof portBindings, 'object');
assert.strictEqual(typeof accessRestriction, 'object');
assert.strictEqual(typeof oauthProxy, 'boolean');
assert.strictEqual(typeof memoryLimit, 'number');
assert.strictEqual(typeof callback, 'function');
portBindings = portBindings || { };
@@ -197,8 +198,8 @@ function add(id, appStoreId, manifest, location, portBindings, accessRestriction
var queries = [ ];
queries.push({
query: 'INSERT INTO apps (id, appStoreId, manifestJson, installationState, location, accessRestrictionJson, oauthProxy) VALUES (?, ?, ?, ?, ?, ?, ?)',
args: [ id, appStoreId, manifestJson, exports.ISTATE_PENDING_INSTALL, location, accessRestrictionJson, oauthProxy ]
query: 'INSERT INTO apps (id, appStoreId, manifestJson, installationState, location, accessRestrictionJson, oauthProxy, memoryLimit) VALUES (?, ?, ?, ?, ?, ?, ?, ?)',
args: [ id, appStoreId, manifestJson, exports.ISTATE_PENDING_INSTALL, location, accessRestrictionJson, oauthProxy, memoryLimit ]
});
Object.keys(portBindings).forEach(function (env) {
+10 -6
View File
@@ -479,7 +479,8 @@ describe('database', function () {
oauthProxy: false,
lastBackupId: null,
lastBackupConfig: null,
oldConfig: null
oldConfig: null,
memoryLimit: 4294967296
};
var APP_1 = {
id: 'appid-1',
@@ -498,7 +499,8 @@ describe('database', function () {
oauthProxy: true,
lastBackupId: null,
lastBackupConfig: null,
oldConfig: null
oldConfig: null,
memoryLimit: 0
};
it('add fails due to missing arguments', function () {
@@ -515,7 +517,7 @@ describe('database', function () {
});
it('add succeeds', function (done) {
appdb.add(APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, APP_0.portBindings, APP_0.accessRestriction, APP_0.oauthProxy, function (error) {
appdb.add(APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, APP_0.portBindings, APP_0.accessRestriction, APP_0.oauthProxy, APP_0.memoryLimit, function (error) {
expect(error).to.be(null);
done();
});
@@ -539,7 +541,7 @@ describe('database', function () {
});
it('add of same app fails', function (done) {
appdb.add(APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, [ ], APP_0.accessRestriction, APP_0.oauthProxy, function (error) {
appdb.add(APP_0.id, APP_0.appStoreId, APP_0.manifest, APP_0.location, [ ], APP_0.accessRestriction, APP_0.oauthProxy, APP_0.memoryLimit, function (error) {
expect(error).to.be.a(DatabaseError);
expect(error.reason).to.be(DatabaseError.ALREADY_EXISTS);
done();
@@ -571,6 +573,7 @@ describe('database', function () {
APP_0.accessRestriction = '';
APP_0.oauthProxy = true;
APP_0.httpPort = 1337;
APP_0.memoryLimit = 1337;
var data = {
installationState: APP_0.installationState,
@@ -578,7 +581,8 @@ describe('database', function () {
manifest: APP_0.manifest,
accessRestriction: APP_0.accessRestriction,
oauthProxy: APP_0.oauthProxy,
httpPort: APP_0.httpPort
httpPort: APP_0.httpPort,
memoryLimit: APP_0.memoryLimit
};
appdb.update(APP_0.id, data, function (error) {
@@ -611,7 +615,7 @@ describe('database', function () {
});
it('add second app succeeds', function (done) {
appdb.add(APP_1.id, APP_1.appStoreId, APP_1.manifest, APP_1.location, [ ], APP_1.accessRestriction, APP_0.oauthProxy, function (error) {
appdb.add(APP_1.id, APP_1.appStoreId, APP_1.manifest, APP_1.location, [ ], APP_1.accessRestriction, APP_0.oauthProxy, APP_1.memoryLimit, function (error) {
expect(error).to.be(null);
done();
});