@@ -3,6 +3,8 @@ describe('object-hmac test suite', () => {
3
3
const objectHmac = require ( '../object-hmac' ) ;
4
4
const testKey = 'HmacSecret-0815' ;
5
5
const testHmac = 'bb83e36f2c030af71803fd6a82b49ea638944bb6638351754a967f4f5638ac3b' ;
6
+ const testHmacAttribute = '__hmac' ;
7
+ const testHmacAttributeDifferent = '_signature' ;
6
8
var testObjects = null ;
7
9
8
10
beforeEach ( ( ) => {
@@ -18,9 +20,17 @@ describe('object-hmac test suite', () => {
18
20
19
21
it ( 'tests a successful HMAC creation for an object' , async ( done ) => {
20
22
let obj = testObjects . testObject ;
21
- expect ( obj [ '__hmac' ] ) . toBeUndefined ( ) ;
23
+ expect ( obj [ testHmacAttribute ] ) . toBeUndefined ( ) ;
22
24
objectHmac . createHmac ( obj , testKey ) ;
23
- expect ( obj [ '__hmac' ] ) . toStrictEqual ( testHmac ) ;
25
+ expect ( obj [ testHmacAttribute ] ) . toStrictEqual ( testHmac ) ;
26
+ done ( ) ;
27
+ } ) ;
28
+
29
+ it ( 'tests a successful HMAC creation for an object with a different attribute name' , async ( done ) => {
30
+ let obj = testObjects . testObject ;
31
+ expect ( obj [ testHmacAttributeDifferent ] ) . toBeUndefined ( ) ;
32
+ objectHmac . createHmac ( obj , testKey , testHmacAttributeDifferent ) ;
33
+ expect ( obj [ testHmacAttributeDifferent ] ) . toStrictEqual ( testHmac ) ;
24
34
done ( ) ;
25
35
} ) ;
26
36
@@ -29,6 +39,16 @@ describe('object-hmac test suite', () => {
29
39
done ( ) ;
30
40
} ) ;
31
41
42
+ it ( 'test a successful HMAC verification with a different attribute name' , async ( done ) => {
43
+ expect ( objectHmac . verifyHmac ( testObjects . testObjectWithHmacDifferentAttribute , testKey , testHmacAttributeDifferent ) ) . toBeTruthy ( ) ;
44
+ done ( ) ;
45
+ } ) ;
46
+
47
+ it ( 'test a failed HMAC verification - different attribute name' , async ( done ) => {
48
+ expect ( objectHmac . verifyHmac ( testObjects . testObjectWithHmac , testKey , testHmacAttributeDifferent ) ) . toBeFalsy ( ) ;
49
+ done ( ) ;
50
+ } ) ;
51
+
32
52
it ( 'test a failed HMAC verification - no HMAC provided for object' , async ( done ) => {
33
53
expect ( objectHmac . verifyHmac ( testObjects . testObject , testKey ) ) . toBeFalsy ( ) ;
34
54
done ( ) ;
0 commit comments