diff options
author | 2025-02-04 22:15:32 -0600 | |
---|---|---|
committer | 2025-02-04 23:15:41 -0600 | |
commit | 889c2c74a766d6bd5bf52bea372636d20e62deb0 (patch) | |
tree | f56def55cfbe696bc76287f68b539f23c09e9e52 | |
parent | 9f48f16dcee467d26017c3d3ec190d69d2d09f50 (diff) |
JobScheduler: Add missing unit tests for job name.
Addresses the lack of unit tests for job name construction, providing
more confidence in future changes.
Bug: 354795473
Test: atest FrameworksMockingServicesTests:com.android.server.job
Test: atest CtsJobSchedulerTestCases
Flag: EXEMPT bugfix
Change-Id: I6a980e1312ecdc25cccbc2d6b87a029a2e1a14de
-rw-r--r-- | services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java b/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java index 86101cf591e7..2cd105ba5317 100644 --- a/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/job/controllers/JobStatusTest.java @@ -86,6 +86,8 @@ public class JobStatusTest { private static final double DELTA = 0.00001; private static final String TEST_PACKAGE = "job.test.package"; private static final ComponentName TEST_JOB_COMPONENT = new ComponentName(TEST_PACKAGE, "test"); + private static final String SOURCE_PACKAGE = "com.android.frameworks.mockingservicestests"; + private static final int SOURCE_USER_ID = 0; private static final Uri IMAGES_MEDIA_URI = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; private static final Uri VIDEO_MEDIA_URI = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; @@ -1342,6 +1344,35 @@ public class JobStatusTest { assertFalse(job.readinessStatusWithConstraint(CONSTRAINT_FLEXIBLE, false)); } + @Test + public void testJobName_NoTagNoNamespace() { + final JobInfo jobInfo = new JobInfo.Builder(101, new ComponentName("foo", "bar")).build(); + JobStatus jobStatus = createJobStatus(jobInfo, null, -1, null, null); + assertEquals("foo/bar", jobStatus.getBatteryName()); + } + + @Test + public void testJobName_NoTagWithNamespace() { + final JobInfo jobInfo = new JobInfo.Builder(101, new ComponentName("foo", "bar")).build(); + JobStatus jobStatus = createJobStatus(jobInfo, null, -1, "TestNamespace", null); + assertEquals("@TestNamespace@foo/bar", jobStatus.getBatteryName()); + } + + @Test + public void testJobName_WithTagNoNamespace() { + final JobInfo jobInfo = new JobInfo.Builder(101, new ComponentName("foo", "bar")).build(); + JobStatus jobStatus = createJobStatus(jobInfo, SOURCE_PACKAGE, 0, null, "TestTag"); + assertEquals("TestTag:foo", jobStatus.getBatteryName()); + } + + @Test + public void testJobName_WithTagAndNamespace() { + final JobInfo jobInfo = new JobInfo.Builder(101, new ComponentName("foo", "bar")).build(); + JobStatus jobStatus = createJobStatus(jobInfo, SOURCE_PACKAGE, 0, + "TestNamespace", "TestTag"); + assertEquals("@TestNamespace@TestTag:foo", jobStatus.getBatteryName()); + } + private void markExpeditedQuotaApproved(JobStatus job, boolean isApproved) { if (job.isRequestedExpeditedJob()) { job.setExpeditedJobQuotaApproved(sElapsedRealtimeClock.millis(), isApproved); @@ -1369,4 +1400,12 @@ public class JobStatusTest { jobStatus.serviceProcessName = "testProcess"; return jobStatus; } + + private static JobStatus createJobStatus( + JobInfo job, String packageName, int callingUid, String namespace, String tag) { + JobStatus jobStatus = JobStatus.createFromJobInfo( + job, callingUid, packageName, SOURCE_USER_ID, namespace, tag); + jobStatus.serviceProcessName = "testProcess"; + return jobStatus; + } } |