summaryrefslogtreecommitdiff
path: root/tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java')
-rw-r--r--tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java b/tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java
index 71a0c71a..8ca3cd50 100644
--- a/tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java
+++ b/tests/src/com/android/providers/telephony/TelephonyDatabaseHelperTest.java
@@ -31,6 +31,7 @@ import android.database.sqlite.SQLiteOpenHelper;
import android.os.UserHandle;
import android.provider.Telephony;
import android.telephony.SubscriptionManager;
+import android.telephony.data.ApnSetting;
import android.text.TextUtils;
import android.util.Log;
@@ -540,6 +541,58 @@ public final class TelephonyDatabaseHelperTest {
assertTrue(Arrays.asList(columns).contains(Carriers.ESIM_BOOTSTRAP_PROVISIONING));
}
+ @Test
+ public void databaseHelperOnUpgrade_hasInfrastructureFields_updateInfrastructureValue() {
+ Log.d(TAG, "databaseHelperOnUpgrade_hasInfrastructureFields_updateInfrastructureValue");
+ // (5 << 16 | 6) is the first upgrade trigger in onUpgrade
+ SQLiteDatabase db = mInMemoryDbHelper.getWritableDatabase();
+ // UserHandle column is added in version 65.
+ mHelper.onUpgrade(db, (4 << 16), 65);
+
+ // The upgraded db must have the field Telephony.Carrier.INFRASTRUCTURE_BITMASK.
+ Cursor cursor = db.query("carriers", null, null, null, null, null, null);
+ String[] columns = cursor.getColumnNames();
+ Log.d(TAG, "carriers columns: " + Arrays.toString(columns));
+ assertTrue(Arrays.asList(columns).contains(Carriers.INFRASTRUCTURE_BITMASK));
+
+ // Insert test contentValues into db.
+ final int insertId = 1;
+ final String IdKey = "_id";
+ ContentValues contentValues = new ContentValues();
+ // Set INFRASTRUCTURE_BITMASK to 1ApnSetting.INFRASTRUCTURE_CELLULAR.
+ contentValues.put(Carriers.INFRASTRUCTURE_BITMASK, ApnSetting.INFRASTRUCTURE_CELLULAR);
+ contentValues.put(IdKey, insertId);
+ db.insert("carriers", null, contentValues);
+
+ // Query INFRASTRUCTURE_BITMASK value from db which should be equal to ApnSetting
+ // .INFRASTRUCTURE_CELLULAR.
+ final String[] testProjection = {Carriers.INFRASTRUCTURE_BITMASK};
+ final String selection = IdKey + "=?";
+ String[] selectionArgs = {Integer.toString(insertId)};
+ cursor = db.query("carriers", testProjection, selection, selectionArgs,
+ null, null, null);
+ assertNotNull(cursor);
+ assertEquals(1, cursor.getCount());
+ cursor.moveToFirst();
+ int infrastructureBitmask = cursor.getInt(0);
+ assertEquals(ApnSetting.INFRASTRUCTURE_CELLULAR, infrastructureBitmask);
+
+ // Upgrade db from version 65 to version 67.
+ mHelper.onUpgrade(db, (65 << 16), 67);
+
+ // Query INFRASTRUCTURE_BITMASK value from db which should be equal to (ApnSetting
+ // .INFRASTRUCTURE_CELLULAR | ApnSetting.INFRASTRUCTURE_SATELLITE) after db upgrade.
+ int expectedInfrastructureBitmask =
+ ApnSetting.INFRASTRUCTURE_CELLULAR | ApnSetting.INFRASTRUCTURE_SATELLITE;
+ cursor = db.query("carriers", testProjection, selection, selectionArgs,
+ null, null, null);
+ assertNotNull(cursor);
+ assertEquals(1, cursor.getCount());
+ cursor.moveToFirst();
+ infrastructureBitmask = cursor.getInt(0);
+ assertEquals(expectedInfrastructureBitmask, infrastructureBitmask);
+ }
+
/**
* Helper for an in memory DB used to test the TelephonyProvider#DatabaseHelper.
*