Skip to content

Commit 6080e4d

Browse files
committed
Add refresh handler hook for testing.
1 parent 79a9b3b commit 6080e4d

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

lib/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ bedrock.events.on('bedrock.init', async () => {
5656
}]
5757
},
5858
async refreshHandler({record, signal}) {
59+
// for testing purposes only
60+
if(service._disableRefreshHandler) {
61+
return;
62+
}
5963
// refresh zcaps and update record w/results
6064
const result = await refreshZcaps({
6165
serviceType, config: record.config, signal

test/mocha/60-refresh-zcaps.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,10 @@ const serviceType = 'vc-verifier';
1414
describe('refresh zcaps', () => {
1515
let capabilityAgent;
1616
const zcaps = {};
17-
beforeEach(async () => {
17+
before(async () => {
18+
// enable refresh handler
19+
verifierService._disableRefreshHandler = false;
20+
1821
const secret = '53ad64ce-8e1d-11ec-bb12-10bf48838a41';
1922
const handle = 'test';
2023
capabilityAgent = await CapabilityAgent.fromSecret({secret, handle});
@@ -70,6 +73,10 @@ describe('refresh zcaps', () => {
7073
invocationTarget: refreshUrl
7174
});
7275
});
76+
after(() => {
77+
// disable refresh handler
78+
verifierService._disableRefreshHandler = true;
79+
});
7380
it('should refresh zcaps in a config', async () => {
7481
const {id: meterId} = await helpers.createMeter({
7582
capabilityAgent, serviceType: 'vc-verifier'

test/test.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import {didIo} from '@bedrock/did-io';
88
import {getServiceIdentities} from '@bedrock/app-identity';
99
import {handlers} from '@bedrock/meter-http';
1010
import {jsonLdDocumentLoader} from '@bedrock/jsonld-document-loader';
11+
import {verifierService} from '@bedrock/vc-verifier';
1112
import '@bedrock/edv-storage';
1213
import '@bedrock/https-agent';
1314
import '@bedrock/kms';
@@ -16,7 +17,6 @@ import '@bedrock/meter';
1617
import '@bedrock/meter-usage-reporter';
1718
import '@bedrock/server';
1819
import '@bedrock/ssm-mongodb';
19-
import '@bedrock/vc-verifier';
2020

2121
import * as helpers from './mocha/helpers.js';
2222

@@ -47,6 +47,9 @@ jsonLdDocumentLoader.addDocuments({documents: contexts});
4747
import {mockData} from './mocha/mock.data.js';
4848

4949
bedrock.events.on('bedrock.init', async () => {
50+
// disable refresh handler except in refresh tests
51+
verifierService._disableRefreshHandler = true;
52+
5053
/* Handlers need to be added before `bedrock.start` is called. These are
5154
no-op handlers to enable meter usage without restriction */
5255
handlers.setCreateHandler({
@@ -104,12 +107,14 @@ bedrock.events.on('bedrock-express.configure.routes', async app => {
104107
const capabilityAgent = await CapabilityAgent.fromSecret({secret, handle});
105108

106109
const oldZcap = req.body;
110+
const nextYear = new Date(Date.now() + 1000 * 60 * 60 * 24 * 365);
107111
const newZcap = await helpers.delegate({
108112
capability: oldZcap.parentCapability,
109113
allowedActions: oldZcap.allowedAction,
110114
controller: oldZcap.controller,
111115
invocationTarget: oldZcap.invocationTarget,
112-
delegator: capabilityAgent
116+
delegator: capabilityAgent,
117+
expires: nextYear
113118
});
114119
res.json(newZcap);
115120
}));

0 commit comments

Comments
 (0)