loopbackio / loopbackio/loopback-next

lb3app boot scrip defined role not run when running tests

Abierto
#7,098 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug
Lenguaje dominante
TypeScript
Estrellas
5.1k
Forks
1.1k
Merge medio
2 d 21 h
PR fusionados (30 d)
27

Descripción

Steps to reproduce

  • Create boot script: /lb3app/server/boot/role.js
module.exports = async function(app) {
  var Role = app.models.Role;

  Role.registerResolver('testrole', function(role, ctx, cb) {
    console.log('testrole');

    process.nextTick(function() {
      cb(null, true);
    });
  });
};

Add it to a model json "acls" definition:

    {
      "accessType": "EXECUTE",
      "principalType": "ROLE",
      "principalId": "$unauthenticated",
      "permission": "DENY",
      "property": "create"
    },
    {
      "accessType": "EXECUTE",
      "principalType": "ROLE",
      "principalId": "testrole",
      "permission": "ALLOW",
      "property": "create"
    }

Current Behavior

Running a test to create a resource on the model returns 401 error.

Expected Behavior

Running a test to create a resource on the model should be successful with 200 status.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el problema con /lb3app/server/boot/role.js, las entradas ACL de model JSON y una prueba que cree el recurso. Rastrea cómo se cargan los scripts de arranque cuando se inician las pruebas y verifica que el resolver testrole esté registrado; se considera terminado cuando la solicitud de creación devuelve HTTP 200 en lugar de 401.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
javascript, node.js
Área
authorization
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.