Include basic error details on import failure

This commit is contained in:
Sylvia van Os
2022-02-05 16:54:40 +01:00
parent a20f8b58f8
commit 6a6a8fff2b
8 changed files with 109 additions and 83 deletions

View File

@@ -49,6 +49,7 @@ import androidx.core.content.res.ResourcesCompat;
import protect.card_locker.async.TaskHandler;
import protect.card_locker.importexport.DataFormat;
import protect.card_locker.importexport.ImportExportResult;
import protect.card_locker.importexport.ImportExportResultType;
import protect.card_locker.importexport.MultiFormatExporter;
import protect.card_locker.importexport.MultiFormatImporter;
@@ -324,7 +325,7 @@ public class ImportExportTest {
// Export data to CSV format
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
outStream.close();
TestHelpers.getEmptyDb(activity);
@@ -333,7 +334,7 @@ public class ImportExportTest {
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -354,7 +355,7 @@ public class ImportExportTest {
// Export data to CSV format
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, password);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
outStream.close();
TestHelpers.getEmptyDb(activity);
@@ -363,7 +364,7 @@ public class ImportExportTest {
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, DataFormat.Catima, password);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -386,7 +387,7 @@ public class ImportExportTest {
// Export data to CSV format
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
outStream.close();
TestHelpers.getEmptyDb(activity);
@@ -395,7 +396,7 @@ public class ImportExportTest {
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -457,7 +458,7 @@ public class ImportExportTest {
// Export data to CSV format
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
outStream.close();
TestHelpers.getEmptyDb(activity);
@@ -466,7 +467,7 @@ public class ImportExportTest {
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
assertEquals(NUM_GROUPS, DBHelper.getGroupCount(mDatabase));
@@ -500,14 +501,14 @@ public class ImportExportTest {
// Export into CSV data
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
outStream.close();
ByteArrayInputStream inData = new ByteArrayInputStream(outData.toByteArray());
// Import the CSV data on top of the existing database
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -529,7 +530,7 @@ public class ImportExportTest {
// Export data to CSV format
ImportExportResult result = MultiFormatExporter.exportData(activity.getApplicationContext(), mDatabase, outData, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
TestHelpers.getEmptyDb(activity);
@@ -543,7 +544,7 @@ public class ImportExportTest {
// Attempt to import the data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inData, format, null);
assertEquals(ImportExportResult.GenericFailure, result);
assertEquals(ImportExportResultType.GenericFailure, result.resultType());
assertEquals(0, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -586,7 +587,7 @@ public class ImportExportTest {
// Check that the listener was executed
assertNotNull(listener.result);
assertEquals(ImportExportResult.Success, listener.result);
assertEquals(ImportExportResultType.Success, listener.result.resultType());
TestHelpers.getEmptyDb(activity);
@@ -607,7 +608,7 @@ public class ImportExportTest {
// Check that the listener was executed
assertNotNull(listener.result);
assertEquals(ImportExportResult.Success, listener.result);
assertEquals(ImportExportResultType.Success, listener.result.resultType());
assertEquals(NUM_CARDS, DBHelper.getLoyaltyCardCount(mDatabase));
@@ -633,7 +634,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -670,7 +671,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -707,7 +708,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.GenericFailure, result);
assertEquals(ImportExportResultType.GenericFailure, result.resultType());
assertEquals(0, DBHelper.getLoyaltyCardCount(mDatabase));
TestHelpers.getEmptyDb(activity);
@@ -731,7 +732,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -768,7 +769,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -805,7 +806,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -842,7 +843,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
csvText = "";
@@ -861,7 +862,7 @@ public class ImportExportTest {
// Import the CSV data
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(1, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -1020,7 +1021,7 @@ public class ImportExportTest {
// Import the CSV data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Catima, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(7, DBHelper.getLoyaltyCardCount(mDatabase));
assertEquals(3, DBHelper.getGroupCount(mDatabase));
@@ -1162,7 +1163,7 @@ public class ImportExportTest {
// Import the Fidme data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Fidme, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(3, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -1210,13 +1211,13 @@ public class ImportExportTest {
// Import the Stocard data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Stocard, null);
assertEquals(ImportExportResult.BadPassword, result);
assertEquals(ImportExportResultType.BadPassword, result.resultType());
assertEquals(0, DBHelper.getLoyaltyCardCount(mDatabase));
inputStream = getClass().getResourceAsStream("stocard.zip");
result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.Stocard, "da811b40a4dac56f0cbb2d99b21bbb9a".toCharArray());
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(3, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);
@@ -1302,7 +1303,7 @@ public class ImportExportTest {
// Import the Voucher Vault data
ImportExportResult result = MultiFormatImporter.importData(activity.getApplicationContext(), mDatabase, inputStream, DataFormat.VoucherVault, null);
assertEquals(ImportExportResult.Success, result);
assertEquals(ImportExportResultType.Success, result.resultType());
assertEquals(2, DBHelper.getLoyaltyCardCount(mDatabase));
LoyaltyCard card = DBHelper.getLoyaltyCard(mDatabase, 1);