Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32618aae authored by arangelov's avatar arangelov
Browse files

Fix TransferOwnershipMetadataManager tests.

Test: bit FrameworksServicesTests:com.android.server.devicepolicy.TransferOwnershipMetadataManagerTest
Bug: 73448505
Change-Id: I06fc52b13ed27a77213cfb3b15dff3f7161f5be0
parent f759af6f
Loading
Loading
Loading
Loading
+19 −10
Original line number Diff line number Diff line
@@ -54,10 +54,14 @@ import java.nio.charset.StandardCharsets;
class TransferOwnershipMetadataManager {
    final static String ADMIN_TYPE_DEVICE_OWNER = "device-owner";
    final static String ADMIN_TYPE_PROFILE_OWNER = "profile-owner";
    private final static String TAG_USER_ID = "user-id";
    private final static String TAG_SOURCE_COMPONENT = "source-component";
    private final static String TAG_TARGET_COMPONENT = "target-component";
    private final static String TAG_ADMIN_TYPE = "admin-type";
    @VisibleForTesting
    final static String TAG_USER_ID = "user-id";
    @VisibleForTesting
    final static String TAG_SOURCE_COMPONENT = "source-component";
    @VisibleForTesting
    final static String TAG_TARGET_COMPONENT = "target-component";
    @VisibleForTesting
    final static String TAG_ADMIN_TYPE = "admin-type";
    private final static String TAG = TransferOwnershipMetadataManager.class.getName();
    public static final String OWNER_TRANSFER_METADATA_XML = "owner-transfer-metadata.xml";

@@ -177,10 +181,10 @@ class TransferOwnershipMetadataManager {
        final ComponentName targetComponent;
        final String adminType;

        Metadata(@NonNull String sourceComponent, @NonNull String targetComponent,
        Metadata(@NonNull ComponentName sourceComponent, @NonNull ComponentName targetComponent,
                @NonNull int userId, @NonNull String adminType) {
            this.sourceComponent = ComponentName.unflattenFromString(sourceComponent);
            this.targetComponent = ComponentName.unflattenFromString(targetComponent);
            this.sourceComponent = sourceComponent;
            this.targetComponent = targetComponent;
            Preconditions.checkNotNull(sourceComponent);
            Preconditions.checkNotNull(targetComponent);
            Preconditions.checkStringNotEmpty(adminType);
@@ -188,10 +192,15 @@ class TransferOwnershipMetadataManager {
            this.adminType = adminType;
        }

        Metadata(@NonNull ComponentName sourceComponent, @NonNull ComponentName targetComponent,
        Metadata(@NonNull String flatSourceComponent, @NonNull String flatTargetComponent,
                @NonNull int userId, @NonNull String adminType) {
            this(sourceComponent.flattenToString(), targetComponent.flattenToString(),
                    userId, adminType);
            this(unflattenComponentUnchecked(flatSourceComponent),
                    unflattenComponentUnchecked(flatTargetComponent), userId, adminType);
        }

        private static ComponentName unflattenComponentUnchecked(String flatComponent) {
            Preconditions.checkNotNull(flatComponent);
            return ComponentName.unflattenFromString(flatComponent);
        }

        @Override
+17 −8
Original line number Diff line number Diff line
@@ -21,6 +21,10 @@ import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.A

import static com.android.server.devicepolicy.TransferOwnershipMetadataManager
        .OWNER_TRANSFER_METADATA_XML;
import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_ADMIN_TYPE;
import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_SOURCE_COMPONENT;
import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_TARGET_COMPONENT;
import static com.android.server.devicepolicy.TransferOwnershipMetadataManager.TAG_USER_ID;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -53,11 +57,13 @@ import java.nio.file.Paths;

@RunWith(AndroidJUnit4.class)
public class TransferOwnershipMetadataManagerTest {
    private final static String ADMIN_PACKAGE = "com.dummy.admin.package";
    private final static String TARGET_PACKAGE = "com.dummy.target.package";
    private final static String SOURCE_COMPONENT =
            "com.dummy.admin.package/com.dummy.admin.package.SourceClassName";
    private final static String TARGET_COMPONENT =
            "com.dummy.target.package/com.dummy.target.package.TargetClassName";
    private final static int USER_ID = 123;
    private final static Metadata TEST_PARAMS = new Metadata(ADMIN_PACKAGE,
            TARGET_PACKAGE, USER_ID, ADMIN_TYPE_DEVICE_OWNER);
    private final static Metadata TEST_PARAMS = new Metadata(SOURCE_COMPONENT,
            TARGET_COMPONENT, USER_ID, ADMIN_TYPE_DEVICE_OWNER);

    private MockInjector mMockInjector;

@@ -84,10 +90,13 @@ public class TransferOwnershipMetadataManagerTest {
            String contents = new String(Files.readAllBytes(path), Charset.forName("UTF-8"));
            assertEquals(
                "<?xml version='1.0' encoding='utf-8' standalone='yes' ?>\n"
                    + "<user-id>" + USER_ID + "</user-id>\n"
                    + "<admin-component>" + ADMIN_PACKAGE + "</admin-component>\n"
                    + "<target-component>" + TARGET_PACKAGE + "</target-component>\n"
                    + "<admin-type>" + ADMIN_TYPE_DEVICE_OWNER + "</admin-type>\n",
                    + "<" + TAG_USER_ID + ">" + USER_ID + "</" + TAG_USER_ID + ">\n"
                    + "<" + TAG_SOURCE_COMPONENT + ">" + SOURCE_COMPONENT + "</"
                        + TAG_SOURCE_COMPONENT + ">\n"
                    + "<" + TAG_TARGET_COMPONENT + ">" + TARGET_COMPONENT + "</"
                        + TAG_TARGET_COMPONENT + ">\n"
                    + "<" + TAG_ADMIN_TYPE + ">" + ADMIN_TYPE_DEVICE_OWNER + "</"
                        + TAG_ADMIN_TYPE + ">\n",
                contents);
        } catch (IOException e) {
            e.printStackTrace();