http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/010c6927/extras/shell/src/test/java/org/apache/rya/shell/RyaStreamsCommandsTest.java
----------------------------------------------------------------------
diff --git 
a/extras/shell/src/test/java/org/apache/rya/shell/RyaStreamsCommandsTest.java 
b/extras/shell/src/test/java/org/apache/rya/shell/RyaStreamsCommandsTest.java
index 9f5a794..2759c33 100644
--- 
a/extras/shell/src/test/java/org/apache/rya/shell/RyaStreamsCommandsTest.java
+++ 
b/extras/shell/src/test/java/org/apache/rya/shell/RyaStreamsCommandsTest.java
@@ -36,6 +36,7 @@ import org.apache.rya.api.client.SetRyaStreamsConfiguration;
 import org.apache.rya.api.client.accumulo.AccumuloConnectionDetails;
 import org.apache.rya.api.instance.RyaDetails;
 import org.apache.rya.api.instance.RyaDetails.RyaStreamsDetails;
+import org.apache.rya.shell.util.ConsolePrinter;
 import org.apache.rya.shell.util.SparqlPrompt;
 import org.apache.rya.streams.api.RyaStreamsClient;
 import org.apache.rya.streams.api.entity.StreamsQuery;
@@ -72,7 +73,7 @@ public class RyaStreamsCommandsTest {
 
         try {
             // Execute the command.
-            final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+            final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
             final String message = commands.configureRyaStreams("localhost", 
6);
 
             // Verify the request was forwarded to the mocked interactor.
@@ -107,7 +108,7 @@ public class RyaStreamsCommandsTest {
         state.connectedToInstance("unitTest");
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.printRyaStreamsDetails();
         final String expected = "This instance does not have any Rya Details, 
so it is unable to be connected to the Rya Streams subsystem.";
         assertEquals(expected, message);
@@ -131,7 +132,7 @@ public class RyaStreamsCommandsTest {
         state.connectedToInstance("unitTest");
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.printRyaStreamsDetails();
         final String expected = "This instance of Rya has not been configured 
to use a Rya Streams subsystem.";
         assertEquals(expected, message);
@@ -155,7 +156,7 @@ public class RyaStreamsCommandsTest {
         state.connectedToInstance("unitTest");
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.printRyaStreamsDetails();
         final String expected = "Kafka Hostname: localhost, Kafka Port: 6";
         assertEquals(expected, message);
@@ -179,26 +180,119 @@ public class RyaStreamsCommandsTest {
         state.connectedToRyaStreams(mockClient);
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt);
-        final String message = commands.addQuery(false);
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt, mock(ConsolePrinter.class));
+        final String message = commands.addQuery(false, false);
 
         // Verify a message is printed to the user.
         assertEquals("", message);
     }
 
     @Test
-    public void addQuery() throws Exception {
+    public void addQuery_doNotInsertQuery() throws Exception {
         // Mock the object that performs the rya streams operation.
         final RyaStreamsClient mockClient = mock(RyaStreamsClient.class);
         final AddQuery addQuery = mock(AddQuery.class);
         when(mockClient.getAddQuery()).thenReturn(addQuery);
 
-        final StreamsQuery addedQuery = new StreamsQuery(UUID.randomUUID(), 
"query", true);
-        when(addQuery.addQuery(eq("query"), eq(true))).thenReturn(addedQuery);
+        final String sparql = "SELECT * WHERE { ?a ?b ?c }";
+
+        final StreamsQuery addedQuery = new StreamsQuery(UUID.randomUUID(), 
sparql, true, false);
+        when(addQuery.addQuery(eq(sparql), eq(true), 
eq(false))).thenReturn(addedQuery);
+
+        // Mock a SPARQL prompt that a user entered a query through.
+        final SparqlPrompt prompt = mock(SparqlPrompt.class);
+        when(prompt.getSparql()).thenReturn(Optional.of(sparql));
+
+        // Mock a shell state and connect it to a Rya instance.
+        final SharedShellState state = new SharedShellState();
+        state.connectedToAccumulo(mock(AccumuloConnectionDetails.class), 
mock(RyaClient.class));
+        state.connectedToInstance("unitTest");
+        state.connectedToRyaStreams(mockClient);
+
+        // Execute the command.
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt, mock(ConsolePrinter.class));
+        final String message = commands.addQuery(false, false);
+
+        // Verify the interactor was invoked with the provided input.
+        verify(addQuery).addQuery(sparql, true, false);
+
+        // Verify a message is printed to the user.
+        final String expected = "The added query's ID is " + 
addedQuery.getQueryId();
+        assertEquals(expected, message);
+    }
+
+    @Test
+    public void addQuery_insertConstructQuery() throws Exception {
+        // Mock the object that performs the rya streams operation.
+        final RyaStreamsClient mockClient = mock(RyaStreamsClient.class);
+        final AddQuery addQuery = mock(AddQuery.class);
+        when(mockClient.getAddQuery()).thenReturn(addQuery);
+
+        final String sparql =
+                "PREFIX vCard: <http://www.w3.org/2001/vcard-rdf/3.0#> " +
+                "PREFIX foaf: <http://xmlns.com/foaf/0.1/> " +
+                "CONSTRUCT { " +
+                    "?X vCard:FN ?name . " +
+                    "?X vCard:URL ?url . " +
+                    "?X vCard:TITLE ?title . " +
+                "} " +
+                "FROM <http://www.w3.org/People/Berners-Lee/card> " +
+                "WHERE { " +
+                    "OPTIONAL { ?X foaf:name ?name . FILTER isLiteral(?name) . 
} " +
+                    "OPTIONAL { ?X foaf:homepage ?url . FILTER isURI(?url) . } 
" +
+                    "OPTIONAL { ?X foaf:title ?title . FILTER 
isLiteral(?title) . } " +
+                "}";
+
+        final StreamsQuery addedQuery = new StreamsQuery(UUID.randomUUID(), 
sparql, true, true);
+        when(addQuery.addQuery(eq(sparql), eq(false), 
eq(true))).thenReturn(addedQuery);
+
+        // Mock a SPARQL prompt that a user entered a query through.
+        final SparqlPrompt prompt = mock(SparqlPrompt.class);
+        when(prompt.getSparql()).thenReturn(Optional.of(sparql));
+
+        // Mock a shell state and connect it to a Rya instance.
+        final SharedShellState state = new SharedShellState();
+        state.connectedToAccumulo(mock(AccumuloConnectionDetails.class), 
mock(RyaClient.class));
+        state.connectedToInstance("unitTest");
+        state.connectedToRyaStreams(mockClient);
+
+        // Execute the command.
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt, mock(ConsolePrinter.class));
+        final String message = commands.addQuery(true, true);
+
+        // Verify the interactor was invoked with the provided input.
+        verify(addQuery).addQuery(sparql, false, true);
+
+        // Verify a message is printed to the user.
+        final String expected = "The added query's ID is " + 
addedQuery.getQueryId();
+        assertEquals(expected, message);
+    }
+
+    @Test
+    public void addQuery_doNotInsertInsertUpdate() throws Exception {
+        // Mock the object that performs the rya streams operation.
+        final RyaStreamsClient mockClient = mock(RyaStreamsClient.class);
+        final AddQuery addQuery = mock(AddQuery.class);
+        when(mockClient.getAddQuery()).thenReturn(addQuery);
+
+        final String sparql =
+                "PREFIX Sensor: <http://example.com/Equipment.owl#> " +
+                "INSERT { " +
+                    "?subject Sensor:test2 ?newValue " +
+                "} WHERE {" +
+                    "values (?oldValue ?newValue) {" +
+                        "('testValue1' 'newValue1')" +
+                        "('testValue2' 'newValue2')" +
+                    "}" +
+                    "?subject Sensor:test1 ?oldValue" +
+                "}";
+
+        final StreamsQuery addedQuery = new StreamsQuery(UUID.randomUUID(), 
sparql, true, false);
+        when(addQuery.addQuery(eq(sparql), eq(false), 
eq(false))).thenReturn(addedQuery);
 
         // Mock a SPARQL prompt that a user entered a query through.
         final SparqlPrompt prompt = mock(SparqlPrompt.class);
-        when(prompt.getSparql()).thenReturn(Optional.of("query"));
+        when(prompt.getSparql()).thenReturn(Optional.of(sparql));
 
         // Mock a shell state and connect it to a Rya instance.
         final SharedShellState state = new SharedShellState();
@@ -207,17 +301,44 @@ public class RyaStreamsCommandsTest {
         state.connectedToRyaStreams(mockClient);
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt);
-        final String message = commands.addQuery(false);
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt, mock(ConsolePrinter.class));
+        final String message = commands.addQuery(true, false);
 
         // Verify the interactor was invoked with the provided input.
