package com.dgrid.test; import java.util.HashMap; import java.util.Map; import java.util.Random; import com.dgrid.gen.Constants; import com.dgrid.gen.JOB_STATUS; import com.dgrid.gen.Joblet; import com.dgrid.gen.JobletResult; import com.dgrid.gen.NoWorkAvailable; import com.dgrid.handlers.GroovyMapReduceTypeHandler; import com.dgrid.handlers.JavaMapReduceTypeHandler; import com.dgrid.test.mr.SimpleMapReduceJob; public class MapReduceTestCase extends BaseTestCase { public void testJavaMapReduce() throws Exception { Map<String, String> params = new HashMap<String, String>(); params.put(JavaMapReduceTypeHandler.CLASS_NAME_PARAM, SimpleMapReduceJob.class.getName()); int[] ints = new int[16]; StringBuffer sb = new StringBuffer(); Random r = new Random(); int correct = 0; for (int i = 0; i < ints.length; ++i) { int v = r.nextInt(100); correct += v; sb.append(v); sb.append(','); } Joblet joblet = new Joblet(0, 0l, 0, 0, getHostname(), 1, Constants.JAVA_MR_JOB, "Sample m/r job", params, sb.toString(), JOB_STATUS.RECEIVED); int jobletId = gridClient.submitJoblet(joblet, 0).getId(); // work it Thread.sleep(1); JobletResult result = null; try { while (true) { result = super.doWork(); } } catch (NoWorkAvailable e) { } // get it back assertEquals(result.getStatus(), JOB_STATUS.COMPLETED); assertEquals(result.getDetails(), Integer.toString(correct)); } public void testGroovyMapReduce() throws Exception { Map<String, String> params = new HashMap<String, String>(); params.put(GroovyMapReduceTypeHandler.SCRIPT_PARAM, "MapReduceTest.groovy"); Joblet joblet = new Joblet(0, 0l, 0, 0, getHostname(), 1, Constants.GROOVY_MR_JOB, "Sample groovy m/r job", params, "", JOB_STATUS.RECEIVED); int jobletId = gridClient.submitJoblet(joblet, 0).getId(); JobletResult result = null; try { while (true) { result = super.doWork(); } } catch (NoWorkAvailable e) { } // get it back assertEquals(result.getStatus(), JOB_STATUS.COMPLETED); assertEquals(result.getDetails(), Integer.toString(12)); } }