Exemple #1
0
  @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);
  }