Skip to content

Commit 4745ab6

Browse files
Add Optional test, remove invalid assertions from tests (#70)
* Add Optional test, remove invalid assertions from tests * Remove test accesses to getSchemaTypes API
1 parent 2576ce8 commit 4745ab6

File tree

1 file changed

+45
-64
lines changed

1 file changed

+45
-64
lines changed

src/test/java/com/redislabs/redisgraph/RedisGraphAPITest.java

Lines changed: 45 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -181,21 +181,15 @@ public void testHeader(){
181181
Header header = queryResult.getHeader();
182182

183183
List<String> schemaNames = header.getSchemaNames();
184-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
185184

186185
Assert.assertNotNull(schemaNames);
187-
Assert.assertNotNull(schemaTypes);
188186

189187
Assert.assertEquals(3, schemaNames.size());
190-
Assert.assertEquals(3, schemaTypes.size());
191188

192189
Assert.assertEquals("a", schemaNames.get(0));
193190
Assert.assertEquals("r", schemaNames.get(1));
194191
Assert.assertEquals("a.age", schemaNames.get(2));
195192

196-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
197-
Assert.assertEquals(COLUMN_RELATION, schemaTypes.get(1));
198-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(2));
199193

200194
}
201195

@@ -368,17 +362,11 @@ public void testMultiThread(){
368362
Assert.assertNotNull(resultSet.getHeader());
369363
Header header = resultSet.getHeader();
370364
List<String> schemaNames = header.getSchemaNames();
371-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
372365
Assert.assertNotNull(schemaNames);
373-
Assert.assertNotNull(schemaTypes);
374366
Assert.assertEquals(3, schemaNames.size());
375-
Assert.assertEquals(3, schemaTypes.size());
376367
Assert.assertEquals("a", schemaNames.get(0));
377368
Assert.assertEquals("r", schemaNames.get(1));
378369
Assert.assertEquals("a.age", schemaNames.get(2));
379-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
380-
Assert.assertEquals(COLUMN_RELATION, schemaTypes.get(1));
381-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(2));
382370
Assert.assertEquals(1, resultSet.size());
383371
Assert.assertTrue(resultSet.hasNext());
384372
Record record = resultSet.next();
@@ -413,15 +401,10 @@ public void testMultiThread(){
413401
Assert.assertNotNull(resultSet.getHeader());
414402
Header header = resultSet.getHeader();
415403
List<String> schemaNames = header.getSchemaNames();
416-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
417404
Assert.assertNotNull(schemaNames);
418-
Assert.assertNotNull(schemaTypes);
419405
Assert.assertEquals(2, schemaNames.size());
420-
Assert.assertEquals(2, schemaTypes.size());
421406
Assert.assertEquals("a", schemaNames.get(0));
422407
Assert.assertEquals("r", schemaNames.get(1));
423-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
424-
Assert.assertEquals(COLUMN_RELATION, schemaTypes.get(1));
425408
Assert.assertEquals(1, resultSet.size());
426409
Assert.assertTrue(resultSet.hasNext());
427410
Record record = resultSet.next();
@@ -462,15 +445,10 @@ public void testAdditionToProcedures(){
462445
Assert.assertNotNull(resultSet.getHeader());
463446
Header header = resultSet.getHeader();
464447
List<String> schemaNames = header.getSchemaNames();
465-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
466448
Assert.assertNotNull(schemaNames);
467-
Assert.assertNotNull(schemaTypes);
468449
Assert.assertEquals(2, schemaNames.size());
469-
Assert.assertEquals(2, schemaTypes.size());
470450
Assert.assertEquals("a", schemaNames.get(0));
471451
Assert.assertEquals("r", schemaNames.get(1));
472-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
473-
Assert.assertEquals(COLUMN_RELATION, schemaTypes.get(1));
474452
Assert.assertEquals(1, resultSet.size());
475453
Assert.assertTrue(resultSet.hasNext());
476454
Record record = resultSet.next();
@@ -497,15 +475,10 @@ public void testAdditionToProcedures(){
497475
Assert.assertNotNull(resultSet.getHeader());
498476
header = resultSet.getHeader();
499477
schemaNames = header.getSchemaNames();
500-
schemaTypes = header.getSchemaTypes();
501478
Assert.assertNotNull(schemaNames);
502-
Assert.assertNotNull(schemaTypes);
503479
Assert.assertEquals(2, schemaNames.size());
504-
Assert.assertEquals(2, schemaTypes.size());
505480
Assert.assertEquals("a", schemaNames.get(0));
506481
Assert.assertEquals("r", schemaNames.get(1));
507-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
508-
Assert.assertEquals(COLUMN_RELATION, schemaTypes.get(1));
509482
Assert.assertEquals(1, resultSet.size());
510483
Assert.assertTrue(resultSet.hasNext());
511484
record = resultSet.next();
@@ -572,18 +545,10 @@ public void testMultiExec(){
572545

573546

574547
List<String> schemaNames = header.getSchemaNames();
575-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
576-
577548
Assert.assertNotNull(schemaNames);
578-
Assert.assertNotNull(schemaTypes);
579-
580549
Assert.assertEquals(1, schemaNames.size());
581-
Assert.assertEquals(1, schemaTypes.size());
582-
583550
Assert.assertEquals("n", schemaNames.get(0));
584551

585-
Assert.assertEquals(COLUMN_NODE, schemaTypes.get(0));
586-
587552
Property nameProperty = new Property("name", "a");
588553

589554
Node expectedNode = new Node();
@@ -606,18 +571,10 @@ public void testMultiExec(){
606571

607572

608573
schemaNames = header.getSchemaNames();
609-
schemaTypes = header.getSchemaTypes();
610-
611574
Assert.assertNotNull(schemaNames);
612-
Assert.assertNotNull(schemaTypes);
613-
614575
Assert.assertEquals(1, schemaNames.size());
615-
Assert.assertEquals(1, schemaTypes.size());
616-
617576
Assert.assertEquals("label", schemaNames.get(0));
618577

619-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(0));
620-
621578
Assert.assertEquals(1, resultSet.size());
622579
Assert.assertTrue(resultSet.hasNext());
623580
record = resultSet.next();
@@ -816,16 +773,9 @@ public void testArraySupport() {
816773

817774

818775
List<String> schemaNames = header.getSchemaNames();
819-
List<Header.ResultSetColumnTypes> schemaTypes = header.getSchemaTypes();
820-
821776
Assert.assertNotNull(schemaNames);
822-
Assert.assertNotNull(schemaTypes);
823-
824777
Assert.assertEquals(1, schemaNames.size());
825-
Assert.assertEquals(1, schemaTypes.size());
826-
827778
Assert.assertEquals("x", schemaNames.get(0));
828-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(0));
829779

830780
// check record
831781
Assert.assertEquals(1, resultSet.size());
@@ -846,16 +796,9 @@ public void testArraySupport() {
846796

847797

848798
schemaNames = header.getSchemaNames();
849-
schemaTypes = header.getSchemaTypes();
850-
851799
Assert.assertNotNull(schemaNames);
852-
Assert.assertNotNull(schemaTypes);
853-
854800
Assert.assertEquals(1, schemaNames.size());
855-
Assert.assertEquals(1, schemaTypes.size());
856-
857801
Assert.assertEquals("x", schemaNames.get(0));
858-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(0));
859802

860803
// check record
861804
Assert.assertEquals(1, resultSet.size());
@@ -875,16 +818,9 @@ record = resultSet.next();
875818

876819

877820
schemaNames = header.getSchemaNames();
878-
schemaTypes = header.getSchemaTypes();
879-
880821
Assert.assertNotNull(schemaNames);
881-
Assert.assertNotNull(schemaTypes);
882-
883822
Assert.assertEquals(1, schemaNames.size());
884-
Assert.assertEquals(1, schemaTypes.size());
885-
886823
Assert.assertEquals("x", schemaNames.get(0));
887-
Assert.assertEquals(COLUMN_SCALAR, schemaTypes.get(0));
888824

889825
// check record
890826
Assert.assertEquals(3, resultSet.size());
@@ -960,4 +896,49 @@ public void testParameters(){
960896
}
961897
}
962898

899+
@Test
900+
public void testNullGraphEntities() {
901+
// Create two nodes connected by a single outgoing edge.
902+
Assert.assertNotNull(api.query("social", "CREATE (:L)-[:E]->(:L2)"));
903+
// Test a query that produces 1 record with 3 null values.
904+
ResultSet resultSet = api.query("social", "OPTIONAL MATCH (a:NONEXISTENT)-[e]->(b) RETURN a, e, b");
905+
Assert.assertEquals(1, resultSet.size());
906+
Assert.assertTrue(resultSet.hasNext());
907+
Record record = resultSet.next();
908+
Assert.assertFalse(resultSet.hasNext());
909+
Assert.assertEquals(Arrays.asList(null, null, null), record.values());
910+
911+
// Test a query that produces 2 records, with 2 null values in the second.
912+
resultSet = api.query("social", "MATCH (a) OPTIONAL MATCH (a)-[e]->(b) RETURN a, e, b ORDER BY ID(a)");
913+
Assert.assertEquals(2, resultSet.size());
914+
record = resultSet.next();
915+
Assert.assertEquals(3, record.size());
916+
917+
Assert.assertNotNull(record.getValue(0));
918+
Assert.assertNotNull(record.getValue(1));
919+
Assert.assertNotNull(record.getValue(2));
920+
921+
record = resultSet.next();
922+
Assert.assertEquals(3, record.size());
923+
924+
Assert.assertNotNull(record.getValue(0));
925+
Assert.assertNull(record.getValue(1));
926+
Assert.assertNull(record.getValue(2));
927+
928+
// Test a query that produces 2 records, the first containing a path and the second containing a null value.
929+
resultSet = api.query("social", "MATCH (a) OPTIONAL MATCH p = (a)-[e]->(b) RETURN p");
930+
Assert.assertEquals(2, resultSet.size());
931+
record = resultSet.next();
932+
Assert.assertEquals(1, record.size());
933+
934+
Object path = record.getValue(0);
935+
Assert.assertNotNull(record.getValue(0));
936+
937+
record = resultSet.next();
938+
Assert.assertEquals(1, record.size());
939+
940+
path = record.getValue(0);
941+
Assert.assertNull(record.getValue(0));
942+
943+
}
963944
}

0 commit comments

Comments
 (0)