@Test public void testSocial() { // Create User user = serviceFacade.getUserManager().getUserByEMail("*****@*****.**"); // Connect social sources User user2; user2 = serviceFacade.getUserManager().getUserBySocialSource("1234", "facebook"); Assert.assertNull(user2); SocialSource token = serviceFacade.getSourceManager().get(user.getId(), "facebook"); Assert.assertNull(token); token = new SocialSource(); token.setSourceCode("facebook"); token.setExtId("1234"); token.setUserId(user.getId()); serviceFacade.getSourceManager().create(token); token = new SocialSource(); token.setSourceCode("vkontakte"); token.setExtId("4321"); token.setUserId(user.getId()); serviceFacade.getSourceManager().create(token); // Get named source for user token = serviceFacade.getSourceManager().get(user.getId(), "facebook"); Assert.assertNotNull(token); Assert.assertEquals(token.getExtId(), "1234"); token = serviceFacade.getSourceManager().get(user.getId(), "vkontakte"); Assert.assertNotNull(token); Assert.assertEquals(token.getExtId(), "4321"); // Get user by social creds user2 = serviceFacade.getUserManager().getUserBySocialSource("1234", "facebook"); Assert.assertNotNull(user2); Assert.assertEquals(user2.getId(), user.getId()); user2 = serviceFacade.getUserManager().getUserBySocialSource("4321", "vkontakte"); Assert.assertNotNull(user2); Assert.assertEquals(user2.getId(), user.getId()); // Get all sources for user List<SocialSource> sources = serviceFacade.getSourceManager().getAll(user.getId()); Assert.assertNotNull(sources); Assert.assertEquals(sources.size(), 2); // Create another user User user3 = new User(); user3.setEmail("*****@*****.**"); user3.setName("Eugene Zhulkov"); serviceFacade.getUserManager().create(user3); // Connect 3 nets SocialSource token1 = new SocialSource(); token1.setSourceCode("facebook"); token1.setExtId("12342"); token1.setUserId(user3.getId()); serviceFacade.getSourceManager().create(token1); SocialSource token2 = new SocialSource(); token2.setSourceCode("vkontakte"); token2.setExtId("43212"); token2.setUserId(user3.getId()); serviceFacade.getSourceManager().create(token2); SocialSource token3 = new SocialSource(); token3.setSourceCode("twitter"); token3.setExtId("11112"); token3.setUserId(user3.getId()); serviceFacade.getSourceManager().create(token3); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 2); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user3.getId()).size(), 3); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("12342", "facebook").getId(), user3.getId()); Assert.assertEquals( serviceFacade.getUserManager().getUserBySocialSource("1234", "facebook").getId(), user.getId()); // Disconnect sources serviceFacade .getSourceManager() .disconnectSourceFromUser(user, SocialSource.SourceType.OAUTH, token1.getSourceCode()); serviceFacade .getSourceManager() .disconnectSourceFromUser(user3, SocialSource.SourceType.OAUTH, token1.getSourceCode()); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 1); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user3.getId()).size(), 2); serviceFacade .getSourceManager() .disconnectSourceFromUser(user, SocialSource.SourceType.OAUTH, token2.getSourceCode()); serviceFacade .getSourceManager() .disconnectSourceFromUser(user3, SocialSource.SourceType.OAUTH, token2.getSourceCode()); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 0); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user3.getId()).size(), 1); serviceFacade .getSourceManager() .disconnectSourceFromUser(user, SocialSource.SourceType.OAUTH, token3.getSourceCode()); serviceFacade .getSourceManager() .disconnectSourceFromUser(user3, SocialSource.SourceType.OAUTH, token3.getSourceCode()); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user.getId()).size(), 0); Assert.assertEquals(serviceFacade.getSourceManager().getAll(user3.getId()).size(), 0); }