Package org.togglz.core.repository

Examples of org.togglz.core.repository.FeatureState


    @Before
    public void before() {

        repository = new InMemoryStateRepository();
        repository.setFeatureState(new FeatureState(MyFeatures.DELETE_USERS, true)
            .setStrategyId(UsernameActivationStrategy.ID)
            .setParameter(UsernameActivationStrategy.PARAM_USERS, "admin"));
        repository.setFeatureState(new FeatureState(MyFeatures.MISSING_STRATEGY, true)
            .setStrategyId("NoSuchActivationStrategy"));
        repository.setFeatureState(new FeatureState(MyFeatures.EXPERIMENTAL, false));

        featureUserProvider = new TestFeatureUserProvider();

        manager = new FeatureManagerBuilder()
            .featureEnum(MyFeatures.class)
View Full Code Here


        // enabled for admin
        featureUserProvider.setFeatureUser(new SimpleFeatureUser("admin", false));
        assertEquals(true, manager.isActive(MyFeatures.DELETE_USERS));

        // disable feature, but keep configuration
        FeatureState state = repository.getFeatureState(MyFeatures.DELETE_USERS);
        state.setEnabled(false);
        repository.setFeatureState(state);

        // enabled for admin
        assertEquals(false, manager.isActive(MyFeatures.DELETE_USERS));
View Full Code Here

    }

    @Test
    public void testGetFeatureState() {

        FeatureState state = manager.getFeatureState(MyFeatures.DELETE_USERS);
        assertEquals(MyFeatures.DELETE_USERS, state.getFeature());
        assertEquals(true, state.isEnabled());
        assertEquals("admin", state.getParameter(UsernameActivationStrategy.PARAM_USERS));

    }
View Full Code Here

        repository = new JDBCStateRepository(dataSource, "TOGGLZ", true,
            DefaultMapSerializer.multiline());
    }

    private void whenTheFeatureIsEnabled() {
        FeatureState state = new FeatureState(AutoCommitFeature.F1)
            .enable()
            .setStrategyId("foobar");
        repository.setFeatureState(state);
    }
View Full Code Here

            .setStrategyId("foobar");
        repository.setFeatureState(state);
    }

    private void thenTheDatabaseShouldBeUpdated() {
        FeatureState state = repository.getFeatureState(AutoCommitFeature.F1);
        assertThat(state).isNotNull();
        assertThat(state.isEnabled()).isTrue();
        assertThat(state.getStrategyId()).isEqualTo("foobar");
    }
View Full Code Here

    private final ActivationStrategy strategy = new TestingGradualActivationStrategy();

    @Test
    public void shouldAlwaysReturnFalseForZeroPercent() {

        FeatureState state = new FeatureState(GradualFeature.FEATURE);
        state.setEnabled(true);
        state.setParameter(GradualActivationStrategy.PARAM_PERCENTAGE, "0");

        // whatever the hash value is, false is expected
        assertFalse(strategy.isActive(state, aUserWithHash(0)));
        assertFalse(strategy.isActive(state, aUserWithHash(1)));
        assertFalse(strategy.isActive(state, aUserWithHash(3)));
View Full Code Here

    }

    @Test
    public void shouldAlwaysReturnTrueForOneHundredPercent() {

        FeatureState state = new FeatureState(GradualFeature.FEATURE);
        state.setEnabled(true);
        state.setParameter(GradualActivationStrategy.PARAM_PERCENTAGE, "100");

        // whatever the hash value is, true is expected
        assertTrue(strategy.isActive(state, aUserWithHash(0)));
        assertTrue(strategy.isActive(state, aUserWithHash(1)));
        assertTrue(strategy.isActive(state, aUserWithHash(3)));
View Full Code Here

    }

    @Override
    public StateRepository getStateRepository() {
        InMemoryStateRepository repository = new InMemoryStateRepository();
        repository.setFeatureState(new FeatureState(TestFeature.DISABLED, false));
        repository.setFeatureState(new FeatureState(TestFeature.ENABLED_FOR_ALL, true));
        repository.setFeatureState(new FeatureState(TestFeature.ENABLED_FOR_CK, true)
            .setStrategyId(UsernameActivationStrategy.ID)
            .setParameter(UsernameActivationStrategy.PARAM_USERS, "ck"));
        return repository;
    }
View Full Code Here

    }

    @Test
    public void shouldWorkCorrectlyForOnePercent() {

        FeatureState state = new FeatureState(GradualFeature.FEATURE);
        state.setEnabled(true);
        state.setParameter(GradualActivationStrategy.PARAM_PERCENTAGE, "1");

        // every value with % 100 == 0 will be active, which is exactly 1%
        assertTrue(strategy.isActive(state, aUserWithHash(0)));
        assertTrue(strategy.isActive(state, aUserWithHash(100)));
View Full Code Here

    }

    @Test
    public void shouldWorkCorrectlyForNinetyNinePercent() {

        FeatureState state = new FeatureState(GradualFeature.FEATURE);
        state.setEnabled(true);
        state.setParameter(GradualActivationStrategy.PARAM_PERCENTAGE, "99");

        // most values result in true
        assertTrue(strategy.isActive(state, aUserWithHash(0)));
        assertTrue(strategy.isActive(state, aUserWithHash(1)));
        assertTrue(strategy.isActive(state, aUserWithHash(3)));
View Full Code Here

TOP

Related Classes of org.togglz.core.repository.FeatureState

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.