Search in sources :

Example 1 with FirebaseDatabase

use of com.google.firebase.database.FirebaseDatabase in project SpotiQ by ZinoKader.

the class AppModule method providePartiesRepository.

@Provides
@Singleton
PartiesRepository providePartiesRepository() {
    FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
    DatabaseReference databaseReference = firebaseDatabase.getReference().child(FirebaseConstants.CHILD_PARTYLIST);
    return new PartiesRepository(databaseReference);
}
Also used : FirebaseDatabase(com.google.firebase.database.FirebaseDatabase) DatabaseReference(com.google.firebase.database.DatabaseReference) PartiesRepository(se.zinokader.spotiq.repository.PartiesRepository) Singleton(javax.inject.Singleton) Provides(dagger.Provides)

Example 2 with FirebaseDatabase

use of com.google.firebase.database.FirebaseDatabase in project SEProject by NicholasBarreyre.

the class AccountManagerTest method offlineUserTest.

@Test
public void offlineUserTest() throws Exception {
    final User testUser = TestingHelper.createTestUser();
    AccountManager.createUser(testUser);
    sleep(1000);
    AccountManager.authenticate(testUser, TestingHelper.assertTrueBooleanResult());
    sleep(1000);
    AccountManager.setOnline(false);
    testUser.addUserExercise(TestingHelper.testExercise1);
    AccountManager.updateUser(testUser);
    AccountManager.getUser(testUser.getUsername(), new AccountManager.UserObjectListener() {

        @Override
        public void onUserPopulated(User user) {
            assertEquals(1, user.getUserExercises().size());
        }
    });
    // retrieve a reference to the users node
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference usersReference = database.getReference("users/" + testUser.getUsername());
    // attach a listener for data changes of the users reference.  this will occur when
    // the reference is populated
    usersReference.addListenerForSingleValueEvent(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            assertTrue(dataSnapshot.exists());
            if (dataSnapshot.exists()) {
                assertTrue(dataSnapshot.getValue(User.class).getUserExercises().isEmpty());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
    sleep(1000);
    AccountManager.deleteUser(testUser, TestingHelper.assertTrueBooleanResult());
}
Also used : FirebaseDatabase(com.google.firebase.database.FirebaseDatabase) DatabaseError(com.google.firebase.database.DatabaseError) DatabaseReference(com.google.firebase.database.DatabaseReference) ValueEventListener(com.google.firebase.database.ValueEventListener) DataSnapshot(com.google.firebase.database.DataSnapshot) Test(org.junit.Test)

Example 3 with FirebaseDatabase

use of com.google.firebase.database.FirebaseDatabase in project SEProject by NicholasBarreyre.

the class AccountManagerTest method setUserLoggedInTrueTest.

/**
 * Tests that a user that has been authenticated is tagged as logged in
 *
 * Will pass if there exists a child node in the online_users reference equal to the users
 * username.
 *
 * @throws Exception
 */
@Test
public void setUserLoggedInTrueTest() throws Exception {
    // create a test user and set them as online
    User testUser = TestingHelper.createTestUser();
    sleep(3000);
    AccountManager.setUserLoginState(testUser.getUsername(), true);
    sleep(3000);
    // attempt to retrieve a reference to the logged in user
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference usersReference = database.getReference("online_users/" + testUser.getUsername());
    // attach a listener for data changes of the users reference.  this will occur when
    // the reference is populated
    usersReference.addListenerForSingleValueEvent(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // if the reference exists, then the user is tagged as logged in
            assertTrue("Expecting non-empty result from database, but no data returned...", dataSnapshot.exists());
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}
Also used : FirebaseDatabase(com.google.firebase.database.FirebaseDatabase) DatabaseError(com.google.firebase.database.DatabaseError) DatabaseReference(com.google.firebase.database.DatabaseReference) ValueEventListener(com.google.firebase.database.ValueEventListener) DataSnapshot(com.google.firebase.database.DataSnapshot) Test(org.junit.Test)

Example 4 with FirebaseDatabase

use of com.google.firebase.database.FirebaseDatabase in project SEProject by NicholasBarreyre.

the class AccountManagerTest method getUserSuccessTest.

/**
 * Tests the successful generation of a user object instance from user account information
 * in the database.
 *
 * Will pass if user object is populated with the user information from the database
 *
 * @throws Exception
 */
@Test
public void getUserSuccessTest() throws Exception {
    // construct a test user and add them to the accounts list for testing
    final User testUser = TestingHelper.createTestUser();
    AccountManager.createUser(testUser);
    // retrieve a reference to the users node
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference usersReference = database.getReference("users/" + testUser.getUsername());
    // attach a listener for data changes of the users reference.  this will occur when
    // the reference is populated
    usersReference.addListenerForSingleValueEvent(new ValueEventListener() {

        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            // if the reference exists, convert it to a user instance and pass to listener
            // otherwise return null
            assertTrue(dataSnapshot.exists());
            if (dataSnapshot.exists()) {
                User user = dataSnapshot.getValue(User.class);
                assertNotNull("Expecting username " + testUser.getUsername() + ", but seen null", user);
                assertEquals("Expecting username " + testUser.getUsername() + ", but seen " + user.getUsername(), user.getUsername(), testUser.getUsername());
                // delete test user from database
                AccountManager.deleteUser(testUser, TestingHelper.assertTrueBooleanResult());
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    });
}
Also used : FirebaseDatabase(com.google.firebase.database.FirebaseDatabase) DatabaseError(com.google.firebase.database.DatabaseError) DatabaseReference(com.google.firebase.database.DatabaseReference) ValueEventListener(com.google.firebase.database.ValueEventListener) DataSnapshot(com.google.firebase.database.DataSnapshot) Test(org.junit.Test)

Example 5 with FirebaseDatabase

use of com.google.firebase.database.FirebaseDatabase in project SEProject by NicholasBarreyre.

the class TestingHelper method resetTestUserExercises.

/**
 * Test helper to reset the testuser's exercise list
 */
public static void resetTestUserExercises() {
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference usersReference = database.getReference("users/testuser");
    usersReference.child("userExercises").setValue(null);
}
Also used : FirebaseDatabase(com.google.firebase.database.FirebaseDatabase) DatabaseReference(com.google.firebase.database.DatabaseReference)

Aggregations

FirebaseDatabase (com.google.firebase.database.FirebaseDatabase)53 DatabaseReference (com.google.firebase.database.DatabaseReference)49 DatabaseError (com.google.firebase.database.DatabaseError)28 DataSnapshot (com.google.firebase.database.DataSnapshot)26 ValueEventListener (com.google.firebase.database.ValueEventListener)24 ArrayList (java.util.ArrayList)7 FirebaseUser (com.google.firebase.auth.FirebaseUser)6 ListView (android.widget.ListView)5 Test (org.junit.Test)5 TextView (android.widget.TextView)4 Intent (android.content.Intent)3 View (android.view.View)3 Query (com.google.firebase.database.Query)3 Provides (dagger.Provides)3 SharedPreferences (android.content.SharedPreferences)2 AdapterView (android.widget.AdapterView)2 Product (com.example.asus.onlinecanteen.model.Product)2 ChildEventListener (com.google.firebase.database.ChildEventListener)2 HashMap (java.util.HashMap)2 Before (org.junit.Before)2