@Test
public void getFullUnpublicationInfos() throws RepositoryException {

    getCleanSession();
    // given a published node with 2 translations
    JCRNodeWrapper enContent = englishEditSession.getNode(testHomeEdit.getPath()).addNode("testNode", "jnt:text");
    enContent.setProperty("text", INITIAL_ENGLISH_TEXT_NODE_PROPERTY_VALUE);
    englishEditSession.save();
    frenchEditSession.getNode(enContent.getPath()).setProperty("text", INITIAL_FRENCH_TEXT_NODE_PROPERTY_VALUE);
    frenchEditSession.save();
    // When I publish the content in all languages.
    publicationService.publishByMainId(enContent.getIdentifier());
    // Then the info in english should have one entry with no shared node and translation node set
    ResultInfo result = new ResultInfo(enContent.getI18N(Locale.ENGLISH).getIdentifier(), null);
    checkPublicationInfos(Collections.singletonList(enContent.getIdentifier()), Arrays.asList(Locale.ENGLISH.toString()), systemEditSession, Collections.singletonList(result));
    // Then the info in all languages should contain 2 results
    ResultInfo result1 = new ResultInfo(enContent.getI18N(Locale.ENGLISH).getIdentifier(), null);
    ResultInfo result2 = new ResultInfo(enContent.getI18N(Locale.FRENCH).getIdentifier(), null);
    checkPublicationInfos(Collections.singletonList(enContent.getIdentifier()), Arrays.asList(Locale.ENGLISH.toString(), Locale.FRENCH.toString()), systemEditSession, Arrays.asList(result1, result2));
    // When the node is unpublished in english
    publicationService.unpublish(Collections.singletonList(enContent.getI18N(Locale.ENGLISH).getIdentifier()));
    // Then info in french should have one entry with no shared node and translation node set
    result = new ResultInfo(enContent.getI18N(Locale.FRENCH).getIdentifier(), null);
    checkPublicationInfos(Collections.singletonList(enContent.getIdentifier()), Arrays.asList(Locale.FRENCH.toString()), systemEditSession, Collections.singletonList(result));
    // When querying info in english, Then the result should be empty
    checkPublicationInfos(Collections.singletonList(enContent.getIdentifier()), Arrays.asList(Locale.ENGLISH.toString()), systemEditSession, Collections.emptyList());
    // Then the info in all languages should contain 1 result
    checkPublicationInfos(Collections.singletonList(enContent.getIdentifier()), Arrays.asList(Locale.ENGLISH.toString(), Locale.FRENCH.toString()), systemEditSession, Arrays.asList(result2));
}