gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-schemafuzz] branch master updated: Unit tests are ba


From: gnunet
Subject: [GNUnet-SVN] [taler-schemafuzz] branch master updated: Unit tests are back online. Fixed minor same value Mutations bugg that popped up after last commit
Date: Wed, 13 Jun 2018 16:39:49 +0200

This is an automated email from the git hooks/post-receive script.

erwan-ulrich pushed a commit to branch master
in repository schemafuzz.

The following commit(s) were added to refs/heads/master by this push:
     new 389ff13  Unit tests are back online. Fixed minor same value Mutations 
bugg that popped up after last commit
389ff13 is described below

commit 389ff1303fe0c480bc6a7c416e867b0f58fe9987
Author: Feideus <address@hidden>
AuthorDate: Wed Jun 13 16:39:43 2018 +0200

    Unit tests are back online. Fixed minor same value Mutations bugg that 
popped up after last commit
---
 src/main/java/org/schemaspy/DBFuzzer.java          |   8 +-
 .../java/org/schemaspy/model/GenericTreeNode.java  |  78 +++-
 .../org/schemaspy/model/QueryResponseParser.java   |   7 +-
 src/main/java/org/schemaspy/model/Row.java         |  21 +-
 .../java/org/schemaspy/model/SingleChange.java     |   2 +-
 .../org/schemaspy/model/GenericTreeNodeTest.java   | 421 +++++++--------------
 6 files changed, 222 insertions(+), 315 deletions(-)

diff --git a/src/main/java/org/schemaspy/DBFuzzer.java 
b/src/main/java/org/schemaspy/DBFuzzer.java
index 064a842..fb23059 100644
--- a/src/main/java/org/schemaspy/DBFuzzer.java
+++ b/src/main/java/org/schemaspy/DBFuzzer.java
@@ -180,10 +180,10 @@ public class DBFuzzer
         Row res = null;
 
       do {
-          Table randomTable = pickRandomTable();
+          //Table randomTable = pickRandomTable();
 
-          String theQuery = "SELECT * FROM " + randomTable.getName() + " ORDER 
BY RANDOM() LIMIT 1";
-          //String theQuery = "SELECT * FROM test_table2 ORDER BY RANDOM() 
LIMIT 1"; // Change test_table2 to test_table here to swap back to line finding
+          //String theQuery = "SELECT * FROM " + randomTable.getName() + " 
ORDER BY RANDOM() LIMIT 1";
+          String theQuery = "SELECT * FROM test_table3 ORDER BY RANDOM() LIMIT 
1"; // Change test_table2 to test_table here to swap back to line finding
           QueryResponseParser qrp = new QueryResponseParser();
           ResultSet rs = null;
           PreparedStatement stmt;
@@ -191,7 +191,7 @@ public class DBFuzzer
           try {
               stmt = analyzer.getSqlService().prepareStatement(theQuery);
               rs = stmt.executeQuery();
-              res = qrp.parse(rs, 
analyzer.getDb().getTablesMap().get(randomTable.getName())).getRows().get(0);
+              res = qrp.parse(rs, 
analyzer.getDb().getTablesMap().get("test_table3")).getRows().get(0); // 
randomTable should be in the get()
           } catch (Exception e) {
               LOGGER.info("This query threw an error" + e);
           }
diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java 
b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index 36d932b..bd69fbb 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -1,10 +1,12 @@
 package org.schemaspy.model;
+import java.math.BigInteger;
 import java.sql.*;
 import java.util.*;
 import java.util.ArrayList;
 import java.util.List;
 import org.schemaspy.*;
 import org.schemaspy.service.SqlService;
+import org.springframework.util.SerializationUtils;
 
 public class GenericTreeNode {
 
@@ -241,26 +243,43 @@ public class GenericTreeNode {
             case "smallint":
             case "integer":
             case "int2":
-
-                Object tmp3 = 
rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName());
-                if( tmp3 != null && tmp3.toString() != "" )
+            case "int8":
+            case "bigserial":
+                Object tmp = 
rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName());
+                if( tmp != null && tmp.toString() != "" )
                 {
-                    int tmp = 
Integer.parseInt(rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName()).toString());
-                    oneChange.add(new SingleChange(tableColumn, this, 
column_value, Integer.toString(tmp++)));
-                    oneChange.add(new SingleChange(tableColumn, this, 
column_value, Integer.toString(32767)));
+                    int tmp2;
+                    if(typeName.equals("int2"))
+                    {
+                        tmp2 = 
Integer.parseInt(rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName()).toString());
+                        oneChange.add(new SingleChange(tableColumn, this, 
column_value, Integer.toString(tmp2++)));
+                        oneChange.add(new SingleChange(tableColumn, this, 
column_value, Integer.toString(32767)));
+                    }
+                    else if(typeName.equals("int8") || 
typeName.equals("bigserial") )
+                    {
+                        BigInteger bigInt = new 
BigInteger(rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName()).toString());
+                        bigInt = bigInt.add(new BigInteger("1"));
+                        oneChange.add(new SingleChange(tableColumn, this, 
column_value, bigInt));
+                        oneChange.add(new SingleChange(tableColumn, this, 
column_value, new BigInteger("9223372036854775806")));
+                    }
                     oneChange.add(new SingleChange(tableColumn, this, 
column_value, Integer.toString(0)));
                     break;
                 }
