@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { FeatureManager featureManager = FeatureContext.getFeatureManager(); FeatureUser user = featureManager.getCurrentFeatureUser(); StringBuilder builder = new StringBuilder(); builder.append("USER = " + (user != null ? user.getName() : "null")); builder.append("ADMIN = " + (user != null ? user.isFeatureAdmin() : "null")); resp.getOutputStream().write(builder.toString().getBytes()); }
/** * Persist the supplied feature state. The repository implementation must ensure that subsequent calls to * {@link #getFeatureState(Feature)} return the same state as persisted using this method. * * @param featureState The feature state to persist * @throws UnsupportedOperationException if this state repository does not support updates */ @Override public void setFeatureState(final FeatureState featureState) { createOrUpdate(featureState); LOG.info((!isEmpty(userProvider.getCurrentUser().getName()) ? "User '" + userProvider.getCurrentUser().getName() + "'" : "Unknown user") + (featureState.isEnabled() ? " enabled " : " disabled ") + "feature " + featureState.getFeature().name()); }
@Override public void setFeatureState(final FeatureState featureState) { featureStore.put(featureState.getFeature().name(), featureState); LOG.info((!StringUtils.isEmpty(userProvider.getCurrentUser().getName()) ? "User '" + userProvider.getCurrentUser().getName() + "'" : "Unknown user") + (featureState.isEnabled() ? " enabled " : " disabled ") + "feature " + featureState.getFeature().name()); } };
/** * Persist the supplied feature state. The repository implementation must ensure that subsequent calls to * {@link #getFeatureState(Feature)} return the same state as persisted using this method. * * @param featureState The feature state to persist * @throws UnsupportedOperationException if this state repository does not support updates */ @Override public void setFeatureState(final FeatureState featureState) { createOrUpdate(featureState); LOG.info((!isEmpty(userProvider.getCurrentUser().getName()) ? "User '" + userProvider.getCurrentUser().getName() + "'" : "Unknown user") + (featureState.isEnabled() ? " enabled " : " disabled ") + "feature " + featureState.getFeature().name()); }
@Test public void shouldReturnAuthenticatedUser() { // given final UserProvider userProvider = new TogglzConfiguration().userProvider(); final HttpServletRequest mockRequest = mock(HttpServletRequest.class); when(mockRequest.getHeader("Authorization")).thenReturn("Basic " + Base64Utils.encodeToString("testuser:passwd".getBytes())); HttpServletRequestHolder.bind(mockRequest); // when final FeatureUser currentUser = userProvider.getCurrentUser(); // then assertThat(currentUser.getName(), is("testuser")); } }