/** {@inheritDoc} */ @Override public Feature read(String uid) { return target.read(uid); }
/** * 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); }
/** * TDD. */ @Test(expected = IllegalArgumentException.class) public void testReadNull() { // Given // When testedStore.read(null); // Then, expected error... }
/** * TDD. */ @Test(expected = IllegalArgumentException.class) public void testReadEmpty() { // Given // When testedStore.read(""); // Then, expected error... }
/** * TDD. */ @Test(expected = FeatureNotFoundException.class) public void testReadNotExist() { // Given // When testedStore.read("I-DONT-EXIST"); // Then, expected error... }
private Feature readFeature(Field field, String featureName, boolean required) { if (!ff4j.getFeatureStore().exist(featureName)) { if (required) { throw new IllegalArgumentException("Cannot autowiring field '" + field.getName() + "' with FF4J property as" + " target feature has not been found"); } else { logger.warn("Feature '" + featureName + "' has not been found but not required"); return null; } } return ff4j.getFeatureStore().read(featureName); }
public void assertRoleDoesNotExist(String featureUID, String role) { if (ff4j.getFeatureStore().read(featureUID).getPermissions().contains(role)) { throw new RoleExistsException(); } }
public void assertRoleExist(String featureUID, String role) { if (!ff4j.getFeatureStore().read(featureUID).getPermissions().contains(role)) { throw new RoleNotExistsException(); } }
@Override @ManagedOperation(description = "Disable feature from its identifier") @ManagedOperationParameters({@ManagedOperationParameter(name = "feature_UID", description = "Unique Identifier of feature")}) public Feature read(String feature_UID) { return internalStore.read(feature_UID); }
public FeatureApiBean getFeature(String featureUID) { featureValidator.assertFeatureExists(featureUID); return new FeatureApiBean(ff4j.getFeatureStore().read(featureUID)); }
/** * 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"); }
/** {@inheritDoc} */ @Override public Feature read(String featureUid) { Feature fp = getCacheManager().getFeature(featureUid); // not in cache but may has been created from now if (null == fp) { fp = getTargetFeatureStore().read(featureUid); getCacheManager().putFeature(fp); } return fp; }
/** * 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); }
/** * Chack that feature is enabled in current store. * * @param featureName * target featureName * @return current object */ public final AssertFf4j assertThatFeatureIsEnabled(String featureName) { assertThatFeatureExist(featureName); Assert.assertTrue(ff4j.getFeatureStore().read(featureName).isEnable()); waitSomeSeconds(); return this; }
/** * Chack that feature is disabled in current store. * * @param featureName * target featureName * @return current object */ public final AssertFf4j assertThatFeatureIsDisabled(String featureName) { assertThatFeatureExist(featureName); Assert.assertFalse("'" + featureName + "' must be disabled", ff4j.getFeatureStore().read(featureName).isEnable()); waitSomeSeconds(); return this; }
/** * TDD. */ @Test public void testUpdateRemoveFlippingStrategy() { // Given assertFf4j.assertThatFeatureExist(F3); Feature myFeature = ff4j.getFeatureStore().read(F3); myFeature.setFlippingStrategy(new PonderationStrategy(0.1)); testedStore.update(myFeature); assertFf4j.assertThatFeatureHasFlippingStrategy(F3); // When Feature myFeature2 = ff4j.getFeatureStore().read(F3); myFeature2.setFlippingStrategy(null); testedStore.update(myFeature2); // Then assertFf4j.assertThatFeatureDoesNotHaveFlippingStrategy(F3); }
/** * TDD. */ @Test public void testReadFullFeature() { // Given assertFf4j.assertThatFeatureExist(F4); // When Feature f = testedStore.read(F4); // Then Assert.assertEquals(f.getUid(), F4); Assert.assertTrue(f.getDescription() != null && !"".equals(f.getDescription())); Assert.assertTrue(f.getPermissions() != null && !f.getPermissions().isEmpty()); assertFf4j.assertThatFeatureHasRole(F4, ROLE_ADMIN); assertFf4j.assertThatFeatureIsInGroup(F4, G1); }
/** * TDD. */ @Test public void testUpdateEditFlippingStrategy() { // Given assertFf4j.assertThatFeatureExist(F3); // When Feature myFeature = ff4j.getFeatureStore().read(F3); myFeature.setFlippingStrategy(new PonderationStrategy(0.1)); testedStore.update(myFeature); // Then assertFf4j.assertThatFeatureHasFlippingStrategy(F3); }
/** * TDD. */ @Test public void testUpdateAddProperty() { // Given assertFf4j.assertThatFeatureExist(F2); assertFf4j.assertThatFeatureHasNotProperty(F2, "p1"); // When Feature myFeature = ff4j.getFeatureStore().read(F2); PropertyString p1 = new PropertyString("p1", "v1", Util.set("v1", "v2")); myFeature.getCustomProperties().put(p1.getName(), p1); testedStore.update(myFeature); // Then assertFf4j.assertThatFeatureHasProperty(F2, "p1"); }
/** * TDD. */ @Test public void testUpdateAddFlippingStrategy() { // Given assertFf4j.assertThatFeatureExist(F2); assertFf4j.assertThatFeatureDoesNotHaveFlippingStrategy(F2); // When Feature myFeature = ff4j.getFeatureStore().read(F2); myFeature.setFlippingStrategy(new PonderationStrategy(0.1)); testedStore.update(myFeature); // Then assertFf4j.assertThatFeatureHasFlippingStrategy(F2); }