Search in sources :

Example 11 with IdType

use of org.neo4j.internal.batchimport.input.IdType in project neo4j by neo4j.

the class DataFactoriesTest method shouldFailOnUnexpectedNodeHeaderType.

@Test
public void shouldFailOnUnexpectedNodeHeaderType() {
    // GIVEN
    CharSeeker seeker = seeker(":ID,:START_ID");
    IdType idType = IdType.ACTUAL;
    // WHEN
    var e = assertThrows(InputException.class, () -> defaultFormatNodeFileHeader().create(seeker, COMMAS, idType, groups));
    assertThat(e.getMessage()).contains("START_ID");
}
Also used : CharSeeker(org.neo4j.csv.reader.CharSeeker) IdType(org.neo4j.internal.batchimport.input.IdType) Test(org.junit.jupiter.api.Test)

Example 12 with IdType

use of org.neo4j.internal.batchimport.input.IdType in project neo4j by neo4j.

the class DataFactoriesTest method shouldFailForDuplicateIdHeaderEntries.

@Test
public void shouldFailForDuplicateIdHeaderEntries() throws Exception {
    // GIVEN
    CharSeeker seeker = seeker("one:id\ttwo:id");
    IdType idType = IdType.ACTUAL;
    Extractors extractors = new Extractors('\t');
    var e = assertThrows(DuplicateHeaderException.class, () -> defaultFormatNodeFileHeader().create(seeker, TABS, idType, groups));
    assertEquals(entry("one", Type.ID, extractors.long_()), e.getFirst());
    assertEquals(entry("two", Type.ID, extractors.long_()), e.getOther());
}
Also used : Extractors(org.neo4j.csv.reader.Extractors) CharSeeker(org.neo4j.csv.reader.CharSeeker) IdType(org.neo4j.internal.batchimport.input.IdType) Test(org.junit.jupiter.api.Test)

Example 13 with IdType

use of org.neo4j.internal.batchimport.input.IdType in project neo4j by neo4j.

the class DataFactoriesTest method shouldParseDefaultNodeFileHeaderCorrectly.

@Test
public void shouldParseDefaultNodeFileHeaderCorrectly() throws Exception {
    // GIVEN
    CharSeeker seeker = seeker("ID:ID,label-one:label,also-labels:LABEL,name,age:long,location:Point{crs:WGS-84}");
    IdType idType = IdType.STRING;
    Extractors extractors = new Extractors(',');
    // WHEN
    Header header = defaultFormatNodeFileHeader().create(seeker, COMMAS, idType, groups);
    // THEN
    assertArrayEquals(array(entry("ID", Type.ID, CsvInput.idExtractor(idType, extractors)), entry("label-one", Type.LABEL, extractors.stringArray()), entry("also-labels", Type.LABEL, extractors.stringArray()), entry("name", Type.PROPERTY, extractors.string()), entry("age", Type.PROPERTY, extractors.long_()), entry("location", Type.PROPERTY, extractors.point(), PointValue.parseHeaderInformation("{crs:WGS-84}"))), header.entries());
    seeker.close();
}
Also used : Extractors(org.neo4j.csv.reader.Extractors) CharSeeker(org.neo4j.csv.reader.CharSeeker) DataFactories.defaultFormatNodeFileHeader(org.neo4j.internal.batchimport.input.csv.DataFactories.defaultFormatNodeFileHeader) DataFactories.defaultFormatRelationshipFileHeader(org.neo4j.internal.batchimport.input.csv.DataFactories.defaultFormatRelationshipFileHeader) IdType(org.neo4j.internal.batchimport.input.IdType) Test(org.junit.jupiter.api.Test)

Example 14 with IdType

use of org.neo4j.internal.batchimport.input.IdType in project neo4j by neo4j.

the class DataFactoriesTest method shouldFailOnUnexpectedRelationshipHeaderType.

@Test
public void shouldFailOnUnexpectedRelationshipHeaderType() {
    // GIVEN
    CharSeeker seeker = seeker(":LABEL,:START_ID,:END_ID,:TYPE");
    IdType idType = IdType.ACTUAL;
    // WHEN
    var e = assertThrows(InputException.class, () -> defaultFormatRelationshipFileHeader().create(seeker, COMMAS, idType, groups));
    assertThat(e.getMessage()).contains("LABEL");
}
Also used : CharSeeker(org.neo4j.csv.reader.CharSeeker) IdType(org.neo4j.internal.batchimport.input.IdType) Test(org.junit.jupiter.api.Test)

Example 15 with IdType

use of org.neo4j.internal.batchimport.input.IdType in project neo4j by neo4j.

the class DataFactoriesTest method shouldFailForDuplicatePropertyHeaderEntries.

@Test
public void shouldFailForDuplicatePropertyHeaderEntries() throws Exception {
    // GIVEN
    CharSeeker seeker = seeker("one:id\tname\tname:long");
    IdType idType = IdType.ACTUAL;
    Extractors extractors = new Extractors('\t');
    var e = assertThrows(DuplicateHeaderException.class, () -> defaultFormatNodeFileHeader().create(seeker, TABS, idType, groups));
    assertEquals(entry("name", Type.PROPERTY, extractors.string()), e.getFirst());
    assertEquals(entry("name", Type.PROPERTY, extractors.long_()), e.getOther());
    seeker.close();
}
Also used : Extractors(org.neo4j.csv.reader.Extractors) CharSeeker(org.neo4j.csv.reader.CharSeeker) IdType(org.neo4j.internal.batchimport.input.IdType) Test(org.junit.jupiter.api.Test)

Aggregations

IdType (org.neo4j.internal.batchimport.input.IdType)19 Test (org.junit.jupiter.api.Test)11 CharSeeker (org.neo4j.csv.reader.CharSeeker)10 Extractors (org.neo4j.csv.reader.Extractors)10 Input (org.neo4j.internal.batchimport.input.Input)9 Test (org.junit.Test)7 DataFactories.defaultFormatNodeFileHeader (org.neo4j.internal.batchimport.input.csv.DataFactories.defaultFormatNodeFileHeader)6 DataFactories.defaultFormatRelationshipFileHeader (org.neo4j.internal.batchimport.input.csv.DataFactories.defaultFormatRelationshipFileHeader)6 InputIterator (org.neo4j.internal.batchimport.InputIterator)5 Path (java.nio.file.Path)3 Groups (org.neo4j.internal.batchimport.input.Groups)3 ParallelBatchImporter (org.neo4j.internal.batchimport.ParallelBatchImporter)2 DataGeneratorInput (org.neo4j.internal.batchimport.input.DataGeneratorInput)2 Group (org.neo4j.internal.batchimport.input.Group)2 JobScheduler (org.neo4j.scheduler.JobScheduler)2 Config (org.neo4j.configuration.Config)1 Configuration (org.neo4j.csv.reader.Configuration)1 BatchImporter (org.neo4j.internal.batchimport.BatchImporter)1 Configuration (org.neo4j.internal.batchimport.Configuration)1 Configuration.defaultConfiguration (org.neo4j.internal.batchimport.Configuration.defaultConfiguration)1