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);
}
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());
}
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) {
}
});
}
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) {
}
});
}
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);
}
Aggregations