Search in sources :

Example 36 with Feature

use of org.ff4j.core.Feature in project ff4j by ff4j.

the class FeatureStoreJCacheTest method testReadAllFeatures.

/**
 * TDD.
 */
@Test
public void testReadAllFeatures() {
    // Given
    assertFf4j.assertThatFeatureExist(F4);
    assertFf4j.assertThatStoreHasSize(EXPECTED_FEATURES_NUMBERS);
    // When
    Map<String, Feature> features = testedStore.readAll();
    // Then
    Assert.assertEquals(EXPECTED_FEATURES_NUMBERS, features.size());
    // Then testing whole structure
    Feature f = features.get(F4);
    Assert.assertEquals(F4 + " does not exist", f.getUid(), F4);
    Assert.assertTrue("no description", f.getDescription() != null && !"".equals(f.getDescription()));
    Assert.assertTrue("no authorizations", f.getPermissions() != null && !f.getPermissions().isEmpty());
    assertFf4j.assertThatFeatureHasRole(F4, ROLE_ADMIN);
    assertFf4j.assertThatFeatureIsInGroup(F4, G1);
}
Also used : PropertyString(org.ff4j.property.PropertyString) Feature(org.ff4j.core.Feature) Test(org.junit.Test)

Example 37 with Feature

use of org.ff4j.core.Feature in project ff4j by ff4j.

the class FeatureStoreJCacheTest method testDeleteFeature.

/**
 * TDD.
 */
@Test
public void testDeleteFeature() throws Exception {
    // Given
    assertFf4j.assertThatFeatureExist(F1);
    Feature tmpf1 = testedStore.read(F1);
    int initialNumber = testedStore.readAll().size();
    // When
    testedStore.delete(F1);
    // Then
    assertFf4j.assertThatStoreHasSize(initialNumber - 1);
    assertFf4j.assertThatFeatureDoesNotExist(F1);
    // End, Reinit initial state
    testedStore.create(tmpf1);
    assertFf4j.assertThatFeatureExist(F1);
}
Also used : Feature(org.ff4j.core.Feature) Test(org.junit.Test)

Example 38 with Feature

use of org.ff4j.core.Feature in project ff4j by ff4j.

the class FeatureStoreJCacheTest method testUpdateFeatureMoreAutorisation.

/**
 * TDD.
 */
@Test
public void testUpdateFeatureMoreAutorisation() {
    // Parameters
    Set<String> rights2 = new HashSet<String>(Arrays.asList(new String[] { ROLE_USER, ROLE_ADMIN }));
    // Given
    assertFf4j.assertThatFeatureExist(F1);
    assertFf4j.assertThatFeatureHasNotRole(F1, ROLE_ADMIN);
    // When
    Feature fpBis = testedStore.read(F1);
    fpBis.setPermissions(rights2);
    testedStore.update(fpBis);
    // Then
    assertFf4j.assertThatFeatureHasRole(F1, ROLE_USER);
    assertFf4j.assertThatFeatureHasRole(F1, ROLE_ADMIN);
}
Also used : PropertyString(org.ff4j.property.PropertyString) Feature(org.ff4j.core.Feature) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 39 with Feature

use of org.ff4j.core.Feature in project ff4j by ff4j.

the class FeatureStoreJCacheTest method testUpdateFlipMoreAutorisationNotExist.

/**
 * TDD.
 */
@Test
public void testUpdateFlipMoreAutorisationNotExist() {
    // Given
    assertFf4j.assertThatFeatureHasNotRole(F1, ROLE_NEW);
    Set<String> rights2 = new HashSet<String>(Arrays.asList(new String[] { ROLE_USER, ROLE_NEW }));
    Feature fpBis = new Feature(F1, false, G1, "desci2", rights2);
    // When
    testedStore.update(fpBis);
    // Then
    assertFf4j.assertThatFeatureHasRole(F1, ROLE_USER);
    assertFf4j.assertThatFeatureHasRole(F1, ROLE_NEW);
}
Also used : PropertyString(org.ff4j.property.PropertyString) Feature(org.ff4j.core.Feature) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 40 with Feature

use of org.ff4j.core.Feature in project ff4j by ff4j.

the class FeatureStoreJCacheTest method testUpdateRemoveProperty.

/**
 * TDD.
 */
@Test
public void testUpdateRemoveProperty() {
    // Given
    assertFf4j.assertThatFeatureExist(F1);
    // assertFf4j.assertThatFeatureHasProperty(F1, "ppint");
    // When
    Feature myFeature = ff4j.getFeatureStore().read(F1);
    myFeature.getCustomProperties().remove("ppint");
    testedStore.update(myFeature);
    // Then
    assertFf4j.assertThatFeatureHasNotProperty(F1, "p1");
}
Also used : Feature(org.ff4j.core.Feature) Test(org.junit.Test)

Aggregations

Feature (org.ff4j.core.Feature)258 Test (org.junit.Test)136 PropertyString (org.ff4j.property.PropertyString)49 HashMap (java.util.HashMap)29 HashSet (java.util.HashSet)29 PonderationStrategy (org.ff4j.strategy.PonderationStrategy)19 LinkedHashMap (java.util.LinkedHashMap)15 AbstractFf4jTest (org.ff4j.test.AbstractFf4jTest)14 Property (org.ff4j.property.Property)12 Set (java.util.Set)11 FeatureAccessException (org.ff4j.exception.FeatureAccessException)11 FeatureApiBean (org.ff4j.web.api.resources.domain.FeatureApiBean)11 XmlParser (org.ff4j.conf.XmlParser)10 InputStream (java.io.InputStream)9 Map (java.util.Map)9 FlippingStrategy (org.ff4j.core.FlippingStrategy)9 GroupNotFoundException (org.ff4j.exception.GroupNotFoundException)9 ClientResponse (com.sun.jersey.api.client.ClientResponse)8 ArrayList (java.util.ArrayList)8 Response (javax.ws.rs.core.Response)8