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: Trying to work ar


From: gnunet
Subject: [GNUnet-SVN] [taler-schemafuzz] branch master updated: Trying to work around @BeforeClass JUnit limits
Date: Tue, 12 Jun 2018 16:27:31 +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 bffa8bb  Trying to work around @BeforeClass JUnit limits
bffa8bb is described below

commit bffa8bb0862c0394230693ced5d33c1518644362
Author: Feideus <address@hidden>
AuthorDate: Tue Jun 12 16:27:21 2018 +0200

    Trying to work around @BeforeClass JUnit limits
---
 TODO.txt                                           |   3 +-
 .../java/org/schemaspy/model/GenericTreeNode.java  | 170 ++----
 .../org/schemaspy/model/GenericTreeNodeTest.java   | 597 +++++++++++----------
 .../java/org/schemaspy/model/GenericTreeTest.java  |  12 +-
 4 files changed, 390 insertions(+), 392 deletions(-)

diff --git a/TODO.txt b/TODO.txt
index 33b36bd..eeecd60 100644
--- a/TODO.txt
+++ b/TODO.txt
@@ -3,6 +3,5 @@ MANUAL FOR USE
 WEBSITE
 TEST CASES/ UNIT TESTING INTEGRATION TESTING
 VARCHAR CLASSIFIER (LATER)
-MORE TYPES
-MORE DB TYPES  
+MORE DB TYPES
 
diff --git a/src/main/java/org/schemaspy/model/GenericTreeNode.java 
b/src/main/java/org/schemaspy/model/GenericTreeNode.java
index 5a5025c..36d932b 100644
--- a/src/main/java/org/schemaspy/model/GenericTreeNode.java
+++ b/src/main/java/org/schemaspy/model/GenericTreeNode.java
@@ -1,16 +1,8 @@
 package org.schemaspy.model;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
 import java.sql.*;
-
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Logger;
-
 import org.schemaspy.*;
 import org.schemaspy.service.SqlService;
 
