Changed logging, Added test

This commit is contained in:
Philipp Crocoll 2013-07-06 16:12:00 +02:00
parent 77856dc990
commit d35218da39
2 changed files with 34 additions and 1 deletions

View File

@ -69,7 +69,7 @@ namespace Kp2aUnitTests
LoadDb task = new LoadDb(app, new IOConnectionInfo() { Path = filename }, password, keyfile, new ActionOnFinish((success, message) => LoadDb task = new LoadDb(app, new IOConnectionInfo() { Path = filename }, password, keyfile, new ActionOnFinish((success, message) =>
{ {
if (!success) if (!success)
Android.Util.Log.Debug("KP2ATest", message); Kp2aLog.Log(message);
loadSuccesful = success; loadSuccesful = success;
}) })

View File

@ -38,6 +38,39 @@ namespace Kp2aUnitTests
AssertDatabasesAreEqual(app.GetDb().KpDatabase, resultApp.GetDb().KpDatabase); AssertDatabasesAreEqual(app.GetDb().KpDatabase, resultApp.GetDb().KpDatabase);
} }
[TestMethod]
public void TestLoadEditSaveWithSync()
{
//create the default database:
IKp2aApp app = SetupAppWithDefaultDatabase();
//save it and reload it so we have a base version
SaveDatabase(app);
app = LoadDatabase(DefaultFilename, DefaultPassword, DefaultKeyfile);
//load it once again:
IKp2aApp app2 = LoadDatabase(DefaultFilename, DefaultPassword, DefaultKeyfile);
//modify the database by adding a group in both databases:
app.GetDb().KpDatabase.RootGroup.AddGroup(new PwGroup(true, true, "TestGroup", PwIcon.Apple), true);
var group2 = new PwGroup(true, true, "TestGroup2", PwIcon.Energy);
app2.GetDb().KpDatabase.RootGroup.AddGroup(group2, true);
//save the database from app 1:
SaveDatabase(app);
//save the database from app 2: This save operation must detect the changes made from app 1 and ask if it should sync:
SaveDatabase(app2);
//add group 2 to app 1:
app.GetDb().KpDatabase.RootGroup.AddGroup(group2, true);
//load database to a new app instance:
IKp2aApp resultApp = LoadDatabase(DefaultFilename, DefaultPassword, DefaultKeyfile);
//ensure the sync was successful:
AssertDatabasesAreEqual(app.GetDb().KpDatabase, resultApp.GetDb().KpDatabase);
Assert.IsTrue(false, "todo: test for sync question, test overwrite or cancel!");
}
[TestMethod] [TestMethod]
public void TestLoadAndSave_TestIdenticalFiles() public void TestLoadAndSave_TestIdenticalFiles()
{ {