firebase / firebase/quickstart-testing
example code passes incorrectly
- 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
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