[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] [taler-schemafuzz] branch master updated: Unit tests are back online. Fixed minor same value Mutations bugg that popped up after last commit,
gnunet <=