Commits
Benoit St-Pierre authored and GitHub committed 54659e8d99a
Database Interop Rollforward (#2095) * Register Database with Interop + Add AuthInterop dependency + Have Database register with Interop component container + Add weak dependency on Auth ~ Cleaned up imports * Use Interop for Auth token fetching + Use macro to get auth component ~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth ~ Clean up imports * Implement necessary protocols + Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase * Squash of my previous local commits for Database Interop Register Database with Interop: + Add AuthInterop dependency + Have Database register with Interop component container + Add weak dependency on Auth ~ Cleaned up imports Use Interop for Auth token fetching: + Use macro to get auth component ~ Change `getTokenForcingRefresh:withCallback:` call to use Interop component version of Auth ~ Clean up imports Implement necessary protocols: + Added FIRComponentRegistrant and FIRDatabaseNilProtocol to FIRDatabase Clean up Database tests: - Removed all unnecessary header files ~ Ran style.sh across all the tests Cleaned Up project file: Some header removals were missed in the last commit. Sorted some test files Fix Database Fake App Tests: + Added container property + Added an Auth fake in the container + Added the Shared utils files to the necessary targets + Added a missing XCTest reference in a test that didn't compile for me * Revert "Squash of my previous local commits for Database Interop" This reverts commit c0d0421237e3fb4be8afef22f99a0e5631f8cb9d. * Cleaned Up project file Some header removals were missed in the last commit. * Sorted some test files * Fix Database Fake App Tests + Added container property + Added an Auth fake in the container + Added the Shared utils files to the necessary targets + Added a missing XCTest reference in a test that didn't compile for me * PR Feedback Changes + Created new FIRDatabaseComponent class to encapsulate instance creation + Updated FAuthTokenProvider to only use an auth instance rather than an app. * PR Feedback Follow-Up - Removed FIRDatabase registration code * pod deintegrate * Move instance management Somes tests may still be out of date. * Fix Auth integration test * pod deintegrate -- again * PR Feedback * PR Feedback Added the FIRComponentLifecycleMaintainer protocol to FIRDatabaseComponent * Update Firebase/Database/Api/FIRDatabaseComponent.m Missed some small changes * Get integration tests compiling * Fix some tests * Fixed more tests Component needs to be cacheable in order to get the appWIllBeDeleted callback. * Update target memberships * Revert project file changes * Add FIRAuthInteropFake for broken targets * PR feedback * Spacing and Style * Moved `instances` to ivar * Simplify FIRDatabaseDictionary It's now keyed on the URL with the app being implied since each app will get its own `FIRDatabaseComponent` * Fix Database Integration Tests Have the FakeApp cache DB instances Use the Full host/URL path to cache DB instances Simplified shared scheme ``` Test Suite 'Database_IntegrationTests_iOS.xctest' passed at 2018-11-20 07:09:30.520. Executed 326 tests, with 0 failures (0 unexpected) in 66.251 (66.528) seconds Test Suite 'All tests' passed at 2018-11-20 07:09:30.522. Executed 326 tests, with 0 failures (0 unexpected) in 66.251 (66.530) seconds ``` * Clarify defaultApp use