@@ -25,8 +17,6 @@ public class GenericTreeNode {
     private Row initial_state_row;
     private Row post_change_row;
     private ArrayList<SingleChange> potential_changes = new 
ArrayList<SingleChange>();
-    //private ArrayList<SingleChange> cascadeFK = new 
ArrayList<SingleChange>(); // a integrer
-    //private boolean cascadingFK;
     private GenericTreeNode parent;
     private ArrayList<GenericTreeNode> children = new 
ArrayList<GenericTreeNode>();
     private SingleChange chosenChange;
@@ -247,9 +237,6 @@ public class GenericTreeNode {
         String typeName = tableColumn.getTypeName();
         GenericTreeNode rootForThisMutation = FirstApperanceOf(this);
 
-        System.out.println(typeName);
-
-
         switch (typeName) {
             case "smallint":
             case "integer":
@@ -265,7 +252,7 @@ public class GenericTreeNode {
                     break;
                 }
             case "character":
-            case "character varying": // MIXED CHARACTERS/NUMBERS STRINGS MAKE 
CHARAT CRASH AT 0 IF FIRST CHAR IS NUMBER. USE REGEX TO FIND FIRST ACTUAL 
LETTER ?
+            case "character varying":
             case "varchar":
 
 
@@ -383,28 +370,14 @@ public class GenericTreeNode {
 
         if (undo)
         {
-            if 
(chosenChange.getParentTableColumn().getTypeName().equals("varchar")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("bool")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("email"))
+            if (requireQuotes(chosenChange.getParentTableColumn()) ==1)
                 theQuery = "UPDATE " + 
initial_state_row.getParentTable().getName() + " SET " + 
chosenChange.getParentTableColumn().getName() + "='" + 
chosenChange.getOldValue().toString() + "', ";
             else
                 theQuery = "UPDATE " + 
initial_state_row.getParentTable().getName() + " SET " + 
chosenChange.getParentTableColumn().getName() + " = " + 
chosenChange.getOldValue().toString() + ", ";
         }
         else
         {
-            if 
(chosenChange.getParentTableColumn().getTypeName().equals("varchar")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("bool")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
-                    || 
chosenChange.getParentTableColumn().getTypeName().equals("email"))
+            if (requireQuotes(chosenChange.getParentTableColumn()) ==1)
                 theQuery = "UPDATE " + 
initial_state_row.getParentTable().getName() + " SET " + 
chosenChange.getParentTableColumn().getName() + "='" + 
chosenChange.getNewValue().toString() + "', ";
             else
                 theQuery = "UPDATE " + 
initial_state_row.getParentTable().getName() + " SET " + 
chosenChange.getParentTableColumn().getName() + "=" + 
chosenChange.getNewValue().toString() + ", ";
@@ -418,20 +391,15 @@ public class GenericTreeNode {
                 if 
(!entry.getKey().equals(chosenChange.getParentTableColumn().getName()))
                 {
                     
if(chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()) != 
null) {// not very good, check why the field is null in the first place
-                        if 
(chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("varchar")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("bool")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("timestamp")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("date")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("_text")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("text")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("fulltext")
-                                || 
chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()).getTypeName().equals("email"))
 {
+                        if 
(requireQuotes(chosenChange.getParentTableColumn().getTable().getColumn(entry.getKey()))
 == 1)
+                        {
                             if (entry.getValue() != null)
                                 theQuery = theQuery + (entry.getKey() + "='" + 
entry.getValue().toString() + "' AND ");
                             else
                                 theQuery = theQuery + (entry.getKey() + "= 
null AND ");
                         }
                     }
+                    
                 }
                 else
                 {
@@ -441,8 +409,14 @@ public class GenericTreeNode {
                         theQuery = theQuery + (entry.getKey() + "='" + 
chosenChange.getOldValue().toString() + "' AND ");
                 }
             }
-            theQuery = theQuery.substring(0, theQuery.lastIndexOf(" AND "));
+            try
+            {
+                theQuery = theQuery.substring(0, theQuery.lastIndexOf(" AND 
"));
+            }
+            catch(Exception e)
+            {
 
+            }
             System.out.println(theQuery);
 
         return theQuery;
@@ -717,9 +691,6 @@ public class GenericTreeNode {
     {
         TableColumn sgParentColumn = chosenChange.getParentTableColumn();
 
-        QueryResponseParser qrp;
-        QueryResponse response = null;
-
         Collection<ForeignKeyConstraint> lesFk= 
db.getLesForeignKeys().get(sgParentColumn.getTable().getName().toUpperCase());
         for(ForeignKeyConstraint fk : lesFk)
         {
@@ -730,59 +701,29 @@ public class GenericTreeNode {
         }
 
         String semiQuery = "SELECT * FROM " + 
chosenChange.getParentTableColumn().getTable().getName() ;
-        if (chosenChange.getParentTableColumn().getTypeName().equals("varchar")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("bool")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("email"))
+        if (requireQuotes(chosenChange.getParentTableColumn()) == 1)
             semiQuery = semiQuery + " WHERE " + 
chosenChange.getParentTableColumn().getName() + "= 
'"+chosenChange.getOldValue() + " '";
         else
             semiQuery = semiQuery + " WHERE " + 
chosenChange.getParentTableColumn().getName() + "="+chosenChange.getOldValue();
 
-        try {
-            Statement stmt = sqlService.getConnection().createStatement();
-            ResultSet res = stmt.executeQuery(semiQuery);
-            qrp = new QueryResponseParser();
-            ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res, 
chosenChange.getParentTableColumn().getTable()).getRows());
-            response = new QueryResponse(rows);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+        System.out.println(semiQuery);
 
-        setInitial_state_row(response.getRows().get(0)); // there should be 
only one row. post change row ?
+        QueryResponse response = 
fetchingDataFromDatabase(semiQuery,chosenChange.getParentTableColumn().getTable(),sqlService);
 
 
+        setInitial_state_row(response.getRows().get(0)); // there should be 
only one row. post change row ?
 
         semiQuery = "SELECT * FROM " + 
chosenChange.getParentTableColumn().getTable().getName() ;
-        if (chosenChange.getParentTableColumn().getTypeName().equals("varchar")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("bool")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("timestamp")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("date")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("_text")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("text")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("fulltext")
-                || 
chosenChange.getParentTableColumn().getTypeName().equals("email"))
+
+        if (requireQuotes(chosenChange.getParentTableColumn()) == 1)
             semiQuery = semiQuery + " WHERE " + 
chosenChange.getParentTableColumn().getName() + "= 
'"+chosenChange.getNewValue() + " '";
         else
             semiQuery = semiQuery + " WHERE " + 
chosenChange.getParentTableColumn().getName() + "="+chosenChange.getNewValue();
 
-        try {
-            Statement stmt = sqlService.getConnection().createStatement();
-            ResultSet res = stmt.executeQuery(semiQuery);
-            qrp = new QueryResponseParser();
-            ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res, 
chosenChange.getParentTableColumn().getTable()).getRows());
-            response = new QueryResponse(rows);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
+        response = 
fetchingDataFromDatabase(semiQuery,chosenChange.getParentTableColumn().getTable(),sqlService);
 
         if(!response.getRows().isEmpty())
         {
-            try
-            {
                 String columnName= 
chosenChange.getParentTableColumn().getName();
                 String tableName = 
chosenChange.getParentTableColumn().getTable().getName();
 
@@ -790,21 +731,13 @@ public class GenericTreeNode {
                             "UNION ALL SELECT  * FROM    ( SELECT  
"+columnName+" + 1 FROM "+tableName+" t WHERE NOT EXISTS ( SELECT  1 FROM 
"+tableName+" ti WHERE ti."+columnName+" = t."+columnName+" + 1) " +
                             "ORDER BY "+columnName+" LIMIT 1) q2 LIMIT 1";
 
-                Statement stmt = sqlService.getConnection().createStatement();
-                ResultSet res = stmt.executeQuery(semiQuery);
-                qrp = new QueryResponseParser();
-                ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res, 
chosenChange.getParentTableColumn().getTable()).getRows());
-                response = new QueryResponse(rows);
+                response = 
fetchingDataFromDatabase(semiQuery,chosenChange.getParentTableColumn().getTable(),sqlService);
 
                 
chosenChange.setNewValue(response.getRows().get(0).getValueOfColumn(columnName));
-            }
-            catch(Exception e)
-            {
-                e.printStackTrace();
-            }
         }
     }
 
+
     public void setInitial_state_row(Row initial_state_row) {
         this.initial_state_row = initial_state_row;
         initPostChangeRow();
@@ -823,8 +756,6 @@ public class GenericTreeNode {
 
     public ArrayList<SingleChange> 
removePotentialChangesThatDontMatchConstraints(ArrayList<SingleChange> 
possibilities, SqlService sqlService)
     {
-        QueryResponseParser qrp;
-        QueryResponse response = null;
         ArrayList<SingleChange> newPossibilities = possibilities;
 
         for(SingleChange sg : possibilities)
@@ -832,33 +763,14 @@ public class GenericTreeNode {
             
if(sg.getParentTableColumn().getTable().getPrimaryColumns().contains(sg.getParentTableColumn()))
 // unique OR PK constraints
             {
                 String semiQuery = "SELECT * FROM " + 
sg.getParentTableColumn().getTable().getName();
-                if (sg.getParentTableColumn().getTypeName().equals("varchar")
-                        || 
sg.getParentTableColumn().getTypeName().equals("bool")
-                        || 
sg.getParentTableColumn().getTypeName().equals("timestamp")
-                        || 
sg.getParentTableColumn().getTypeName().equals("date")
-                        || 
sg.getParentTableColumn().getTypeName().equals("_text")
-                        || 
sg.getParentTableColumn().getTypeName().equals("text")
-                        || 
sg.getParentTableColumn().getTypeName().equals("fulltext")
-                        || 
sg.getParentTableColumn().getTypeName().equals("email"))
+                if (requireQuotes(sg.getParentTableColumn()) == 1)
                     semiQuery = semiQuery + " WHERE " + 
sg.getParentTableColumn().getName() + "= '" + sg.getNewValue() + " '";
                 else
                     semiQuery = semiQuery + " WHERE " + 
sg.getParentTableColumn().getName() + "=" + sg.getNewValue();
 
                 System.out.println("removing = " + semiQuery);
 
-                try
-                {
-                    Statement stmt = 
sqlService.getConnection().createStatement();
-                    ResultSet res = stmt.executeQuery(semiQuery);
-                    qrp = new QueryResponseParser();
-                    ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res, 
sg.getParentTableColumn().getTable()).getRows());
-                    response = new QueryResponse(rows);
-                }
-                catch (Exception e)
-                {
-                    e.printStackTrace();
-                }
-
+                QueryResponse response = 
fetchingDataFromDatabase(semiQuery,sg.getParentTableColumn().getTable(),sqlService);
 
                 SingleChange tmp = sg;
                 if(response.getRows() != null)
@@ -867,4 +779,38 @@ public class GenericTreeNode {
         }
         return newPossibilities;
     }
+
+    public int requireQuotes(TableColumn column) // checks if column is of 
"Stringish" (needs sql quotes) as 1 or "integerish" as 0. more typeishes can be 
added in the future. existing lists can be edited
+    {
+        if (column.getTypeName().equals("varchar")
+                || column.getTypeName().equals("bool")
+                || column.getTypeName().equals("timestamp")
+                || column.getTypeName().equals("date")
+                || column.getTypeName().equals("_text")
+                || column.getTypeName().equals("text")
+                || column.getTypeName().equals("fulltext")
+                || column.getTypeName().equals("email"))
+            return 1;
+        else
+            return 0;
+    }
+
+    public QueryResponse fetchingDataFromDatabase(String semiQuery,Table 
parentTable, SqlService sqlService)
+    {
+        QueryResponseParser qrp;
+        QueryResponse response = null;
+        try
+        {
+            Statement stmt = sqlService.getConnection().createStatement();
+            ResultSet res = stmt.executeQuery(semiQuery);
+            qrp = new QueryResponseParser();
+            ArrayList<Row> rows = new ArrayList<Row>(qrp.parse(res, 
parentTable).getRows());
+            response = new QueryResponse(rows);
+        }
+        catch (Exception e)
+        {
+            e.printStackTrace();
+        }
+        return response;
+    }
 }
diff --git a/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java 
b/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
index 8f3d2b1..9eaaeb3 100644
--- a/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
+++ b/src/test/java/org/schemaspy/model/GenericTreeNodeTest.java
@@ -15,7 +15,11 @@ import org.junit.Test;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.context.TestContext;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 import org.springframework.test.context.junit4.SpringRunner;
+import org.springframework.test.context.support.AbstractTestExecutionListener;
+
 import java.sql.DatabaseMetaData;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -24,15 +28,14 @@ import java.util.HashMap;
 import java.util.Random;
 
 
address@hidden(SpringRunner.class)
address@hidden(SpringJUnit4ClassRunner.class)
 @SpringBootTest
-public class GenericTreeNodeTest {
+public class GenericTreeNodeTest extends AbstractTestExecutionListener {
 
     @Autowired
     private SqlService sqlService;
     @Autowired
     private DatabaseService databaseService;
-    private Database database;
     @Mock
     private ProgressListener progressListener;
     @MockBean
@@ -40,297 +43,347 @@ public class GenericTreeNodeTest {
     @MockBean
     private CommandLineRunner commandLineRunner;
 
+    private Database database;
 
+    @Override
+    public void beforeTestClass(TestContext testContext) {
+
+        try {
+            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);
+        }
+        catch(Exception e)
+        {
+            e.printStackTrace();
+        }
+    }
 
-    @Ignore
     @Test
     public void WeightPropagationTest() throws AssertionException
     {
         Random rand = new Random();
+        String query = "SELECT * FROM customer WHERE store_id=2";
+        QueryResponse response = null;
 
-        GenericTreeNode gtn1 = new GenericTreeNode(null,1,null,null,false);
-        gtn1.setWeight(rand.nextInt(Integer.MAX_VALUE));
-        GenericTreeNode gtn2 = new GenericTreeNode(null,2,null,gtn1,false);
-        gtn2.setWeight(rand.nextInt(Integer.MAX_VALUE));
-        GenericTreeNode gtn3 = new GenericTreeNode(null,3,null,gtn1,false);
-        gtn3.setWeight(Integer.MAX_VALUE);
-
-        gtn1.addChild(gtn2);
-        gtn1.addChild(gtn3);
-
-        gtn2.propagateWeight();
-        gtn3.propagateWeight();
-
-        Assert.assertEquals("Testing Weight propagation 
",gtn1.getSubTreeWeight(),gtn2.getWeight()+gtn3.getWeight());
-
-        gtn2.setWeight(10);
-        gtn3.setWeight(10);
-
-        gtn2.propagateWeight();
-        gtn3.propagateWeight();
-
-        gtn1.setSubTreeWeight(0);
-
-        Assert.assertFalse(gtn1.getSubTreeWeight() == 
gtn2.getWeight()+gtn3.getWeight());
-
-    }
-
-    @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"
-        };
+        try {
+            PreparedStatement stmt = sqlService.prepareStatement(query, 
database, "customer");
+            ResultSet rs = stmt.executeQuery();
+            QueryResponseParser parser = new QueryResponseParser();
 
-        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);
+             response = 
parser.parse(rs,database.getTablesMap().get("test_table"));
 
+        }
+        catch(Exception e)
+        {
+            e.printStackTrace();
+        }
 
-        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 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);
 
-        Row row = response.getRows().get(0);
-        Row row2 = row.clone();
+        tmpMutation1.setWeight(rand.nextInt(Integer.MAX_VALUE));
+        tmpMutation2.setWeight(rand.nextInt(Integer.MAX_VALUE));
+        tmpMutation3.setWeight(Integer.MAX_VALUE);
 
-        GenericTreeNode tmpMutation = new GenericTreeNode(row,1);
-        tmpMutation.setChosenChange(tmpMutation.getPotential_changes().get(0));
+        tmpMutation1.addChild(tmpMutation2);
+        tmpMutation1.addChild(tmpMutation3);
 
-        GenericTreeNode tmpMutation2 = new GenericTreeNode(row2,2);
-        
tmpMutation2.setChosenChange(tmpMutation.getPotential_changes().get(0)); // 
taking potential change fron mut1 just to be sure
+        tmpMutation2.propagateWeight();
+        tmpMutation3.propagateWeight();
 
+        Assert.assertEquals("Testing Weight propagation 
",tmpMutation1.getSubTreeWeight(),tmpMutation2.getWeight()+tmpMutation3.getWeight());
 
-        Assert.assertTrue(tmpMutation.compare(tmpMutation2));
+        tmpMutation2.setWeight(10);
+        tmpMutation3.setWeight(10);
 
-        tmpMutation.getInitial_state_row().getContent().replace("id","-20");
+        tmpMutation2.propagateWeight();
+        tmpMutation3.propagateWeight();
 
-        Assert.assertFalse(tmpMutation.compare(tmpMutation2));
+        tmpMutation1.setSubTreeWeight(0);
 
-        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));
+        Assert.assertFalse(tmpMutation1.getSubTreeWeight() == 
tmpMutation2.getWeight()+tmpMutation3.getWeight());
 
     }
 
-    @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));
-
-    }
+//    @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));
+//
+//    }
 
 }
diff --git a/src/test/java/org/schemaspy/model/GenericTreeTest.java 
b/src/test/java/org/schemaspy/model/GenericTreeTest.java
index 4493f88..4c91bcc 100644
--- a/src/test/java/org/schemaspy/model/GenericTreeTest.java
+++ b/src/test/java/org/schemaspy/model/GenericTreeTest.java
@@ -83,27 +83,27 @@ public class GenericTreeTest {
 
         GenericTree tree = new GenericTree();
 
-        GenericTreeNode tmpMutation = new GenericTreeNode(row,1);
+        GenericTreeNode tmpMutation = new GenericTreeNode(row,1,sqlService);
         tmpMutation.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation.setDepth(0);
 
-        GenericTreeNode tmpMutation2 = new GenericTreeNode(row2,2);
+        GenericTreeNode tmpMutation2 = new GenericTreeNode(row2,2,sqlService);
         
tmpMutation2.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation2.setDepth(1);
 
-        GenericTreeNode tmpMutation3 = new GenericTreeNode(row3,3);
+        GenericTreeNode tmpMutation3 = new GenericTreeNode(row3,3,sqlService);
         
tmpMutation3.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation3.setDepth(2);
 
-        GenericTreeNode tmpMutation4 = new GenericTreeNode(row4,4);
+        GenericTreeNode tmpMutation4 = new GenericTreeNode(row4,4,sqlService);
         
tmpMutation4.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation4.setDepth(1);
 
-        GenericTreeNode tmpMutation5 = new GenericTreeNode(row5,5);
+        GenericTreeNode tmpMutation5 = new GenericTreeNode(row5,5,sqlService);
         
tmpMutation4.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation4.setDepth(3);
 
-        GenericTreeNode tmpMutation6 = new GenericTreeNode(row6,6);
+        GenericTreeNode tmpMutation6 = new GenericTreeNode(row6,6,sqlService);
         
tmpMutation6.setChosenChange(tmpMutation.getPotential_changes().get(0));
         tmpMutation6.setDepth(4);
 

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



reply via email to

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