Skip to content

Commit 6f23ca4

Browse files
zzarconghedamat
authored andcommitted
Use 'activationSuffix' in fetchRevision hooks #61 (@zzarcon)
1 parent 55d5b3e commit 6f23ca4

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,10 @@ module.exports = {
5050
return context.commandOptions.revision || (context.revisionData && context.revisionData.revisionKey);
5151
},
5252
redisDeployClient: function(context) {
53+
var redisLib = context._redisLib;
5354
var redisOptions = this.pluginConfig;
5455
redisOptions.port = this.readConfig('port');
55-
var redisLib = context._redisLib;
56+
redisOptions.activationSuffix = this.readConfig('activationSuffix');
5657

5758
return new Redis(redisOptions, redisLib);
5859
},
@@ -135,6 +136,7 @@ module.exports = {
135136
fetchInitialRevisions: function(/* context */) {
136137
var redisDeployClient = this.readConfig('redisDeployClient');
137138
var keyPrefix = this.readConfig('keyPrefix');
139+
138140
this.log('Listing initial revisions for key: `' + keyPrefix + '`', { verbose: true });
139141
return Promise.resolve(redisDeployClient.fetchRevisions(keyPrefix))
140142
.then(function(revisions) {

lib/redis.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ module.exports = CoreObject.extend({
3232

3333
this._maxRecentUploads = options.maxRecentUploads;
3434
this._allowOverwrite = options.allowOverwrite;
35+
this._activationSuffix = options.activationSuffix || 'current';
3536
},
3637

3738
upload: function(/*keyPrefix, revisionKey, value*/) {
@@ -42,7 +43,6 @@ module.exports = CoreObject.extend({
4243
var revisionKey = args[0] || 'default';
4344
var revisionData = args[1];
4445
var redisKey = keyPrefix + ':' + revisionKey;
45-
4646
var maxEntries = this._maxRecentUploads;
4747
var _this = this;
4848

@@ -92,7 +92,7 @@ module.exports = CoreObject.extend({
9292
},
9393

9494
activeRevision: function(keyPrefix) {
95-
var currentKey = keyPrefix + ':current';
95+
var currentKey = keyPrefix + ':' + this._activationSuffix;
9696
return this._client.get(currentKey);
9797
},
9898

tests/unit/lib/redis-nodetest.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -374,5 +374,21 @@ describe('redis', function() {
374374
]);
375375
});
376376
});
377+
378+
it('uses activationSuffix in order to get the right activeRevision', function() {
379+
var redis = new Redis({
380+
activationSuffix: 'active-key'
381+
}, new FakeRedis(FakeClient.extend({
382+
get: function(key) {
383+
return Promise.resolve(key);
384+
}
385+
})));
386+
387+
var promise = redis.activeRevision('key-prefix');
388+
return assert.isFulfilled(promise)
389+
.then(function(result) {
390+
assert.equal(result, 'key-prefix:active-key');
391+
});
392+
});
377393
});
378394
});

0 commit comments

Comments
 (0)