firebase / firebase/quickstart-testing

example code passes incorrectly

Abierto
#334 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
368
Forks
125
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

The function, expectPermissionGetSucceeds, can pass when it shouldn't.

https://github.com/firebase/quickstart-testing/blob/6ac0acf396e87e2588223151e8f0b4cf307a5e84/unit-test-security-rules-v9/test/utils.ts#L61

If your READ permissions return a PERMISSION_DENIED, then the getDoc promise will return the error code. however since this only expects that promise.not.toBeUndefined, then the error code meets that criteria.

I fixed locally by just adding the second check to make sure that the error code != PERMISSION_DENIED

```
export async function expectPermissionGetSucceeds(promise: Promise) {
const successResult = await assertSucceeds(promise);
expect(successResult).not.toBeUndefined();
expect(successResult.code).not.toBe('permission-denied' || 'PERMISSION_DENIED');
}
```

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

El punto de entrada afectado es expectPermissionGetSucceeds en test/utils.ts, en la línea enlazada. Lee cómo assertSucceeds y getDoc representan los resultados de permiso denegado y, después, reproduce el caso de READ denegado. Se considera terminado cuando el helper falla en lugar de pasar cuando la lectura devuelve PERMISSION_DENIED.

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

Evaluación

Stack tecnológico
firebase, typescript
Área
security, testing
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
48/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.