Ejemplo n.º 1
0
  @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);
  }