exframe-cache-manager 1.1.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const sinon = require('sinon');
4
3
  const expect = require('chai').expect;
4
+ const { prometheusClient } = require('exframe-service');
5
5
  const cacheManager = require('../index');
6
6
 
7
7
  const userId = 'auth0|1234567890';
@@ -33,23 +33,20 @@ const userProfileResponse = {
33
33
  };
34
34
 
35
35
  context('Test User Profile Middleware', () => {
36
-
37
- beforeEach(() => {
38
- this.sinon = sinon.sandbox.create();
39
- });
40
-
41
- afterEach(() => {
42
- this.sinon.restore();
43
- });
44
-
45
36
  describe('Cache Manager', () => {
46
37
  const app = cacheManager.create(options);
47
38
 
39
+ beforeEach(() => {
40
+ prometheusClient.register.clear();
41
+ expect(prometheusClient.register.getMetricsAsArray()).to.have.lengthOf(0);
42
+ });
43
+
48
44
  it('validate the setItem function on the basis of key and value', async () => {
49
- app.setItem(cacheKey, "value1").then((data)=>{
50
- expect(data).to.not.eql(null);
51
- expect(data).to.eql("value1");
52
- })
45
+ const data = await app.setItem(cacheKey, "value1");
46
+ expect(data).to.not.eql(null);
47
+ expect(data).to.eql("value1");
48
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('setItem'));
49
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
53
50
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, cacheKey);
54
51
  });
55
52
 
@@ -57,6 +54,8 @@ context('Test User Profile Middleware', () => {
57
54
  await app.setItem(cacheKey,"someValue");
58
55
  const value = await app.getItem(cacheKey);
59
56
  expect(value).to.eql("someValue");
57
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('getItem'));
58
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
60
59
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, cacheKey);
61
60
  });
62
61
 
@@ -65,9 +64,11 @@ context('Test User Profile Middleware', () => {
65
64
  await app.addSetItem(key, "someSetValue");
66
65
  const value = await app.isSetMember(key, "someSetValue");
67
66
  expect(value).to.eql(true);
67
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('addSetItem'));
68
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
68
69
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, key);
69
70
  });
70
-
71
+
71
72
  it('validate the isSetMember function on the basis of key', async () => {
72
73
  const key = 'SetTestKey2';
73
74
  await app.addSetItem(key, "someSetValue");
@@ -75,6 +76,8 @@ context('Test User Profile Middleware', () => {
75
76
  expect(value1).to.eql(true);
76
77
  const value2 = await app.isSetMember(key, "notSetValue");
77
78
  expect(value2).to.eql(false, 'expected non-member key to return false for isSetMember');
79
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('isSetMember'));
80
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
78
81
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, key);
79
82
  });
80
83
 
@@ -86,6 +89,8 @@ context('Test User Profile Middleware', () => {
86
89
  await app.removeSetItem(key, "someSetValue");
87
90
  value = await app.isSetMember(key, "someSetValue");
88
91
  expect(value).to.eql(false, 'expected non-member key to return false for isSetMember');
92
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('removeSetItem'));
93
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
89
94
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, key);
90
95
  });
91
96
 
@@ -101,14 +106,18 @@ context('Test User Profile Middleware', () => {
101
106
  expect(result).to.not.be.ok();
102
107
  } catch (ex) {
103
108
  expect(ex.message).to.be.equal('pool is draining and cannot accept work');
104
- }
109
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('close'));
110
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
111
+ }
105
112
  });
106
113
 
107
114
  it('validate the flushCache function', async () => {
108
115
  await app.flushCache({log:{info:(info)=>{console.log(info)}}}, '*_profiletest');
109
116
  const value = await app.getItem(cacheKey);
110
117
  expect(value).to.eql(null);
111
- });
118
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('flushCache'));
119
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
120
+ });
112
121
 