-        verify(addQuery).addQuery("query", true);
+        verify(addQuery).addQuery(sparql, false, false);
 
         // Verify a message is printed to the user.
         final String expected = "The added query's ID is " + 
addedQuery.getQueryId();
         assertEquals(expected, message);
     }
 
+    @Test(expected = RuntimeException.class)
+    public void addQuery_insertQueryNotCorrectType() throws Exception {
+        // Mock the object that performs the rya streams operation.
+        final RyaStreamsClient mockClient = mock(RyaStreamsClient.class);
+        final AddQuery addQuery = mock(AddQuery.class);
+        when(mockClient.getAddQuery()).thenReturn(addQuery);
+
+        final String sparql = "SELECT * WHERE { ?a ?b ?c }";
+
+        final StreamsQuery addedQuery = new StreamsQuery(UUID.randomUUID(), 
sparql, true, true);
+        when(addQuery.addQuery(eq(sparql), eq(false), 
eq(true))).thenReturn(addedQuery);
+
+        // Mock a SPARQL prompt that a user entered a query through.
+        final SparqlPrompt prompt = mock(SparqlPrompt.class);
+        when(prompt.getSparql()).thenReturn(Optional.of(sparql));
+
+        // Mock a shell state and connect it to a Rya instance.
+        final SharedShellState state = new SharedShellState();
+        state.connectedToAccumulo(mock(AccumuloConnectionDetails.class), 
mock(RyaClient.class));
+        state.connectedToInstance("unitTest");
+        state.connectedToRyaStreams(mockClient);
+
+        // Execute the command.
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
prompt, mock(ConsolePrinter.class));
+        commands.addQuery(true, true);
+    }
+
     @Test
     public void deleteQuery() throws Exception {
         // Mock the object that performs the rya streams operation.
@@ -232,7 +353,7 @@ public class RyaStreamsCommandsTest {
         state.connectedToRyaStreams(mockClient);
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final UUID queryId = UUID.randomUUID();
         final String message = commands.deleteQuery(queryId.toString());
 
@@ -261,10 +382,10 @@ public class RyaStreamsCommandsTest {
 
         // Report the query as not running.
         final UUID queryId = UUID.randomUUID();
-        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", false)));
+        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", false, false)));
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.startQuery(queryId.toString());
 
         // Verify the interactor was invoked with the provided parameters.
@@ -292,10 +413,10 @@ public class RyaStreamsCommandsTest {
 
         // Report the query as running.
         final UUID queryId = UUID.randomUUID();
-        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", true)));
+        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", true, false)));
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.startQuery(queryId.toString());
 
         // Verify the interactor was not invoked.
@@ -323,10 +444,10 @@ public class RyaStreamsCommandsTest {
 
         // Report the query as running.
         final UUID queryId = UUID.randomUUID();
-        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", true)));
+        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", true, false)));
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.stopQuery(queryId.toString());
 
         // Verify the interactor was invoked with the provided parameters.
@@ -354,10 +475,10 @@ public class RyaStreamsCommandsTest {
 
         // Report the query as not running.
         final UUID queryId = UUID.randomUUID();
-        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", false)));
+        
when(getQuery.getQuery(eq(queryId))).thenReturn(java.util.Optional.of(new 
StreamsQuery(queryId, "sparql", false, false)));
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.stopQuery(queryId.toString());
 
         // Verify the interactor was not invoked with the provided parameters.
@@ -379,15 +500,15 @@ public class RyaStreamsCommandsTest {
                 new StreamsQuery(
                         
UUID.fromString("33333333-3333-3333-3333-333333333333"),
                         "SELECT * WHERE { ?person <urn:worksAt> ?business . }",
-                        true),
+                        true, false),
                 new StreamsQuery(
                         
UUID.fromString("11111111-1111-1111-1111-111111111111"),
                         "SELECT * WHERE { ?a ?b ?c . }",
-                        true),
+                        true, false),
                 new StreamsQuery(
                         
UUID.fromString("22222222-2222-2222-2222-222222222222"),
                         "SELECT * WHERE { ?d ?e ?f . }",
-                        false));
+                        false, false));
         when(listQueries.all()).thenReturn(queries);
 
         // Mock a shell state and connect it to a Rya instance.
@@ -397,7 +518,7 @@ public class RyaStreamsCommandsTest {
         state.connectedToRyaStreams(mockClient);
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.listQueries();
 
         // Verify the correct report is returned.
@@ -405,6 +526,7 @@ public class RyaStreamsCommandsTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 11111111-1111-1111-1111-111111111111\n" +
                 "Is Active: true\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?a ?b ?c\n" +
                 "           where {\n" +
                 "             ?a ?b ?c.\n" +
@@ -412,6 +534,7 @@ public class RyaStreamsCommandsTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 22222222-2222-2222-2222-222222222222\n" +
                 "Is Active: false\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?d ?e ?f\n" +
                 "           where {\n" +
                 "             ?d ?e ?f.\n" +
@@ -419,6 +542,7 @@ public class RyaStreamsCommandsTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 33333333-3333-3333-3333-333333333333\n" +
                 "Is Active: true\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?person ?business\n" +
                 "           where {\n" +
                 "             ?person <urn:worksAt> ?business.\n" +
@@ -435,7 +559,7 @@ public class RyaStreamsCommandsTest {
         when(mockClient.getGetQuery()).thenReturn(getQuery);
 
         final UUID queryId = 
UUID.fromString("da55cea5-c21c-46a5-ab79-5433eef4efaa");
-        final StreamsQuery query = new StreamsQuery(queryId, "SELECT * WHERE { 
?a ?b ?c . }", true);
+        final StreamsQuery query = new StreamsQuery(queryId, "SELECT * WHERE { 
?a ?b ?c . }", true, false);
         
when(getQuery.getQuery(queryId)).thenReturn(java.util.Optional.of(query));
 
         // Mock a shell state and connect it to a Rya instance.
@@ -445,13 +569,14 @@ public class RyaStreamsCommandsTest {
         state.connectedToRyaStreams(mockClient);
 
         // Execute the command.
-        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class));
+        final RyaStreamsCommands commands = new RyaStreamsCommands(state, 
mock(SparqlPrompt.class), mock(ConsolePrinter.class));
         final String message = commands.printQueryDetails(queryId.toString());
 
         // Verify the correct report is returned.
         final String expected =
                 " Query ID: da55cea5-c21c-46a5-ab79-5433eef4efaa\n" +
                 "Is Active: true\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?a ?b ?c\n" +
                 "           where {\n" +
                 "             ?a ?b ?c.\n" +

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/010c6927/extras/shell/src/test/java/org/apache/rya/shell/util/StreamsQueryFormatterTest.java
----------------------------------------------------------------------
diff --git 
a/extras/shell/src/test/java/org/apache/rya/shell/util/StreamsQueryFormatterTest.java
 
b/extras/shell/src/test/java/org/apache/rya/shell/util/StreamsQueryFormatterTest.java
index 8e5d251..594a002 100644
--- 
a/extras/shell/src/test/java/org/apache/rya/shell/util/StreamsQueryFormatterTest.java
+++ 
b/extras/shell/src/test/java/org/apache/rya/shell/util/StreamsQueryFormatterTest.java
@@ -39,13 +39,14 @@ public class StreamsQueryFormatterTest {
         final StreamsQuery query = new StreamsQuery(
                 UUID.fromString("da55cea5-c21c-46a5-ab79-5433eef4efaa"),
                 "SELECT * WHERE { ?a ?b ?c . }",
-                true);
+                true, false);
         final String formatted = StreamsQueryFormatter.format(query);
 
         // Ensure it has the expected format.
         final String expected =
                 " Query ID: da55cea5-c21c-46a5-ab79-5433eef4efaa\n" +
                 "Is Active: true\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?a ?b ?c\n" +
                 "           where {\n" +
                 "             ?a ?b ?c.\n" +
@@ -61,15 +62,15 @@ public class StreamsQueryFormatterTest {
                 new StreamsQuery(
                         
UUID.fromString("33333333-3333-3333-3333-333333333333"),
                         "SELECT * WHERE { ?person <urn:worksAt> ?business . }",
-                        true),
+                        true, true),
                 new StreamsQuery(
                         
UUID.fromString("11111111-1111-1111-1111-111111111111"),
                         "SELECT * WHERE { ?a ?b ?c . }",
-                        true),
+                        true, false),
                 new StreamsQuery(
                         
UUID.fromString("22222222-2222-2222-2222-222222222222"),
                         "SELECT * WHERE { ?d ?e ?f . }",
-                        false));
+                        false, true));
 
         final String formatted = StreamsQueryFormatter.format(queries);
 
@@ -78,6 +79,7 @@ public class StreamsQueryFormatterTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 11111111-1111-1111-1111-111111111111\n" +
                 "Is Active: true\n" +
+                "Is Insert: false\n" +
                 "   SPARQL: select ?a ?b ?c\n" +
                 "           where {\n" +
                 "             ?a ?b ?c.\n" +
@@ -85,6 +87,7 @@ public class StreamsQueryFormatterTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 22222222-2222-2222-2222-222222222222\n" +
                 "Is Active: false\n" +
+                "Is Insert: true\n" +
                 "   SPARQL: select ?d ?e ?f\n" +
                 "           where {\n" +
                 "             ?d ?e ?f.\n" +
@@ -92,6 +95,7 @@ public class StreamsQueryFormatterTest {
                 "-----------------------------------------------\n" +
                 " Query ID: 33333333-3333-3333-3333-333333333333\n" +
                 "Is Active: true\n" +
+                "Is Insert: true\n" +
                 "   SPARQL: select ?person ?business\n" +
                 "           where {\n" +
                 "             ?person <urn:worksAt> ?business.\n" +

Reply via email to