@Override public void setOauth2ConfigurationCompleted(final UserKey userKey) { userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(@Nonnull final UserSettingsBuilder input) { input.put(OAUTH2_COMPLETED, true); return input.build(); } }); }
@Test public void updatingUserSettingsWithMaxLengthStringValueSucceeds() { userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, MAX_LENGTH_VALUE_STRING); return input.build(); } }); }
@Test public void updatingUserSettingsByProfileWithMaxLengthKeySucceeds() { userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(MAX_LENGTH_KEY_STRING, true); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void updatingUserSettingsWithTooLongKeyFails() { userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(TOO_LONG_STRING, true); return input.build(); } }); }
@Test public void updatingUserSettingsByProfileWithMaxLengthStringValueSucceeds() { userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, MAX_LENGTH_VALUE_STRING); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void updatingUserSettingsWithTooLongStringValueFails() { userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, TOO_LONG_STRING); return input.build(); } }); }
@Test public void updatingUserSettingsWithMaxLengthKeySucceeds() { userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(MAX_LENGTH_KEY_STRING, true); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void noUserUpdateFailsWithCorrectException() { userSettingsService.updateUserSettings(NOT_A_USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(@Nullable UserSettingsBuilder input) { // should not get here fail("updateUserSettings() should not call the update function when the username is null"); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void noUserProfileUpdateFailsWithCorrectException() { userSettingsService.updateUserSettings(NOT_A_USER_KEY, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(@Nullable UserSettingsBuilder input) { // should not get here fail("updateUserSettings() should not call the update function when the user profile is null"); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void updatingUserSettingsByProfileWithTooLongKeyFails() { userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(TOO_LONG_STRING, true); return input.build(); } }); }
@Test(expected = IllegalArgumentException.class) public void updatingUserSettingsByProfileWithTooLongStringValueFails() { userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, TOO_LONG_STRING); return input.build(); } }); } }
/** * Cleans up SAL user settings for the current user. * * @return response with status {@link javax.ws.rs.core.Response.Status#NO_CONTENT} */ @DELETE @Path("user/settings") public Response cleanUpUserSettings() { UserKey currentUser = userManager.getRemoteUserKey(); if (currentUser == null) { return Response.status(Response.Status.UNAUTHORIZED).build(); } userSettingsService.updateUserSettings(currentUser, new Function<UserSettingsBuilder, UserSettings>() { @Nullable @Override public UserSettings apply(UserSettingsBuilder builder) { for (String key : ImmutableSet.copyOf(builder.getKeys())) { builder.remove(key); } return builder.build(); } }); return Response.noContent().build(); } }
@Before public void setUp() { userKey = getUserKey(USERNAME); // clear for user userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(@Nullable UserSettingsBuilder input) { for (String key : input.getKeys()) { input.remove(key); } return input.build(); } }); }
@Override public void discover(@Nonnull String featureKey) throws NotAuthenticatedException, InvalidFeatureKeyException { checkNotNull(featureKey, "featureKey"); permissionValidationService.validateAuthenticated(); validateFeatureKey(featureKey); userSettingsService.updateUserSettings(userManager.getRemoteUserKey(), addDiscoveredFeature(featureKey)); }
@Test public void typedStringUpdateByProfileStoresOnlyStringType() { // now test a string overriding that boolean userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, STRING_VALUE); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(userKey); checkStringUpdateValue(userSettings); }
@Test public void typedBooleanUpdateByProfileStoresOnlyBooleanType() { // first insert a boolean userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, true); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(userKey); checkBooleanUpdateValue(userSettings); }
@Test public void typedLongUpdateByProfileStoresOnlyLongType() { // now test a long userSettingsService.updateUserSettings(userKey, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, LONG_VALUE); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(userKey); checkLongUpdateValue(userSettings); }
@Test public void typedBooleanUpdateStoresOnlyBooleanType() { // first insert a boolean userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, true); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(USERNAME); checkBooleanUpdateValue(userSettings); }
@Test public void typedStringUpdateStoresOnlyStringType() { // now test a string overriding that boolean userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, STRING_VALUE); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(USERNAME); checkStringUpdateValue(userSettings); }
@Test public void typedLongUpdateStoresOnlyLongType() { // now test a long userSettingsService.updateUserSettings(USERNAME, new Function<UserSettingsBuilder, UserSettings>() { @Override public UserSettings apply(UserSettingsBuilder input) { input.put(KEY_1, LONG_VALUE); return input.build(); } }); // check that the stored value is there UserSettings userSettings = userSettingsService.getUserSettings(USERNAME); checkLongUpdateValue(userSettings); }