Esempio n. 1
0
 /**
  * @see com.jianla.shiro.remote.RemoteServiceInterface#getPermissions(java.lang.String,
  *     java.lang.String)
  */
 @Override
 public PermissionContext getPermissions(String appKey, String username) {
   PermissionContext permissionContext = new PermissionContext();
   permissionContext.setRoles(authorizationService.findRoles(appKey, username));
   permissionContext.setPermissions(authorizationService.findPermissions(appKey, username));
   return permissionContext;
 }
  private void runTest(
      boolean mobileCapable,
      UserUploadPreference userPreference,
      boolean isConnected,
      boolean wifiOn,
      boolean experimentEnabled,
      boolean hasSetMetricsReporting,
      boolean isMetricsReportinEnabled,
      boolean uploadPermitted) {
    PermissionContext context = new PermissionContext(getInstrumentation().getTargetContext());
    ContextUtils.initApplicationContextForTests(context.getApplicationContext());
    PrivacyPreferencesManager preferenceManager =
        new MockPrivacyPreferencesManager(
            context,
            mobileCapable,
            isConnected,
            wifiOn,
            hasSetMetricsReporting,
            isMetricsReportinEnabled);
    preferenceManager.enablePotentialCrashUploading();
    preferenceManager.setCellularExperiment(experimentEnabled);

    for (int i = 0; i < REPS; i++) {
      setUpUserPreferences(context, userPreference);
      String state =
          String.format(
              "[cellular = %b, preference = %b, connected = %b, wifi = %b,"
                  + "experiment = %b, reporting_set = %b, reporting = %b]",
              mobileCapable,
              userPreference.toBooleanValue(),
              isConnected,
              wifiOn,
              experimentEnabled,
              hasSetMetricsReporting,
              isMetricsReportinEnabled);
      boolean res = preferenceManager.isUploadPermitted();
      if (uploadPermitted) {
        assertTrue("Upload should be permitted for " + state, res);
      } else {
        assertFalse("Upload should NOT be permitted for " + state, res);
      }
    }
  }