public static TagFamily mockTagFamily(String name, User user, Project project) { TagFamily tagFamily = mock(TagFamily.class); when(tagFamily.getCreator()).thenReturn(user); when(tagFamily.getCreationTimestamp()).thenReturn(TIMESTAMP_OLD); when(tagFamily.getEditor()).thenReturn(user); when(tagFamily.getLastEditedTimestamp()).thenReturn(TIMESTAMP_NEW); when(tagFamily.getName()).thenReturn(name); when(tagFamily.getUuid()).thenReturn(TAGFAMILY_FUELS_UUID); when(tagFamily.getProject()).thenReturn(project); when(tagFamily.getRolesWithPerm(GraphPermission.READ_PERM)).thenReturn(createEmptyTraversal()); when(tagFamily.getElementVersion()).thenReturn(UUID_2); return tagFamily; }
public String generateVersion(TagFamily tagFamily) { Project project = tagFamily.getProject(); StringBuilder builder = new StringBuilder(); builder.append(tagFamily.getElementVersion()); builder.append("|"); tagFamily.findAll().forEach(tag -> { builder.append(tag.getElementVersion()); builder.append("|"); }); builder.append(project.getUuid() + project.getName()); return ETag.hash(builder.toString()); }
@Override public Observable<IndexBulkEntry> storeForBulk(TagFamily tagFamily, UpdateDocumentEntry entry) { entry.getContext().setProjectUuid(tagFamily.getProject().getUuid()); return super.storeForBulk(tagFamily, entry); }
@Override public Completable store(TagFamily tagFamily, UpdateDocumentEntry entry) { entry.getContext().setProjectUuid(tagFamily.getProject().getUuid()); return super.store(tagFamily, entry); }
/** * Transform the role to the document which can be stored in ES. * * @param tagFamily * @return */ @Override public JsonObject toDocument(TagFamily tagFamily) { JsonObject document = new JsonObject(); document.put(NAME_KEY, tagFamily.getName()); addBasicReferences(document, tagFamily); addTags(document, tagFamily.findAll()); addProject(document, tagFamily.getProject()); addPermissionInfo(document, tagFamily); document.put(MappingHelper.VERSION_KEY, generateVersion(tagFamily)); return document; }
/** * Assert that the tag family was stored in the index. * * @param tagfamily * @return Fluent API */ public DummySearchProviderAssert stored(TagFamily tagfamily) { assertThat(actual).hasStore(TagFamily.composeIndexName(tagfamily.getProject().getUuid()), TagFamily.composeDocumentId(tagfamily.getUuid())); return this; }