Search in sources :

Example 1 with ProvenanceChangeLog

use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog in project timbuctoo by HuygensING.

the class ProvenanceChangeLogTest method getProvenanceForListField.

@Test
public void getProvenanceForListField() throws Exception {
    CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", true, "valueType", STRING))));
    when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
    String value1 = "value1";
    String value2 = "value2";
    Map<Object, Object> provenance = Maps.newHashMap();
    provenance.put(NAME_FIELD, newArrayList(createPropertyInput(value1), createPropertyInput(value2)));
    Map<Object, Object> entity = Maps.newHashMap();
    entity.put("provenance", provenance);
    ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
    List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
    assertThat(provChanges.size(), is(1));
    assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(value1, STRING), new Value(value2, STRING)).oldValuesIsEmpty()));
}
Also used : Value(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value) ProvenanceChangeLog(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog) ChangeMatcher.likeChange(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange) CustomProvenance(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance) Test(org.junit.Test)

Example 2 with ProvenanceChangeLog

use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog in project timbuctoo by HuygensING.

the class ProvenanceChangeLogTest method getProvenanceForObjectField.

@Test
public void getProvenanceForObjectField() throws Exception {
    CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", false, "object", ImmutableMap.of("type", TYPE_URI, "fields", Lists.newArrayList(ImmutableMap.of("uri", FIRST_NAME_URI, "isList", false, "valueType", STRING)))))));
    when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
    String value = "value";
    Map<Object, Object> name = Maps.newHashMap();
    name.put("uri", SUBJECT_NAME_1);
    name.put(FIRST_NAME_FIELD, createPropertyInput(value));
    Map<Object, Object> provenance = Maps.newHashMap();
    provenance.put(NAME_FIELD, name);
    Map<Object, Object> entity = Maps.newHashMap();
    entity.put("provenance", provenance);
    ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
    List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
    assertThat(provChanges.size(), is(3));
    assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_1, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(1), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(2), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(FIRST_NAME_URI).withValues(new Value(value, STRING)).oldValuesIsEmpty()));
}
Also used : Value(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value) ProvenanceChangeLog(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog) ChangeMatcher.likeChange(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange) CustomProvenance(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance) Test(org.junit.Test)

Example 3 with ProvenanceChangeLog

use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog in project timbuctoo by HuygensING.

the class ProvenanceChangeLogTest method getProvenanceForListObjectField.

@Test
public void getProvenanceForListObjectField() throws Exception {
    CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", true, "object", ImmutableMap.of("type", TYPE_URI, "fields", Lists.newArrayList(ImmutableMap.of("uri", FIRST_NAME_URI, "isList", false, "valueType", STRING)))))));
    when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
    String value1 = "value1";
    Map<Object, Object> name1 = Maps.newHashMap();
    name1.put("uri", SUBJECT_NAME_1);
    name1.put(FIRST_NAME_FIELD, createPropertyInput(value1));
    Map<Object, Object> name2 = Maps.newHashMap();
    name2.put("uri", SUBJECT_NAME_2);
    String value2 = "value2";
    name2.put(FIRST_NAME_FIELD, createPropertyInput(value2));
    Map<Object, Object> provenance = Maps.newHashMap();
    provenance.put(NAME_FIELD, newArrayList(name1, name2));
    Map<Object, Object> entity = Maps.newHashMap();
    entity.put("provenance", provenance);
    ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
    List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
    assertThat(provChanges.size(), is(6));
    assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_1, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(1), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(2), is(likeChange().withSubject(SUBJECT_NAME_1).withPredicate(FIRST_NAME_URI).withValues(new Value(value1, STRING)).oldValuesIsEmpty()));
    assertThat(provChanges.get(3), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(SUBJECT_NAME_2, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(4), is(likeChange().withSubject(SUBJECT_NAME_2).withPredicate(RDF_TYPE).withValues(new Value(TYPE_URI, null)).oldValuesIsEmpty()));
    assertThat(provChanges.get(5), is(likeChange().withSubject(SUBJECT_NAME_2).withPredicate(FIRST_NAME_URI).withValues(new Value(value2, STRING)).oldValuesIsEmpty()));
}
Also used : Value(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value) ProvenanceChangeLog(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog) ChangeMatcher.likeChange(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange) CustomProvenance(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance) Test(org.junit.Test)

Example 4 with ProvenanceChangeLog

use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog in project timbuctoo by HuygensING.

the class ProvenanceChangeLogTest method getProvenanceForField.

@Test
public void getProvenanceForField() throws Exception {
    CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", false, "valueType", STRING))));
    when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
    String value = "value";
    Map<Object, Object> provenance = Maps.newHashMap();
    provenance.put(NAME_FIELD, createPropertyInput(value));
    Map<Object, Object> entity = Maps.newHashMap();
    entity.put("provenance", provenance);
    ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
    List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
    assertThat(provChanges.size(), is(1));
    assertThat(provChanges.get(0), is(likeChange().withSubject(SUBJECT).withPredicate(NAME_URI).withValues(new Value(value, STRING)).oldValuesIsEmpty()));
}
Also used : Value(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value) ProvenanceChangeLog(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog) ChangeMatcher.likeChange(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange) CustomProvenance(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance) Test(org.junit.Test)

Example 5 with ProvenanceChangeLog

use of nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog in project timbuctoo by HuygensING.

the class ProvenanceChangeLogTest method getProvenanceForObjectFieldWihoutUri.

@Test
public void getProvenanceForObjectFieldWihoutUri() throws Exception {
    CustomProvenance customProvenance = CustomProvenance.getCustomProvenance(ImmutableMap.of("fields", Lists.newArrayList(ImmutableMap.of("uri", NAME_URI, "isList", false, "object", ImmutableMap.of("type", TYPE_URI, "fields", Lists.newArrayList(ImmutableMap.of("uri", FIRST_NAME_URI, "isList", false, "valueType", STRING)))))));
    when(dataSet.getCustomProvenance()).thenReturn(customProvenance);
    String value = "value";
    Map<Object, Object> name = Maps.newHashMap();
    name.put(FIRST_NAME_FIELD, createPropertyInput(value));
    Map<Object, Object> provenance = Maps.newHashMap();
    provenance.put(NAME_FIELD, name);
    Map<Object, Object> entity = Maps.newHashMap();
    entity.put("provenance", provenance);
    ProvenanceChangeLog instance = new ProvenanceChangeLog(entity);
    List<Change> provChanges = instance.getProvenance(dataSet, SUBJECT).collect(toList());
    assertThat(provChanges.get(1).getSubject(), startsWith("http://example.org/datasets/rootType/schema_Person/"));
    assertThat(provChanges.get(2).getSubject(), startsWith("http://example.org/datasets/rootType/schema_Person/"));
}
Also used : ProvenanceChangeLog(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog) ChangeMatcher.likeChange(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange) CustomProvenance(nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance) Test(org.junit.Test)

Aggregations

ChangeMatcher.likeChange (nl.knaw.huygens.timbuctoo.v5.graphql.mutations.ChangeMatcher.likeChange)5 CustomProvenance (nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.CustomProvenance)5 ProvenanceChangeLog (nl.knaw.huygens.timbuctoo.v5.graphql.mutations.dto.ProvenanceChangeLog)5 Test (org.junit.Test)5 Value (nl.knaw.huygens.timbuctoo.v5.graphql.mutations.Change.Value)4