@@ -29,52 +29,81 @@ func TestRecoverAuthorityFromSignatureHeaders(t *testing.T) {
2929 assert .Equal (t , "0x7d273271690538cf855e5b3002a0dd8c154bb060" , wallet )
3030}
3131
32- func TestRequireAuthMiddleware (t * testing.T ) {
33- // Create a dummy endpoint to test the requireAuthMiddleware
32+ func TestAuthorized (t * testing.T ) {
33+ // Create a dummy endpoint to test the authMiddleware
3434 testApp := fiber .New ()
35- testApp .Get ("/" , app .resolveMyIdMiddleware , app .authMiddleware , app .requireAuthMiddleware , func (c * fiber.Ctx ) error {
35+ testApp .Get ("/" , app .resolveMyIdMiddleware , app .authMiddleware , func (c * fiber.Ctx ) error {
36+ return c .SendStatus (fiber .StatusOK )
37+ })
38+ testApp .Get ("/account/:wallet" , app .resolveMyIdMiddleware , app .authMiddleware , func (c * fiber.Ctx ) error {
3639 return c .SendStatus (fiber .StatusOK )
3740 })
38-
39- // Unauthorized when no auth headers
40- req1 := httptest .NewRequest ("GET" , "/" , nil )
41- res , err := testApp .Test (req1 , - 1 )
42- assert .NoError (t , err )
43- assert .Equal (t , fiber .StatusUnauthorized , res .StatusCode )
4441
4542 // Forbidden when not authorized
46- req2 := httptest .NewRequest ("GET" , "/?user_id=1 " , nil )
43+ req := httptest .NewRequest ("GET" , "/?user_id=7eP5n " , nil )
4744 // wallet: 0x681c616ae836ceca1effe00bd07f2fdbf9a082bc
48- req2 .Header .Set ("Encoded-Data-Message" , "signature:1745543704165" )
49- req2 .Header .Set ("Encoded-Data-Signature" , "0x4af765948dccd72026f1059a59c7a6a1172628255d7d387d1590c0fe43961c5908fc6011443805ca0dbd39156300c04dc21bbfa9adce50acea9ad29a7e2fde2a1b" )
50- res , err = testApp .Test (req2 , - 1 )
45+ req .Header .Set ("Encoded-Data-Message" , "signature:1745543704165" )
46+ req .Header .Set ("Encoded-Data-Signature" , "0x4af765948dccd72026f1059a59c7a6a1172628255d7d387d1590c0fe43961c5908fc6011443805ca0dbd39156300c04dc21bbfa9adce50acea9ad29a7e2fde2a1b" )
47+ res , err : = testApp .Test (req , - 1 )
5148 assert .NoError (t , err )
5249 assert .Equal (t , fiber .StatusForbidden , res .StatusCode )
5350
5451 // Forbidden when grant is revoked
55- req3 : = httptest .NewRequest ("GET" , "/?user_id=1 " , nil )
52+ req = httptest .NewRequest ("GET" , "/?user_id=7eP5n " , nil )
5653 // wallet: 0xc451c1f8943b575158310552b41230c61844a1c1
57- req3 .Header .Set ("Encoded-Data-Message" , "signature:1745542789211" )
58- req3 .Header .Set ("Encoded-Data-Signature" , "0xffd5f92c0d253c7222cd407cf3398fac664530ef968bd4435ea698ba1daee1d73353330848b65d212eeeaae9f41e177e49078c4efa1131e5e517090626f6dd961c" )
59- res , err = testApp .Test (req3 , - 1 )
54+ req .Header .Set ("Encoded-Data-Message" , "signature:1745542789211" )
55+ req .Header .Set ("Encoded-Data-Signature" , "0xffd5f92c0d253c7222cd407cf3398fac664530ef968bd4435ea698ba1daee1d73353330848b65d212eeeaae9f41e177e49078c4efa1131e5e517090626f6dd961c" )
56+ res , err = testApp .Test (req , - 1 )
6057 assert .NoError (t , err )
6158 assert .Equal (t , fiber .StatusForbidden , res .StatusCode )
6259
6360 // Authorized when grant is approved
64- req4 : = httptest .NewRequest ("GET" , "/?user_id=1 " , nil )
61+ req = httptest .NewRequest ("GET" , "/?user_id=7eP5n " , nil )
6562 // wallet: 0x5f1a372b28956c8363f8bc3a231a6e9e1186ead8
66- req4 .Header .Set ("Encoded-Data-Message" , "signature:1745544459796" )
67- req4 .Header .Set ("Encoded-Data-Signature" , "0x1c9cb405d8437d28ff5596918551f7a45f981e81618d65ee10892313292a8c7a325af002231d115b28ca2d244b082abe1bde4a7d9610f8140d3738a9be5c4fd91b" )
68- res , err = testApp .Test (req4 , - 1 )
63+ req .Header .Set ("Encoded-Data-Message" , "signature:1745544459796" )
64+ req .Header .Set ("Encoded-Data-Signature" , "0x1c9cb405d8437d28ff5596918551f7a45f981e81618d65ee10892313292a8c7a325af002231d115b28ca2d244b082abe1bde4a7d9610f8140d3738a9be5c4fd91b" )
65+ res , err = testApp .Test (req , - 1 )
6966 assert .NoError (t , err )
7067 assert .Equal (t , fiber .StatusOK , res .StatusCode )
7168
7269 // Authorized when own user
73- req5 : = httptest .NewRequest ("GET" , "/?user_id=1 " , nil )
70+ req = httptest .NewRequest ("GET" , "/?user_id=7eP5n " , nil )
7471 // wallet: 0x7d273271690538cf855e5b3002a0dd8c154bb060
75- req5 .Header .Set ("Encoded-Data-Message" , "signature:1744763856446" )
76- req5 .Header .Set ("Encoded-Data-Signature" , "0xbb202be3a7f3a0aa22c1458ef6a3f2f8360fb86791c7b137e8562df0707825c11fa1db01096efd2abc5e6613c4d1e8d4ae1e2b993abdd555fe270c1b17bff0d21c" )
77- res , err = testApp .Test (req5 , - 1 )
72+ req .Header .Set ("Encoded-Data-Message" , "signature:1744763856446" )
73+ req .Header .Set ("Encoded-Data-Signature" , "0xbb202be3a7f3a0aa22c1458ef6a3f2f8360fb86791c7b137e8562df0707825c11fa1db01096efd2abc5e6613c4d1e8d4ae1e2b993abdd555fe270c1b17bff0d21c" )
74+ res , err = testApp .Test (req , - 1 )
75+ assert .NoError (t , err )
76+ assert .Equal (t , fiber .StatusOK , res .StatusCode )
77+
78+ // Forbidden when not authorized to act on behalf of requested wallet
79+ req = httptest .NewRequest ("GET" , "/account/0x111c616ae836ceca1effe00bd07f2fdbf9a082bc" , nil )
80+ // wallet: 0x681c616ae836ceca1effe00bd07f2fdbf9a082bc
81+ req .Header .Set ("Encoded-Data-Message" , "signature:1745543704165" )
82+ req .Header .Set ("Encoded-Data-Signature" , "0x4af765948dccd72026f1059a59c7a6a1172628255d7d387d1590c0fe43961c5908fc6011443805ca0dbd39156300c04dc21bbfa9adce50acea9ad29a7e2fde2a1b" )
83+ res , err = testApp .Test (req , - 1 )
84+ assert .NoError (t , err )
85+ assert .Equal (t , fiber .StatusForbidden , res .StatusCode )
86+
87+ // Authorized when requesting wallet matches authed wallet
88+ req = httptest .NewRequest ("GET" , "/account/0x681c616ae836ceca1effe00bd07f2fdbf9a082bc" , nil )
89+ // wallet: 0x681c616ae836ceca1effe00bd07f2fdbf9a082bc
90+ req .Header .Set ("Encoded-Data-Message" , "signature:1745543704165" )
91+ req .Header .Set ("Encoded-Data-Signature" , "0x4af765948dccd72026f1059a59c7a6a1172628255d7d387d1590c0fe43961c5908fc6011443805ca0dbd39156300c04dc21bbfa9adce50acea9ad29a7e2fde2a1b" )
92+ res , err = testApp .Test (req , - 1 )
7893 assert .NoError (t , err )
7994 assert .Equal (t , fiber .StatusOK , res .StatusCode )
8095}
96+
97+ func TestRequireAuthMiddleware (t * testing.T ) {
98+ // Create a dummy endpoint to test the requireAuthMiddleware
99+ testApp := fiber .New ()
100+ testApp .Get ("/" , app .resolveMyIdMiddleware , app .authMiddleware , app .requireAuthMiddleware , func (c * fiber.Ctx ) error {
101+ return c .SendStatus (fiber .StatusOK )
102+ })
103+
104+ // Unauthorized when no auth headers
105+ req1 := httptest .NewRequest ("GET" , "/" , nil )
106+ res , err := testApp .Test (req1 , - 1 )
107+ assert .NoError (t , err )
108+ assert .Equal (t , fiber .StatusUnauthorized , res .StatusCode )
109+ }
0 commit comments