Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

live testing for Firebase parity #63

Closed
mhuebert opened this issue Oct 22, 2016 · 3 comments
Closed

live testing for Firebase parity #63

mhuebert opened this issue Oct 22, 2016 · 3 comments
Milestone

Comments

@mhuebert
Copy link
Contributor

mhuebert commented Oct 22, 2016

I suggest we set up async tests that run against a live Firebase database. We currently have a number of known inconsistencies, and Firebase rule evaluation itself can change without notice.

@dinoboff dinoboff added this to the 3.0 milestone Nov 1, 2016
@dinoboff
Copy link
Collaborator

dinoboff commented Dec 1, 2016

#91 has some limitation:

  • It uses the REST API.
  • it uses the legacy secret key authentication.
  • It's very slow to run. It only record evaluation of some rules from a live Firebase DB in test/spec/lib/parser/fixtures.json.
  • it doesn't test read or write operation. It only test how a rule is parsed and evaluated by Firebase; it doesn't test which rules should be read during a read/write operation.
  • the rule is tested in a read operation context; it doesn't have access to newData.
  • the path of rule getting parsed is not predictable when using wildchildren; it should only use root to test snapshot behaviours.

@mhuebert is it ok?

@dinoboff
Copy link
Collaborator

dinoboff commented Dec 9, 2016

There's now a daily cron job checking behaviour changes targaryen assumptions about the parser.

It running on travis and slow the test by 30s only. I tried on semaphoreci which has better cron support by requests to firebase is slow; the tests were taken +4min to run.

@mhuebert
Copy link
Contributor Author

Very happy to see this in here! 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants