Identify bad responses coming back from the server, and throw a specific exception...
[frank.git] / test / net / jaekl / qd / http / RequestBrokerMock.java
index 7e7624b415bfd1842ec20badf4b55f5abd3755f7..55a0598f9168e2ae1771d7ec0b594c923dbd0509 100644 (file)
@@ -59,31 +59,38 @@ public class RequestBrokerMock extends RequestBroker {
                }
        }
        
-       HashMap<InputParams, String> m_output;
+       HashMap<InputParams, Object> m_result;
        
        public RequestBrokerMock(String gatewayUrl, ArrayList<NameValuePair> baseParams) {
                super(gatewayUrl, baseParams);
-               m_output = new HashMap<InputParams, String>();
+               m_result = new HashMap<InputParams, Object>();
        }
        
-       public void setOutput(String method, ArrayList<NameValuePair> passedParams, String output) {
+       public void setResult(String method, ArrayList<NameValuePair> passedParams, Object result) {
                InputParams ip = new InputParams(method, passedParams);
-               m_output.put(ip, output);
+               m_result.put(ip, result);
        }
        
        @Override 
        InputStream doSubmit(String method, ArrayList<NameValuePair> passedParams) throws QDException
        {
                InputParams ip = new InputParams(method, passedParams);
-               String output = m_output.get(ip);
+               Object result = m_result.get(ip);
                
-               if (null == output) {
-                       Assert.fail("No output specified for given inputs.");
+               if (null == result) {
+                       Assert.fail("No result specified for given inputs.");
                }
                
+               if (result instanceof QDException) {
+                       throw (QDException)result;
+               }
+               
+               Assert.assertTrue(result instanceof String);
+               
                InputStream is = null;
                
                try {
+                       String output = (String)result;
                        is = new ByteArrayInputStream(output.getBytes("UTF-8"));
                }
                catch (UnsupportedEncodingException uee) {