@Test public void testChanges_reduntantLinksAndTags() { ChangesContext changes = new ChangesContext(); JunitResource r1 = new JunitResource("reduntant_1"); JunitResource r2 = new JunitResource("reduntant_2"); changes.getResourcesToAdd().add(r1); changes.getResourcesToAdd().add(r2); changes.getLinksToAdd().add(new Tuple3<>(r1, "link1", r2)); changes.getLinksToAdd().add(new Tuple3<>(r1, "link1", r2)); changes.getLinksToAdd().add(new Tuple3<>(r1, "link2", r2)); changes.getTagsToAdd().add(new Tuple2<>(r1, "tag1")); changes.getTagsToAdd().add(new Tuple2<>(r1, "tag1")); changes.getTagsToAdd().add(new Tuple2<>(r1, "tag2")); getInternalServicesContext().getInternalChangeService().changesExecute(changes); // Check IPResourceService resourceService = getCommonServicesContext().getResourceService(); r1 = resourceService.resourceFindByPk(r1).get(); r2 = resourceService.resourceFindByPk(r2).get(); Assert.assertEquals(Arrays.asList("link1", "link2"), resourceService.linkFindAllByFromResource(r1).stream().map(it -> it.getA()).sorted().collect(Collectors.toList())); Assert.assertEquals(Arrays.asList("tag1", "tag2"), resourceService.tagFindAllByResource(r1).stream().sorted().collect(Collectors.toList())); }
public static void createFakeData(InternalServicesContext ctx) { // JunitResource ChangesContext changes = new ChangesContext(); JunitResource junitResource = new JunitResource("www.example.com", JunitResourceEnum.A, 1); changes.getResourcesToAdd().add(junitResource); changes.getTagsToAdd().addAll(Arrays.asList( // new Tuple2<>(junitResource, "tag1"), // new Tuple2<>(junitResource, "asite"))); junitResource = new JunitResource("www.example.com", JunitResourceEnum.A, 2); changes.getResourcesToAdd().add(junitResource); changes.getTagsToAdd().addAll(Arrays.asList( // new Tuple2<>(junitResource, "asite"))); changes.getResourcesToAdd().add(new JunitResource("example.com", JunitResourceEnum.B, 3)); changes.getResourcesToAdd().add(new JunitResource("t1_aaa", JunitResourceEnum.A, DateTools.parseFull("2000-01-01 00:00:00"), 1, 1L, 1.0, 1.0f, true, "one", "two")); changes.getResourcesToAdd().add(new JunitResource("t2_aaa", JunitResourceEnum.C, DateTools.parseFull("2000-06-01 00:00:00"), 5, 8L, 1.5, 7.3f, false, "one", "three")); changes.getResourcesToAdd().add(new JunitResource("zz", JunitResourceEnum.B, DateTools.parseFull("2000-04-01 00:00:00"), 80, 4L, 77.6, 3.1f, true)); ctx.getInternalChangeService().changesExecute(changes); }
@Test public void testChanges_linksAndTagsAreNotKeptWhenDeleted() { // Create ChangesContext changes = new ChangesContext(); JunitResource r1 = new JunitResource("1"); JunitResource r2 = new JunitResource("2"); changes.getResourcesToAdd().add(r1); changes.getResourcesToAdd().add(r2); changes.getLinksToAdd().add(new Tuple3<>(r1, "link1", r2)); changes.getTagsToAdd().add(new Tuple2<>(r1, "tag1")); getInternalServicesContext().getInternalChangeService().changesExecute(changes); IPResourceService resourceService = getCommonServicesContext().getResourceService(); r1 = resourceService.resourceFindByPk(r1).get(); r2 = resourceService.resourceFindByPk(r2).get(); Assert.assertEquals(Arrays.asList("link1"), resourceService.linkFindAllByFromResource(r1).stream().map(it -> it.getA()).sorted().collect(Collectors.toList())); Assert.assertEquals(Arrays.asList("tag1"), resourceService.tagFindAllByResource(r1).stream().sorted().collect(Collectors.toList())); // Delete it changes.getResourcesToDelete().add(resourceService.resourceFindByPk(r1).get().getInternalId()); getInternalServicesContext().getInternalChangeService().changesExecute(changes); Assert.assertEquals(0, resourceService.linkFindAllByFromResource(r1).size()); Assert.assertEquals(0, resourceService.tagFindAllByResource(r1).size()); // Recreate it changes.getResourcesToAdd().add(r1); getInternalServicesContext().getInternalChangeService().changesExecute(changes); // Check no links and tags Assert.assertEquals(0, resourceService.linkFindAllByFromResource(r1).size()); Assert.assertEquals(0, resourceService.tagFindAllByResource(r1).size()); }
changes.getTagsToDelete().size(), changes.getTagsToAdd().size() // ); for (Tuple2<IPResource, String> tag : changes.getTagsToAdd()) { logger.debug("[APPLY] Add tag {}", tag); Optional<IPResource> resource = ipResourceService.resourceFindByPk(tag.getA());
changes.getTagsToAdd().addAll(Arrays.asList( // new Tuple2<>(resource, "tag1"), // new Tuple2<>(resource, "asite"))); changes.getTagsToAdd().add(new Tuple2<>(resource, "asite")); internalChangeService.changesExecute(changes); changes.getTagsToAdd().add(new Tuple2<>(resource, "changed")); changes.getResourcesToUpdate().add(new Tuple2<>(resource.getInternalId(), new JunitResource("example2.com", JunitResourceEnum.A, 2))); internalChangeService.changesExecute(changes);
changes.getTagsToAdd().add(new Tuple2<IPResource, String>(m2, "extraTag")); changes.getLinksToAdd().add(new Tuple3<IPResource, String, IPResource>(m1, "extraLink", m2)); getInternalServicesContext().getInternalChangeService().changesExecute(changes);