113
122
  it('validate the cacheStorePool', () => {
114
123
  const catchepool = app.cacheStorePool;
@@ -116,9 +125,12 @@ context('Test User Profile Middleware', () => {
116
125
  expect(catchepool.db).to.eql(0);
117
126
  expect(catchepool._maxListeners).to.eql(0);
118
127
  });
128
+
119
129
  it('validate the healthCheck function', async () => {
120
130
  const healthCheck = await app.healthCheck();
121
131
  expect(healthCheck).to.eql(true);
132
+ const metrics = prometheusClient.register.getMetricsAsArray().filter((m) => m.name.includes('healthCheck'));
133
+ expect(metrics).to.be.an('array').and.to.have.lengthOf.above(0);
122
134
  });
123
135
  });
124
136
  });
@@ -1 +0,0 @@
1
- {"/app/index.js":{"path":"/app/index.js","statementMap":{"0":{"start":{"line":4,"column":21},"end":{"line":4,"column":45}},"1":{"start":{"line":5,"column":19},"end":{"line":5,"column":49}},"2":{"start":{"line":6,"column":13},"end":{"line":6,"column":28}},"3":{"start":{"line":8,"column":11},"end":{"line":8,"column":12}},"4":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"5":{"start":{"line":17,"column":4},"end":{"line":17,"column":29}},"6":{"start":{"line":18,"column":4},"end":{"line":18,"column":29}},"7":{"start":{"line":21,"column":21},"end":{"line":26,"column":4}},"8":{"start":{"line":29,"column":21},"end":{"line":29,"column":37}},"9":{"start":{"line":33,"column":25},"end":{"line":33,"column":64}},"10":{"start":{"line":34,"column":2},"end":{"line":34,"column":36}},"11":{"start":{"line":36,"column":2},"end":{"line":177,"column":4}},"12":{"start":{"line":42,"column":6},"end":{"line":42,"column":33}},"13":{"start":{"line":53,"column":6},"end":{"line":55,"column":27}},"14":{"start":{"line":55,"column":20},"end":{"line":55,"column":25}},"15":{"start":{"line":64,"column":6},"end":{"line":64,"column":74}},"16":{"start":{"line":64,"column":49},"end":{"line":64,"column":72}},"17":{"start":{"line":73,"column":6},"end":{"line":73,"column":74}},"18":{"start":{"line":73,"column":49},"end":{"line":73,"column":72}},"19":{"start":{"line":83,"column":6},"end":{"line":88,"column":10}},"20":{"start":{"line":83,"column":55},"end":{"line":88,"column":8}},"21":{"start":{"line":84,"column":8},"end":{"line":87,"column":11}},"22":{"start":{"line":85,"column":10},"end":{"line":85,"column":33}},"23":{"start":{"line":85,"column":18},"end":{"line":85,"column":33}},"24":{"start":{"line":86,"column":10},"end":{"line":86,"column":28}},"25":{"start":{"line":95,"column":6},"end":{"line":95,"column":101}},"26":{"start":{"line":95,"column":55},"end":{"line":95,"column":99}},"27":{"start":{"line":99,"column":6},"end":{"line":101,"column":9}},"28":{"start":{"line":100,"column":8},"end":{"line":100,"column":34}},"29":{"start":{"line":105,"column":6},"end":{"line":127,"column":9}},"30":{"start":{"line":106,"column":8},"end":{"line":126,"column":15}},"31":{"start":{"line":109,"column":10},"end":{"line":111,"column":11}},"32":{"start":{"line":110,"column":12},"end":{"line":110,"column":37}},"33":{"start":{"line":113,"column":10},"end":{"line":115,"column":11}},"34":{"start":{"line":114,"column":12},"end":{"line":114,"column":35}},"35":{"start":{"line":117,"column":10},"end":{"line":120,"column":13}},"36":{"start":{"line":118,"column":12},"end":{"line":118,"column":34}},"37":{"start":{"line":119,"column":12},"end":{"line":119,"column":28}},"38":{"start":{"line":122,"column":10},"end":{"line":125,"column":20}},"39":{"start":{"line":123,"column":12},"end":{"line":123,"column":43}},"40":{"start":{"line":124,"column":12},"end":{"line":124,"column":77}},"41":{"start":{"line":138,"column":6},"end":{"line":145,"column":7}},"42":{"start":{"line":139,"column":8},"end":{"line":139,"column":40}},"43":{"start":{"line":140,"column":8},"end":{"line":140,"column":34}},"44":{"start":{"line":142,"column":8},"end":{"line":144,"column":9}},"45":{"start":{"line":143,"column":10},"end":{"line":143,"column":41}},"46":{"start":{"line":147,"column":6},"end":{"line":147,"column":20}},"47":{"start":{"line":156,"column":6},"end":{"line":174,"column":9}},"48":{"start":{"line":157,"column":26},"end":{"line":157,"column":66}},"49":{"start":{"line":158,"column":25},"end":{"line":158,"column":64}},"50":{"start":{"line":159,"column":21},"end":{"line":159,"column":24}},"51":{"start":{"line":160,"column":8},"end":{"line":173,"column":33}},"52":{"start":{"line":162,"column":25},"end":{"line":162,"column":66}},"53":{"start":{"line":163,"column":10},"end":{"line":163,"column":30}},"54":{"start":{"line":164,"column":23},"end":{"line":164,"column":32}},"55":{"start":{"line":165,"column":10},"end":{"line":167,"column":13}},"56":{"start":{"line":168,"column":10},"end":{"line":170,"column":11}},"57":{"start":{"line":169,"column":12},"end":{"line":169,"column":19}},"58":{"start":{"line":172,"column":10},"end":{"line":172,"column":34}},"59":{"start":{"line":180,"column":0},"end":{"line":182,"column":2}}},"fnMap":{"0":{"name":"cachemanager","decl":{"start":{"line":15,"column":9},"end":{"line":15,"column":21}},"loc":{"start":{"line":15,"column":31},"end":{"line":178,"column":1}},"line":15},"1":{"name":"(anonymous_1)","decl":{"start":{"line":55,"column":14},"end":{"line":55,"column":15}},"loc":{"start":{"line":55,"column":20},"end":{"line":55,"column":25}},"line":55},"2":{"name":"(anonymous_2)","decl":{"start":{"line":64,"column":39},"end":{"line":64,"column":40}},"loc":{"start":{"line":64,"column":49},"end":{"line":64,"column":72}},"line":64},"3":{"name":"(anonymous_3)","decl":{"start":{"line":73,"column":39},"end":{"line":73,"column":40}},"loc":{"start":{"line":73,"column":49},"end":{"line":73,"column":72}},"line":73},"4":{"name":"(anonymous_4)","decl":{"start":{"line":83,"column":39},"end":{"line":83,"column":40}},"loc":{"start":{"line":83,"column":55},"end":{"line":88,"column":8}},"line":83},"5":{"name":"(anonymous_5)","decl":{"start":{"line":83,"column":67},"end":{"line":83,"column":68}},"loc":{"start":{"line":83,"column":81},"end":{"line":88,"column":7}},"line":83},"6":{"name":"(anonymous_6)","decl":{"start":{"line":84,"column":37},"end":{"line":84,"column":38}},"loc":{"start":{"line":84,"column":53},"end":{"line":87,"column":9}},"line":84},"7":{"name":"(anonymous_7)","decl":{"start":{"line":95,"column":45},"end":{"line":95,"column":46}},"loc":{"start":{"line":95,"column":55},"end":{"line":95,"column":99}},"line":95},"8":{"name":"(anonymous_8)","decl":{"start":{"line":99,"column":25},"end":{"line":99,"column":26}},"loc":{"start":{"line":99,"column":32},"end":{"line":101,"column":7}},"line":99},"9":{"name":"(anonymous_9)","decl":{"start":{"line":105,"column":25},"end":{"line":105,"column":26}},"loc":{"start":{"line":105,"column":46},"end":{"line":127,"column":7}},"line":105},"10":{"name":"(anonymous_10)","decl":{"start":{"line":106,"column":33},"end":{"line":106,"column":34}},"loc":{"start":{"line":106,"column":62},"end":{"line":126,"column":9}},"line":106},"11":{"name":"(anonymous_11)","decl":{"start":{"line":117,"column":31},"end":{"line":117,"column":32}},"loc":{"start":{"line":117,"column":37},"end":{"line":120,"column":11}},"line":117},"12":{"name":"(anonymous_12)","decl":{"start":{"line":122,"column":31},"end":{"line":122,"column":32}},"loc":{"start":{"line":122,"column":37},"end":{"line":125,"column":11}},"line":122},"13":{"name":"(anonymous_13)","decl":{"start":{"line":156,"column":39},"end":{"line":156,"column":40}},"loc":{"start":{"line":156,"column":57},"end":{"line":174,"column":7}},"line":156}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},"type":"if","locations":[{"start":{"line":16,"column":2},"end":{"line":19,"column":3}},{"start":{"line":16,"column":2},"end":{"line":19,"column":3}}],"line":16},"1":{"loc":{"start":{"line":54,"column":13},"end":{"line":54,"column":55}},"type":"binary-expr","locations":[{"start":{"line":54,"column":13},"end":{"line":54,"column":16}},{"start":{"line":54,"column":20},"end":{"line":54,"column":55}}],"line":54},"2":{"loc":{"start":{"line":85,"column":10},"end":{"line":85,"column":33}},"type":"if","locations":[{"start":{"line":85,"column":10},"end":{"line":85,"column":33}},{"start":{"line":85,"column":10},"end":{"line":85,"column":33}}],"line":85},"3":{"loc":{"start":{"line":95,"column":55},"end":{"line":95,"column":99}},"type":"binary-expr","locations":[{"start":{"line":95,"column":55},"end":{"line":95,"column":61}},{"start":{"line":95,"column":65},"end":{"line":95,"column":99}}],"line":95},"4":{"loc":{"start":{"line":109,"column":10},"end":{"line":111,"column":11}},"type":"if","locations":[{"start":{"line":109,"column":10},"end":{"line":111,"column":11}},{"start":{"line":109,"column":10},"end":{"line":111,"column":11}}],"line":109},"5":{"loc":{"start":{"line":113,"column":10},"end":{"line":115,"column":11}},"type":"if","locations":[{"start":{"line":113,"column":10},"end":{"line":115,"column":11}},{"start":{"line":113,"column":10},"end":{"line":115,"column":11}}],"line":113},"6":{"loc":{"start":{"line":142,"column":8},"end":{"line":144,"column":9}},"type":"if","locations":[{"start":{"line":142,"column":8},"end":{"line":144,"column":9}},{"start":{"line":142,"column":8},"end":{"line":144,"column":9}}],"line":142},"7":{"loc":{"start":{"line":168,"column":10},"end":{"line":170,"column":11}},"type":"if","locations":[{"start":{"line":168,"column":10},"end":{"line":170,"column":11}},{"start":{"line":168,"column":10},"end":{"line":170,"column":11}}],"line":168}},"s":{"0":1,"1":1,"2":1,"3":1,"4":2,"5":0,"6":0,"7":2,"8":2,"9":2,"10":2,"11":2,"12":4,"13":3,"14":3,"15":3,"16":3,"17":1,"18":1,"19":5,"20":5,"21":5,"22":5,"23":0,"24":5,"25":1,"26":1,"27":1,"28":1,"29":16,"30":16,"31":16,"32":0,"33":16,"34":16,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":16,"42":16,"43":16,"44":16,"45":16,"46":16,"47":6,"48":6,"49":6,"50":6,"51":6,"52":6,"53":6,"54":6,"55":6,"56":6,"57":1,"58":5,"59":1},"f":{"0":2,"1":3,"2":3,"3":1,"4":5,"5":5,"6":5,"7":1,"8":1,"9":16,"10":16,"11":0,"12":0,"13":6},"b":{"0":[0,2],"1":[3,3],"2":[0,5],"3":[1,1],"4":[0,16],"5":[16,0],"6":[16,0],"7":[1,5]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"6c4956db2f27610f4eb7284c7b87360e19c70dd1"}}