Эмулятор базы данных в реальном времени игнорирует database.rules. json - PullRequest
1 голос
/ 19 июня 2020

У меня есть проект Firebase, который использует базу данных реального времени, и я пытаюсь настроить локальный эмулятор для тестирования. К сожалению, похоже, что Firebase-cli получает мой файл database.rules.json. Это происходит даже после создания тестового проекта для решения этой конкретной c проблемы.

Позвольте мне дать вам некоторую информацию о моей настройке.

Я создал проект Firebase, но ничего не активировано. Я создал пустой каталог на своем локальном компьютере и запустил firebase init database. В результате было создано несколько файлов:

.firebaserc

{
  "projects": {
    "default": "emulators-test-244be"
  }
}

firebase.json

{
  "database": {
    "rules": "database.rules.json"
  }
}

database.rules.json (я изменил правила, чтобы заблокировать database)

{
  "rules": {
    ".read": false,
    ".write": false
  }
}

Когда я запускаю эмулятор, используя firebase emulators:start --only database, консоль сообщает мне, что база данных успешно инициализирована. Однако, когда я захожу в http://localhost:9000/.inspect/coverage?ns=emulators-test-244be для просмотра загруженных в настоящее время правил безопасности, он дает следующий результат:

{
    "rules": {
        ".read": true,
        ".write": true
    }
}

Очевидно, это прямо противоречит правилам, которые я установил в файле database.rules.json.

Я заметил одну вещь: если я изменяю файл database.rules.json во время работы эмулятора, я получаю следующий вывод из консоли:

i database: Change detected, updating rules for undefined...

Очевидно, это заставляет эмулятор создать новую базу данных с именем undefined. Когда я от go до http://localhost:9000/.inspect/coverage?ns=undefined, вывод правильно отражает то, что я установил в моем database.rules.json файле.

Почему это происходит? Я неправильно настраиваю свой локальный проект Firebase? Или есть ошибка в интерфейсе командной строки Firebase? Я просмотрел документы Firebase, Stack Overflow и Google. Я ничего не нашел.

У меня есть версия инструментов firebase 8.4.3.

ОБНОВЛЕНИЕ

После поиска проблем на firebase-tools Репозиторий GitHub, похоже, это ошибка.

Ссылка здесь: https://github.com/firebase/firebase-tools/issues/2371

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...