decode does not allow stubbing for unit test with libraries such as sinon
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript, node.js
Línea de trabajo
Empieza leyendo el commit 15a1bc449ab529d540eb9c2be4e093f9f5b0278d y localizando cómo se define decode en node-jsonwebtoken. Reproduce la reasignación directa mostrada en el issue, luego verifica que decode pueda modificarse sin el TypeError y añade cobertura para ese comportamiento.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Changes to how decode is defined in 9.0.0 (https://github.com/auth0/node-jsonwebtoken/commit/15a1bc449ab529d540eb9c2be4e093f9f5b0278d) prevent it from being altered for unit tests by tools such as sinon, or even direct alteration such as
jwt.decode = function() { return( 'teststring' ); };
As a result errors such as TypeError: Cannot redefine property: decode are thrown in these scenarios.
Other JWT libraries such as jose have added configurable: true to allow this scenario to succeed, which should probably be done here too:
- discussion: https://stackoverflow.com/a/64598197
- fix: https://github.com/panva/jose/commit/6c3b92f4394a5d7092d7336922eda61e311e6f8c
Reproduction
Test code such as
jwt.decode = function() { return( 'teststring' ); };
results in
TypeError: Cannot redefine property
Environment
- Version of this library used:
9.0.0 - Version of the platform or framework used, if applicable:
n/a - Other relevant versions (language, server software, OS, browser):
n/a - Other modules/plugins/libraries that might be involved:
n/a
- Lenguaje dominante
- JavaScript
- Estrellas
- 18.2k
- Forks
- 1.3k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de auth0/node-jsonwebtoken
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
auth0/node-jsonwebtoken#1042 · 1 comentario ·
-
`jwt.sign()` callback is executed twice for "The payload already has an "..." property" errors Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
auth0/node-jsonwebtoken#1000 · 2 comentarios · 1 reacción ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
auth0/node-jsonwebtoken#1048 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 65/100
auth0/node-jsonwebtoken#1046 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
auth0/node-jsonwebtoken#1034 ·
Todos los issues de auth0/node-jsonwebtoken
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
TheOdinProject/curriculum#31423 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
WGBH-MLA/dream-aapb#69 ·
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
Mintplex-Labs/anything-llm#6490 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
openlayers/ol-cesium#1364 ·