@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()); }
/** * 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")); } }
@BeforeEach public void setUp() { final MongoDatabase mongoDatabase = EmbeddedMongoHelper.getMongoClient().getDatabase("features-" + UUID.randomUUID()); final FeatureClassProvider featureClassProvider = new TestFeatureClassProvider(); final UserProvider userProvider = mock(UserProvider.class); when(userProvider.getCurrentUser()).thenReturn(new SimpleFeatureUser("someUser")); testee = new MongoTogglzRepository(mongoDatabase, featureClassProvider, userProvider, new MongoProperties()); }