@Test public void testSources() { // Create User user = serviceFacade.getUserManager().getUserByEMail("*****@*****.**"); // Connect facebook SocialSource src = new SocialSource(); serviceFacade.getSourceManager().connectSourceToUser(user, "123", "facebook", src); Assert.assertEquals(serviceFacade.getSourceManager().getRevokedSources(user.getId()).size(), 0); Assert.assertEquals(serviceFacade.getSourceManager().getAliveSources(user.getId()).size(), 1); Assert.assertNotEquals( serviceFacade.getSourceManager().getWaitingSources(user.getId()).get(0).getSourceCode(), "facebook"); Assert.assertEquals( serviceFacade.getUserManager().getDummyUserByExtCreds("123", "facebook"), null); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("123", "facebook"), user); Assert.assertEquals(serviceFacade.getUserManager().getUserByExtCreds("facebook", "123"), user); // Connect second source - twitter src = new SocialSource(); serviceFacade.getSourceManager().connectSourceToUser(user, "234", "twitter", src); Assert.assertEquals(serviceFacade.getSourceManager().getRevokedSources(user.getId()).size(), 0); Assert.assertEquals(serviceFacade.getSourceManager().getAliveSources(user.getId()).size(), 2); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 2); Assert.assertEquals( serviceFacade.getUserManager().getDummyUserByExtCreds("234", "twitter"), null); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("234", "twitter"), user); Assert.assertEquals(serviceFacade.getUserManager().getUserByExtCreds("twitter", "234"), user); // Update facebook token src = new SocialSource(); src.setAccessToken("acctoken"); serviceFacade.getSourceManager().connectSourceToUser(user, "123", "facebook", src); src = serviceFacade.getSourceManager().get(user.getId(), "facebook"); Assert.assertEquals(src.getUserId(), user.getId()); Assert.assertEquals(src.getExtId(), "123"); Assert.assertEquals(src.getAccessToken(), "acctoken"); // Create dummy user User user2 = new User(); user2.setExtId("123456"); user2.setSourceCode("vkontakte"); user2.setName("Eugene Zhulkov"); serviceFacade.getUserManager().create(user2); Assert.assertEquals( serviceFacade.getUserManager().getDummyUserByExtCreds("123456", "vkontakte"), user2); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("123456", "vkontakte"), null); Assert.assertEquals( serviceFacade.getUserManager().getUserByExtCreds("vkontakte", "123456"), user2); // Connect 3rd source - vkontakte src = new SocialSource(); serviceFacade.getSourceManager().connectSourceToUser(user, "123456", "vkontakte", src); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 3); Assert.assertEquals(serviceFacade.getUserManager().get(user2.getId()), null); Assert.assertEquals( serviceFacade.getUserManager().getDummyUserByExtCreds("123456", "vkontakte"), null); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("123456", "vkontakte"), user); Assert.assertEquals( serviceFacade.getUserManager().getUserByExtCreds("vkontakte", "123456"), user); // Revoke 1 source serviceFacade.getSourceManager().revokeSourceFromUser(user, "vkontakte"); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 3); Assert.assertEquals(serviceFacade.getSourceManager().getRevokedSources(user.getId()).size(), 1); Assert.assertEquals(serviceFacade.getSourceManager().getAliveSources(user.getId()).size(), 2); }