package com.flexmls.flexmls_api;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.flexmls.flexmls_api.Client;
import com.flexmls.flexmls_api.Configuration;
import com.flexmls.flexmls_api.Connection;
import com.flexmls.flexmls_api.FlexmlsApiClientException;
import com.flexmls.flexmls_api.Response;
import com.flexmls.flexmls_api.Session;
public class MockClient extends Client {
private MockConnection con;
private MockClient(Configuration config,
Connection<Response> defaultConnection,
Connection<Response> secureConnection) {
super(config, defaultConnection, secureConnection);
}
public static void mock(){
}
public static MockClient mock(Configuration cf) throws FlexmlsApiClientException {
MockConnection cn = new MockConnection();
MockClient c = new MockClient(cf, cn, cn);
c.con = cn;
c.reauth();
return c;
}
public List<String> getRoles(){
List<String> l = new ArrayList<String>();
l.add("idx");
return l;
}
@Override
Session authenticate() throws FlexmlsApiClientException {
Session s = new Session("FAKE_TOKEN", getRoles(), new Date(new Date().getTime() + 300000));
setSession(s);
return s;
}
@Override
protected String signToken(String path, Map<String, String> options,
String body) {
return "FAKE_SIG";
}
public void stubGet(String path, String fixture, int status) throws FlexmlsApiClientException {
String s = setupRequest(path, "", new HashMap<String, String>());
con.stubGet(s, fixture, status);
}
public void stubPost(String path, String body, String fixture, int status) throws FlexmlsApiClientException {
}
public void stubDelete(String path, String fixture, int status) throws FlexmlsApiClientException {
}
public void stubPut(String path, String body, String fixture, int status) throws FlexmlsApiClientException {
}
}