Package org.ff4j.core

Examples of org.ff4j.core.Feature


    public FongoRule fongoRule = new FongoRule(false);

    @Override
    protected FeatureStore initStore() {
        FeatureStoreMongoDB storeMongoDB = new FeatureStoreMongoDB(fongoRule.getDB().getCollection("ff4j"));
        storeMongoDB.create(new Feature("AwesomeFeature", true, "some desc"));
        // First
        storeMongoDB.create(new Feature("first", true, "description", null, Arrays.asList("USER")));
        // Second
        storeMongoDB.create(new Feature("second", false, "description", "GRP0", Arrays.asList("USER")));
        // Third
        storeMongoDB.create(new Feature("third", false, "ThirdJDBC", "GRP1", Arrays.asList("ADMINISTRATOR", "BETA-TESTER")));
        // Forth ?? Fourth ?
        FlippingStrategy strategy = new org.ff4j.strategy.el.ExpressionFlipStrategy();
        strategy.init("forth", ParameterUtils.toMap("expression=third|second"));
        storeMongoDB.create(new Feature("forth", true, "ForthJDBC", "GRP1", Arrays.asList("ADMINISTRATOR", "BETA-TESTER"),
                strategy));

        return storeMongoDB;
    }
View Full Code Here


    }

    @Test
    public void testUnitFeatureInitialization() {
        InMemoryFeatureStore imfs = new InMemoryFeatureStore();
        imfs.create(new Feature("default", true, "grp1", "desc", null, new PonderationStrategy()));
        Assert.assertEquals(1, imfs.readAll().size());
    }
View Full Code Here

    }

    @Test
    public void testUnitFeatureInitialization2() {
        LinkedHashMap<String, Feature> map1 = new LinkedHashMap<String, Feature>();
        map1.put("new", new Feature("new", true, "description"));
        map1.put("old", new Feature("old", true, "description"));
        InMemoryFeatureStore imfs = new InMemoryFeatureStore(map1);
        Assert.assertEquals(2, imfs.readAll().size());
        Assert.assertNotNull(imfs.read("old"));
    }
View Full Code Here

        }
    }

    @SuppressWarnings("unchecked")
    private static Feature parseFeatureMap(Map<String, Object> fMap) {
        Feature f = new Feature((String) fMap.get("uid"));
        f.setEnable((Boolean) fMap.get("enable"));
        f.setDescription((String) fMap.get("description"));
        f.setGroup((String) fMap.get("group"));
        // permissions
        List<String> perm = (ArrayList<String>) fMap.get("permissions");
        f.setPermissions((perm != null) ? new HashSet<String>(perm) : null);
        // flipping strategy
        f.setFlippingStrategy(parseFlipStrategy(f.getUid(), (LinkedHashMap<String, Object>) fMap.get("flippingStrategy")));
        return f;
    }
View Full Code Here

    public void testPut_upsertUpdateAddGroup() {
        // Given
        assertFF4J.assertThatFeatureExist(F3);
        assertFF4J.assertThatFeatureIsInGroup(F3, G1);
        // When
        Feature f3 = ff4j.getFeature(F3);
        f3.setGroup("");
        WebResource webResFeat = resourceFeatures().path(F3);
        ClientResponse res = webResFeat.put(ClientResponse.class, f3.toString().getBytes());
        // Then HTTPResponse
        Assert.assertEquals(Status.NO_CONTENT.getStatusCode(), res.getStatus());
        // Then Object Entity : null
        // Then
        assertFF4J.assertThatFeatureNotInGroup(F3, G1);
View Full Code Here

    public void testUpdateFlipLessAutorisation() {
        // Given
        assertFf4j.assertThatFeatureExist(F1);
        assertFf4j.assertThatFeatureHasRole(F1, ROLE_USER);
        // When
        testedStore.update(new Feature(F1, false, null));
        // Then
        assertFf4j.assertThatFeatureHasNotRole(F1, ROLE_USER);
    }
View Full Code Here

    public void testPut_upsertUpdateAddGroup() {
        // Given
        assertFF4J.assertThatFeatureExist(F1);
        assertFF4J.assertThatFeatureNotInGroup(F1, "g2");
        // When
        Feature f1 = ff4j.getFeature(F1);
        f1.setGroup("g2");
        WebResource webResFeat = resourceFeatures().path(F1);
        ClientResponse res = webResFeat.put(ClientResponse.class, f1.toString().getBytes());
        // Then HTTPResponse
        Assert.assertEquals(Status.NO_CONTENT.getStatusCode(), res.getStatus());
        // Then Object Entity : null
        // Then
        assertFF4J.assertThatFeatureIsInGroup(F1, "g2");
View Full Code Here

    }

    @Test
    public void testFilterOK() throws ParseException {
        // Given
        Feature f1 = ff4j.getFeature(F1);
        Assert.assertNotNull(f1.getFlippingStrategy());
        org.ff4j.strategy.ClientFilterStrategy cStra = (ClientFilterStrategy) f1.getFlippingStrategy();
        Assert.assertNotNull(cStra.getInitParams());
        Assert.assertEquals(1, cStra.getInitParams().size());
        Assert.assertTrue(f1.isEnable());

        // When (add correct client name)
        FlippingExecutionContext fex = new FlippingExecutionContext();
        fex.addValue(ClientFilterStrategy.CLIENT_HOSTNAME, "pierre");
View Full Code Here

    }

    @Test
    public void testFilterInvalidClient() throws ParseException {
        // Given
        Feature f1 = ff4j.getFeature(F1);
        Assert.assertNotNull(f1.getFlippingStrategy());
        org.ff4j.strategy.ClientFilterStrategy cStra = (ClientFilterStrategy) f1.getFlippingStrategy();
        Assert.assertNotNull(cStra.getInitParams());
        Assert.assertEquals(1, cStra.getInitParams().size());
        Assert.assertTrue(f1.isEnable());


        // When (add invalid client name)
        FlippingExecutionContext fex = new FlippingExecutionContext();
        fex.addValue(ClientFilterStrategy.CLIENT_HOSTNAME, FEATURE_NEW);
View Full Code Here

    @Test(expected = IllegalArgumentException.class)
    public void testFilterRequiredContext() {

        // Given
        Feature f1 = ff4j.getFeature(F1);
        Assert.assertNotNull(f1.getFlippingStrategy());
        org.ff4j.strategy.ClientFilterStrategy cStra = (ClientFilterStrategy) f1.getFlippingStrategy();
        Assert.assertNotNull(cStra.getInitParams());
        Assert.assertEquals(1, cStra.getInitParams().size());
        Assert.assertTrue(f1.isEnable());

        // Then FeatureContext is requires
        ff4j.check(F1);
    }
View Full Code Here

TOP

Related Classes of org.ff4j.core.Feature

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.