package io.teknek.intravert.daemon; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.HashMap; import java.util.List; import java.util.Map; import junit.framework.Assert; import io.teknek.intravert.action.ActionFactory; import io.teknek.intravert.client.Client; import io.teknek.intravert.model.Constants; import io.teknek.intravert.model.Operation; import io.teknek.intravert.model.Request; import io.teknek.intravert.model.Response; import io.teknek.nit.NitDesc; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.junit.Test; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; public class CreateFilterTest extends BaseIntravertTest { @Test public void createApplicationFilter() throws JsonGenerationException, JsonMappingException, IllegalStateException, UnsupportedEncodingException, IOException, RuntimeException{ Request request = new Request(); Map<String,Object> filterDef = new HashMap<String,Object>(); filterDef.put("spec", NitDesc.NitSpec.GROOVY_CLOSURE.toString()); filterDef.put("name", "under21"); filterDef.put("scope", "application"); filterDef.put("script", "{ row -> if (row['value'].toInteger() > 21) return row else return null }"); request.getOperations().add(new Operation() .withId("1").withType(ActionFactory.CREATE_FILTER).withArguments(filterDef)); Client cl = new Client(); Response response = cl.post("http://127.0.0.1:7654", request); List<Map> results = (List<Map>) response.getResults().get("1"); Assert.assertEquals(new ImmutableMap.Builder<String, Object>().put("result", "ok").build(), results.get(0)); } }