+
             case "character":
             case "character varying":
+            case "bytea":
             case "varchar":
-
-
-                Object tmp4 = 
rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName());
-                if(tmp4 != null && tmp4.toString() != "" )
+                tmp = 
rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName());
+                if(typeName.equals("bytea"))
+                {
+                    byte[] bytes = SerializationUtils.serialize(tmp);
+                    tmp = Arrays.toString(bytes);
+                }
+                if(tmp != null && tmp.toString() != "" )
                 {
 
-                    String tmp2 = tmp4.toString().replaceAll("\\d", "");
+                    String tmp2 = tmp.toString().replaceAll("\\d", "");
                     if (!tmp2.isEmpty())
                     {
                         char nextChar = (char) (tmp2.charAt(0) + 1);
@@ -270,6 +289,7 @@ public class GenericTreeNode {
                     }
                 }
                 break;
+
             case "bool":
                 if (column_value.equals("f"))
                     oneChange.add(new SingleChange(tableColumn, this, 
column_value, "t"));
@@ -277,7 +297,21 @@ public class GenericTreeNode {
                     oneChange.add(new SingleChange(tableColumn, this, 
column_value, "f"));
                 break;
 
-            /*case "timestamp":
+            case "text":
+                tmp = 
rootForThisMutation.getInitial_state_row().getContent().get(tableColumn.getName());
+                if( tmp != null && tmp.toString() != "" )
+                {
+                    Random rand = new Random();
+                    int randNum = rand.nextInt(tmp.toString().length());
+                    char tmp2 = tmp.toString().charAt(randNum);
+
+                    oneChange.add(new SingleChange(tableColumn, this, 
column_value, tmp.toString().substring(0,randNum) + 
(Character.toString(tmp2++)) + tmp.toString().substring(randNum+1)));
+                    oneChange.add(new SingleChange(tableColumn, this, 
column_value, tmp.toString().substring(0,randNum) + 
(Character.toString(tmp2--)) + tmp.toString().substring(randNum+1)));
+                    break;
+                }
+
+
+            /*case "bytea":
                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd 
hh:mm:ss");
                 Calendar cal = Calendar.getInstance();
 
@@ -296,11 +330,11 @@ public class GenericTreeNode {
 
                 break;
 
-              case 6:  typeName = "June";
+              case 6:  int8 = "June";
                        break;
-              case 7:  typeName = "July";
+              case 7:  bigSerial = "July";
                        break;
-              case 8:  typeName = "August";
+              case 8:  text = "August";
                        break;
               case 9:  typeName = "September";
                        break;
@@ -396,7 +430,14 @@ public class GenericTreeNode {
                             if (entry.getValue() != null)
                                 theQuery = theQuery + (entry.getKey() + "='" + 
entry.getValue().toString() + "' AND ");
                             else
-                                theQuery = theQuery + (entry.getKey() + "= 
null AND ");
+                                theQuery = theQuery + (entry.getKey() + " IS 
NULL AND ");
+                        }
+                        else
+                        {
+                            if (entry.getValue() != null)
+                                theQuery = theQuery + (entry.getKey() + "=" + 
entry.getValue().toString() + " AND ");
+                            else
+                                theQuery = theQuery + (entry.getKey() + " IS 
NULL AND ");
                         }
                     }
                     
@@ -711,7 +752,7 @@ public class GenericTreeNode {
         QueryResponse response = 
fetchingDataFromDatabase(semiQuery,chosenChange.getParentTableColumn().getTable(),sqlService);
 
 
-        setInitial_state_row(response.getRows().get(0)); // there should be 
only one row. post change row ?
+        setInitial_state_row(response.getRows().get(0)); // there should be 
only one row.
 
         semiQuery = "SELECT * FROM " + 
chosenChange.getParentTableColumn().getTable().getName() ;
 
@@ -789,7 +830,8 @@ public class GenericTreeNode {
                 || column.getTypeName().equals("_text")
                 || column.getTypeName().equals("text")
                 || column.getTypeName().equals("fulltext")
-                || column.getTypeName().equals("email"))
+                || column.getTypeName().equals("email")
+                || column.getTypeName().equals("bytea"))
             return 1;
         else
             return 0;
diff --git a/src/main/java/org/schemaspy/model/QueryResponseParser.java 
b/src/main/java/org/schemaspy/model/QueryResponseParser.java
index e24b825..1fbdff9 100644
--- a/src/main/java/org/schemaspy/model/QueryResponseParser.java
+++ b/src/main/java/org/schemaspy/model/QueryResponseParser.java
@@ -62,7 +62,12 @@ public class QueryResponseParser
             {
               if(resultMeta.getColumnTypeName(i).equals("timestamp"))
                   
mapOfTheRow.put(resultMeta.getColumnName(i),resultOfQuery.getTimestamp(i));
-              mapOfTheRow.put(resultMeta.getColumnName(i), 
resultOfQuery.getString(i));
+              else if(resultOfQuery.getString(i) == null)
+              {
+                mapOfTheRow.put(resultMeta.getColumnName(i), null);
+              }
+              else
+                mapOfTheRow.put(resultMeta.getColumnName(i), 
resultOfQuery.getString(i));
             }
 
             Row currentRow = new 
Row(parentTable,mapOfTheRow,resultMeta.getColumnCount());
diff --git a/src/main/java/org/schemaspy/model/Row.java 
b/src/main/java/org/schemaspy/model/Row.java
index a3d3ea3..991e4f7 100644
--- a/src/main/java/org/schemaspy/model/Row.java
+++ b/src/main/java/org/schemaspy/model/Row.java
@@ -97,14 +97,19 @@ public class Row
 
     for(Map.Entry<String,Object> entry : content.entrySet())
     {
-      if(initial_state_row.getContent().get(entry.getKey()) == null )
-        return false;
-
-      if(!initial_state_row.getContent().containsKey(entry.getKey()))
-        return false;
-
-      
if(!initial_state_row.getContent().get(entry.getKey()).equals(entry.getValue()))
-        return false;
+        if(initial_state_row.getContent().get(entry.getKey()) == null || 
entry.getValue() == null)
+        {
+            if(!(initial_state_row.getContent().get(entry.getKey()) == null && 
entry.getValue() == null))
+                return false;
+        }
+        else
+        {
+            if (!initial_state_row.getContent().containsKey(entry.getKey()))
+                return false;
+
+            if 
(!initial_state_row.getContent().get(entry.getKey()).toString().equals(entry.getValue().toString()))
+                return false;
+        }
     }
       return true;
   }
diff --git a/src/main/java/org/schemaspy/model/SingleChange.java 
b/src/main/java/org/schemaspy/model/SingleChange.java
index 0463797..a628713 100644
--- a/src/main/java/org/schemaspy/model/SingleChange.java
+++ b/src/main/java/org/schemaspy/model/SingleChange.java
@@ -98,7 +98,7 @@ public class SingleChange
 
     public boolean compareValues()
     {
-        if(this.getNewValue().equals(this.getOldValue()))
+        if(this.getNewValue().toString().equals(this.getOldValue().toString()))
             return true;
 
         return false;
diff --git a/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java 
b/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
index 9eaaeb3..afe70c5 100644
--- a/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
+++ b/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
@@ -45,16 +45,18 @@ public class GenericTreeNodeTest extends 
AbstractTestExecutionListener {
 
     private Database database;
 
-    @Override
-    public void beforeTestClass(TestContext testContext) {
+    private boolean setupDone;
 
-        try {
+    @Before public void setupOnce() throws Exception
+    {
+        if(!setupDone)
+        {
             String[] args = {
                     "-t", "pgsql",
-                    "-db", "sample_database2",
-                    "-hostOptionalPort", "127.0.0.1",
+                    "-db","sample_database2",
+                    "-hostOptionalPort","127.0.0.1",
                     "-o", "target/integrationtesting/databaseServiceIT",
-                    "-dp", "postgresql-42.2.2.jar",
+                    "-dp","postgresql-42.2.2.jar",
                     "-u", "feideus",
                     "-p", "feideus"
             };
@@ -71,36 +73,28 @@ public class GenericTreeNodeTest extends 
AbstractTestExecutionListener {
                     null
             );
             databaseService.gatheringSchemaDetails(config, database, 
progressListener);
-        }
-        catch(Exception e)
-        {
-            e.printStackTrace();
+            database.initMeta(config,database);
+            setupDone = true;
         }
     }
 
     @Test
-    public void WeightPropagationTest() throws AssertionException
+    public void WeightPropagationTest() throws Exception
     {
+        System.out.println("DBBBBB = "+database);
+        System.out.println(sqlService);
         Random rand = new Random();
-        String query = "SELECT * FROM customer WHERE store_id=2";
+        String query = "SELECT * FROM actual_test_table";
         QueryResponse response = null;
 
-        try {
-            PreparedStatement stmt = sqlService.prepareStatement(query, 
database, "customer");
-            ResultSet rs = stmt.executeQuery();
-            QueryResponseParser parser = new QueryResponseParser();
-
-             response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-
-        }
-        catch(Exception e)
-        {
-            e.printStackTrace();
-        }
+        PreparedStatement stmt = sqlService.prepareStatement(query, database, 
"actual_test_table");
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+        response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
 
         GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
-        GenericTreeNode tmpMutation2 = new 
GenericTreeNode(response.getRows().get(1),1,sqlService);
-        GenericTreeNode tmpMutation3 = new 
GenericTreeNode(response.getRows().get(2),1,sqlService);
+        GenericTreeNode tmpMutation2 = new 
GenericTreeNode(response.getRows().get(1),2,tmpMutation1,tmpMutation1,true,sqlService);
+        GenericTreeNode tmpMutation3 = new 
GenericTreeNode(response.getRows().get(2),3,tmpMutation1,tmpMutation1,true,sqlService);
 
         tmpMutation1.setWeight(rand.nextInt(Integer.MAX_VALUE));
         tmpMutation2.setWeight(rand.nextInt(Integer.MAX_VALUE));
@@ -127,263 +121,124 @@ public class GenericTreeNodeTest extends 
AbstractTestExecutionListener {
     }
 
 
+    @Test
+    public void SingleChangeBasedOnWeightShouldNotReturnNull() throws Exception
+    {
+        Random rand = new Random();
+        String query = "SELECT * FROM actual_test_table";
+        QueryResponse response = null;
+
+        PreparedStatement stmt = sqlService.prepareStatement(query, database, 
"actual_test_table");
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+        response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
+        GenericTreeNode tmpMutation2 = new 
GenericTreeNode(response.getRows().get(1),2,tmpMutation1,tmpMutation1,true,sqlService);
+        GenericTreeNode tmpMutation3 = new 
GenericTreeNode(response.getRows().get(2),3,tmpMutation1,tmpMutation1,true,sqlService);
+
+        tmpMutation1.addChild(tmpMutation2);
+        tmpMutation1.addChild(tmpMutation3);
+
+
+        Assert.assertNotNull(tmpMutation1.singleChangeBasedOnWeight());
+        Assert.assertNotNull(tmpMutation2.singleChangeBasedOnWeight());
+        Assert.assertNotNull(tmpMutation3.singleChangeBasedOnWeight());
+    }
+
+    @Test
+    public void singleChangeAttachedMutationShouldMatch() throws Exception// 
Not very Usefull
+    {
+        Random rand = new Random();
+        String query = "SELECT * FROM actual_test_table";
+        QueryResponse response = null;
+
+        PreparedStatement stmt = sqlService.prepareStatement(query, database, 
"actual_test_table");
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+        response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
+        
tmpMutation1.setChosenChange(tmpMutation1.getPotential_changes().get(0));
+
+        Assert.assertEquals("Testing singleChange Attached Mutation 
consistency",tmpMutation1.getChosenChange().getAttachedToMutation().getId(),tmpMutation1.getId());
+
+    }
+
+    @Test
+    public void NoNullMutationPossibilitiesTest() throws Exception
+    {
 
-//    @Ignore
-//    @Test
-//    public void SingleChangeBasedOnWeightShouldNotReturnNull() throws 
AssertionException
-//    {
-//        GenericTreeNode gtn1 = new GenericTreeNode(null,1,null,null,false);
-//        gtn1.setPotential_changes(new ArrayList<>());
-//
-//        GenericTreeNode gtn2= new GenericTreeNode(null,2,null,gtn1,false);
-//        gtn2.setPotential_changes(new ArrayList<>());
-//        gtn2.setWeight(10);
-//
-//        GenericTreeNode gtn3 = new GenericTreeNode(null,3,null,gtn1,false);
-//        gtn3.setPotential_changes(new ArrayList<>());
-//        gtn3.setWeight(10);
-//
-//        SingleChange sg1 = new SingleChange(null,null,"1","2");
-//        SingleChange sg2 = new SingleChange(null,null,"1","3");
-//        SingleChange sg3 = new SingleChange(null,null,"hello","hella");
-//        SingleChange sg4 = new SingleChange(null,null,"f","t");
-//
-//        gtn1.getPotential_changes().add(sg1);
-//        gtn2.getPotential_changes().add(sg2);
-//        gtn3.getPotential_changes().add(sg3);
-//        gtn3.getPotential_changes().add(sg4);
-//
-//        Assert.assertNotNull(gtn1.singleChangeBasedOnWeight());
-//    }
-//
-//    @Ignore
-//    @Test
-//    public void singleChangeAttachedMutationShouldMatch() // Not very Usefull
-//    {
-//        GenericTreeNode gtn1 = new GenericTreeNode(null,1,null,null,false);
-//        String s1 = "1";
-//        Object so1 = s1;
-//        String s2 = "2";
-//        Object so2 = s2;
-//        SingleChange sg1 = new SingleChange(null,null,so1,so2);
-//
-//        gtn1.setChosenChange(sg1);
-//
-//        Assert.assertEquals("Testing singleChange Attached Mutation 
consistency",gtn1.getChosenChange().getAttachedToMutation().getId(),gtn1.getId());
-//
-//    }
-//    @Ignore
-//    @Test
-//    public void NoNullMutationPossibilitiesTest() throws Exception
-//    {
-//
-//        String[] args = {
-//                "-t", "pgsql",
-//                "-db","sample_database2",
-//                "-hostOptionalPort","127.0.0.1",
-//                "-o", "target/integrationtesting/databaseServiceIT",
-//                "-dp","postgresql-42.2.2.jar",
-//                "-u", "feideus",
-//                "-p", "feideus"
-//        };
-//
-//        Config config = new Config(args);
-//        DatabaseMetaData databaseMetaData = sqlService.connect(config);
-//        String schema = sqlService.getConnection().getSchema();
-//        String catalog = sqlService.getConnection().getCatalog();
-//        database = new Database(
-//                databaseMetaData,
-//                "DatabaseServiceIT",
-//                catalog,
-//                schema,
-//                null
-//        );
-//        databaseService.gatheringSchemaDetails(config, database, 
progressListener);
-//
-//        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
test_table", database, null);
-//        ResultSet rs = stmt.executeQuery();
-//        QueryResponseParser parser = new QueryResponseParser();
-//
-//        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-//        GenericTreeNode tmpMutation = new 
GenericTreeNode(response.getRows().get(0),1);
-//        
Assert.assertFalse(tmpMutation.discoverMutationPossibilities(tmpMutation).contains("null"));
-//
-//    }
-//    @Ignore
-//    @Test
-//    public void injectAndUndoConsistencyTest() throws Exception
-//    {
-//        String[] args = {
-//                "-t", "pgsql",
-//                "-db","sample_database2",
-//                "-hostOptionalPort","127.0.0.1",
-//                "-o", "target/integrationtesting/databaseServiceIT",
-//                "-dp","postgresql-42.2.2.jar",
-//                "-u", "feideus",
-//                "-p", "feideus"
-//        };
-//
-//        Config config = new Config(args);
-//        DatabaseMetaData databaseMetaData = sqlService.connect(config);
-//        String schema = sqlService.getConnection().getSchema();
-//        String catalog = sqlService.getConnection().getCatalog();
-//        Database database = new Database(
-//                databaseMetaData,
-//                "DatabaseServiceIT",
-//                catalog,
-//                schema,
-//                null
-//        );
-//        databaseService.gatheringSchemaDetails(config, database, 
progressListener);
-//
-//
-//        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
test_table", database, null);
-//        ResultSet rs = stmt.executeQuery();
-//        QueryResponseParser parser = new QueryResponseParser();
-//        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-//
-//        Row row = response.getRows().get(0);
-//        GenericTreeNode tmpMutation = new GenericTreeNode(row,1);
-//        
tmpMutation.setChosenChange(tmpMutation.getPotential_changes().get(0));
-//        tmpMutation.initPostChangeRow();
-//
-//
-//        Assert.assertTrue(tmpMutation.inject(sqlService,database,false)); 
//Test
-//
-//        rs = stmt.executeQuery();
-//        response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-//
-//        
Assert.assertTrue(response.getRows().get(0).compare(tmpMutation.getPost_change_row()));
-//
-//        Assert.assertTrue(tmpMutation.undo(sqlService,database)); //Test
-//
-//        rs = stmt.executeQuery();
-//        response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-//
-//        
Assert.assertTrue(response.getRows().get(0).compare(tmpMutation.getInitial_state_row()));
-//
-//    }
-//    @Ignore
-//    @Test
-//    public void compareTest() throws Exception
-//    {
-//        String[] args = {
-//                "-t", "pgsql",
-//                "-db","sample_database2",
-//                "-hostOptionalPort","127.0.0.1",
-//                "-o", "target/integrationtesting/databaseServiceIT",
-//                "-dp","postgresql-42.2.2.jar",
-//                "-u", "feideus",
-//                "-p", "feideus"
-//        };
-//
-//        Config config = new Config(args);
-//        DatabaseMetaData databaseMetaData = sqlService.connect(config);
-//        String schema = sqlService.getConnection().getSchema();
-//        String catalog = sqlService.getConnection().getCatalog();
-//        Database database = new Database(
-//                databaseMetaData,
-//                "DatabaseServiceIT",
-//                catalog,
-//                schema,
-//                null
-//        );
-//        databaseService.gatheringSchemaDetails(config, database, 
progressListener);
-//
-//
-//        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
test_table", database, null);
-//        ResultSet rs = stmt.executeQuery();
-//        QueryResponseParser parser = new QueryResponseParser();
-//        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
-//
-//        Row row = response.getRows().get(0);
-//        Row row2 = row.clone();
-//
-//        GenericTreeNode tmpMutation = new GenericTreeNode(row,1);
-//        
tmpMutation.setChosenChange(tmpMutation.getPotential_changes().get(0));
-//
-//        GenericTreeNode tmpMutation2 = new GenericTreeNode(row2,2);
-//        
tmpMutation2.setChosenChange(tmpMutation.getPotential_changes().get(0)); // 
taking potential change fron mut1 just to be sure
-//
-//
-//        Assert.assertTrue(tmpMutation.compare(tmpMutation2));
-//
-//        tmpMutation.getInitial_state_row().getContent().replace("id","-20");
-//
-//        Assert.assertFalse(tmpMutation.compare(tmpMutation2));
-//
-//        
tmpMutation.setChosenChange(tmpMutation.getPotential_changes().get(1));
-//
-//        Assert.assertFalse(tmpMutation.compare(tmpMutation2));
-//
-//    }
-//    @Ignore
-//    @Test
-//    public void findPathToMutationTest ()
-//    {
-//        GenericTreeNode rootMutation = new GenericTreeNode(null,0);
-//        rootMutation.setParent(null);
-//        rootMutation.setDepth(0);
-//        GenericTreeNode tmpMutation = new GenericTreeNode(null,1);
-//        tmpMutation.setParent(rootMutation);
-//        rootMutation.setDepth(1);
-//        GenericTreeNode tmpMutation3 = new GenericTreeNode(null,3);
-//        tmpMutation3.setParent(rootMutation);
-//        rootMutation.setDepth(1);
-//        GenericTreeNode tmpMutation2 = new GenericTreeNode(null,2);
-//        tmpMutation2.setParent(tmpMutation);
-//        rootMutation.setDepth(2);
-//        GenericTreeNode tmpMutation4 = new GenericTreeNode(null,4);
-//        tmpMutation4.setParent(tmpMutation3);
-//        rootMutation.setDepth(2);
-//
-//        ArrayList<GenericTreeNode> res1 = new ArrayList<>();
-//        res1.add(tmpMutation2);
-//        res1.add(tmpMutation);
-//
-//        ArrayList<GenericTreeNode> res2 = new ArrayList<>();
-//        res2.add(tmpMutation3);
-//        res2.add(tmpMutation4);
-//
-//        ArrayList<ArrayList<GenericTreeNode>> finalPath = new ArrayList<>();
-//        finalPath.add(res1);
-//        finalPath.add(res2);
-//
-//        
Assert.assertTrue(tmpMutation2.findPathToMutation(tmpMutation4).equals(finalPath));
-//
-//    }
-//
-//    @Ignore
-//    @Test
-//    public void isSingleChangeOnPathTest ()
-//    {
-//        TableColumn tmpTableColumn1 = new 
TableColumn("test_table_column","bool","test_table");
-//        TableColumn tmpTableColumn2 = new 
TableColumn("test_table_column","bool","test_table");
-//
-//
-//        GenericTreeNode rootMutation = new GenericTreeNode(null,0);
-//        rootMutation.setParent(null);
-//        rootMutation.setChosenChange(new 
SingleChange(tmpTableColumn1,null,"1","3"));
-//        rootMutation.setDepth(0);
-//
-//
-//        GenericTreeNode tmpMutation = new GenericTreeNode(null,1);
-//        tmpMutation.setParent(rootMutation);
-//        rootMutation.setDepth(1);
-//
-//        GenericTreeNode tmpMutation2 = new GenericTreeNode(null,2);
-//        tmpMutation2.setChosenChange(new 
SingleChange(tmpTableColumn2,null,"1","2"));
-//        tmpMutation2.setParent(tmpMutation);
-//        rootMutation.setDepth(2);
-//
-//        GenericTreeNode tmpMutationInPath = new GenericTreeNode(null,3);
-//        tmpMutationInPath.setParent(tmpMutation2);
-//        tmpMutationInPath.setChosenChange(new 
SingleChange(tmpTableColumn1,null,"1","3"));
-//        rootMutation.setDepth(3);
-//
-//        
Assert.assertFalse(tmpMutation2.isSingleChangeOnCurrentPath(rootMutation));
-//        
Assert.assertTrue(tmpMutationInPath.isSingleChangeOnCurrentPath(rootMutation));
-//
-//    }
+
+        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
actual_test_table", database, null);
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+
+        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+        GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
+        
Assert.assertFalse(tmpMutation1.getPotential_changes().contains("null"));
+
+    }
+
+    @Test
+    public void injectAndUndoConsistencyTest() throws Exception
+    {
+
+        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
actual_test_table WHERE address_id=1", database, null);
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        Row row = response.getRows().get(0);
+        GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
+
+        
tmpMutation1.setChosenChange(tmpMutation1.getPotential_changes().get(0));
+        tmpMutation1.initPostChangeRow();
+
+
+        Assert.assertTrue(tmpMutation1.inject(sqlService,database,false)); 
//Test
+
+        rs = stmt.executeQuery();
+        response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        System.out.println(response.getRows().get(0));
+        System.out.println(tmpMutation1.getPost_change_row());
+        
Assert.assertTrue(response.getRows().get(0).compare(tmpMutation1.getPost_change_row()));
+
+        Assert.assertTrue(tmpMutation1.undo(sqlService,database)); //Test
+
+        rs = stmt.executeQuery();
+        response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        
Assert.assertTrue(response.getRows().get(0).compare(tmpMutation1.getInitial_state_row()));
+
+    }
+
+    @Test
+    public void compareTest() throws Exception
+    {
+
+        PreparedStatement stmt = sqlService.prepareStatement("SELECT * FROM 
actual_test_table", database, null);
+        ResultSet rs = stmt.executeQuery();
+        QueryResponseParser parser = new QueryResponseParser();
+        QueryResponse response = 
parser.parse(rs,database.getTablesMap().get("actual_test_table"));
+
+        Row row = response.getRows().get(0);
+        Row row2 = row.clone();
+
+        GenericTreeNode tmpMutation1 = new 
GenericTreeNode(response.getRows().get(0),1,sqlService);
+        
tmpMutation1.setChosenChange(tmpMutation1.getPotential_changes().get(0));
+
+        GenericTreeNode tmpMutation2 = new 
GenericTreeNode(response.getRows().get(1),2,tmpMutation1,tmpMutation1,true,sqlService);
+
+        
tmpMutation2.setChosenChange(tmpMutation2.getPotential_changes().get(0));
+
+        Assert.assertFalse(tmpMutation1.compare(tmpMutation2));
+
+        
tmpMutation1.setChosenChange(tmpMutation1.getPotential_changes().get(1));
+
+        Assert.assertFalse(tmpMutation1.compare(tmpMutation2));
+
+    }
 
 }

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]