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

Commit b1e823a8 authored by Felipe Leme's avatar Felipe Leme
Browse files

Fixed test case that fails because of string order.

Test: m -j32 FrameworksCoreTests &&  adb install -r -g
${ANDROID_PRODUCT_OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk
&& adb shell am instrument -e class
"android.net.NetworkPolicyManagerTest" -w
"com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner"

BUG: 28791717
Change-Id: Iaef6d8f1a82c6ab4af88f71e5b9e42e0386ed512
parent 1da4f947
Loading
Loading
Loading
Loading
+27 −12
Original line number Original line Diff line number Diff line
@@ -30,11 +30,14 @@ import static android.net.NetworkPolicyManager.uidPoliciesToString;
import static android.net.NetworkPolicyManager.uidRulesToString;
import static android.net.NetworkPolicyManager.uidRulesToString;


import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;


import org.junit.Test;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runner.RunWith;
import org.junit.runners.JUnit4;
import org.junit.runners.JUnit4;


import java.util.Arrays;

@RunWith(JUnit4.class)
@RunWith(JUnit4.class)
public class NetworkPolicyManagerTest {
public class NetworkPolicyManagerTest {


@@ -48,22 +51,27 @@ public class NetworkPolicyManagerTest {
        uidRulesToStringTest(RULE_REJECT_ALL, "64 (REJECT_ALL)");
        uidRulesToStringTest(RULE_REJECT_ALL, "64 (REJECT_ALL)");


        uidRulesToStringTest(RULE_ALLOW_METERED | RULE_ALLOW_ALL,
        uidRulesToStringTest(RULE_ALLOW_METERED | RULE_ALLOW_ALL,
                "33 (ALLOW_METERED|ALLOW_ALL)");
                "33 (ALLOW_METERED|ALLOW_ALL)",
                "33 (ALLOW_ALL|ALLOW_METERED)");
        uidRulesToStringTest(RULE_ALLOW_METERED | RULE_REJECT_ALL,
        uidRulesToStringTest(RULE_ALLOW_METERED | RULE_REJECT_ALL,
                "65 (ALLOW_METERED|REJECT_ALL)");
                "65 (ALLOW_METERED|REJECT_ALL)",
                "65 (REJECT_ALL|ALLOW_METERED)");
        uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_ALLOW_ALL,
        uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_ALLOW_ALL,
                "34 (TEMPORARY_ALLOW_METERED|ALLOW_ALL)");
                "34 (TEMPORARY_ALLOW_METERED|ALLOW_ALL)",
                "34 (ALLOW_ALL|TEMPORARY_ALLOW_METERED)");
        uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_REJECT_ALL,
        uidRulesToStringTest(RULE_TEMPORARY_ALLOW_METERED | RULE_REJECT_ALL,
                "66 (TEMPORARY_ALLOW_METERED|REJECT_ALL)");
                "66 (TEMPORARY_ALLOW_METERED|REJECT_ALL)",
                "66 (REJECT_ALL|TEMPORARY_ALLOW_METERED)");
        uidRulesToStringTest(RULE_REJECT_METERED | RULE_ALLOW_ALL,
        uidRulesToStringTest(RULE_REJECT_METERED | RULE_ALLOW_ALL,
                "36 (REJECT_METERED|ALLOW_ALL)");
                "36 (REJECT_METERED|ALLOW_ALL)",
                "36 (ALLOW_ALL|REJECT_METERED)");
        uidRulesToStringTest(RULE_REJECT_METERED | RULE_REJECT_ALL,
        uidRulesToStringTest(RULE_REJECT_METERED | RULE_REJECT_ALL,
                "68 (REJECT_METERED|REJECT_ALL)");
                "68 (REJECT_METERED|REJECT_ALL)",
                "68 (REJECT_ALL|REJECT_METERED)");
    }
    }


    private void uidRulesToStringTest(int uidRules, String expected) {
    private void uidRulesToStringTest(int uidRules, String... expectedOptions) {
        final String actual = uidRulesToString(uidRules);
        assertContains(uidRulesToString(uidRules), expectedOptions);
        assertEquals("Wrong string for uidRules " + uidRules, expected, actual);
    }
    }


    @Test
    @Test
@@ -75,9 +83,8 @@ public class NetworkPolicyManagerTest {
                "2 (ALLOW_BACKGROUND_BATTERY_SAVE)");
                "2 (ALLOW_BACKGROUND_BATTERY_SAVE)");
    }
    }


    private void uidPoliciesToStringTest(int policyRules, String expected) {
    private void uidPoliciesToStringTest(int policyRules, String... expectedOptions) {
        final String actual = uidPoliciesToString(policyRules);
        assertContains(uidPoliciesToString(policyRules), expectedOptions);
        assertEquals("Wrong string for policyRules " + policyRules, expected, actual);
    }
    }


    @Test
    @Test
@@ -130,4 +137,12 @@ public class NetworkPolicyManagerTest {
        assertEquals(RULE_REJECT_ALL, MASK_ALL_NETWORKS
        assertEquals(RULE_REJECT_ALL, MASK_ALL_NETWORKS
                & (RULE_REJECT_ALL | RULE_REJECT_METERED));
                & (RULE_REJECT_ALL | RULE_REJECT_METERED));
    }
    }

    // TODO: use Truth or Hamcrest
    private void assertContains(String actual, String...expectedOptions) {
        for (String expected : expectedOptions) {
            if (expected.equals(actual)) return;
        }
        fail(actual + " not in " + Arrays.toString(expectedOptions));
    }
}
}