очень, очень тру

@Override public String authenticate(String token) { Resty resty = new Resty(); try { return (String) resty.json("https://www.googleapis.com/userinfo/email?alt=json&access_token=" + token). get("data.email"); } catch (Exception e) { throw new RuntimeException(e); } }
как вы его протестируете? я так подозреваю, что "вынести чота куда-то", "сделать интерфейсов" етц.
public class GmailAuthenticationProviderTest { @Mocked(methods = "json(String)") Resty resty; @Test public void testAuthenticate() throws Exception { final String data = "{\n" + " \"data\": {\n" + " \"email\": \"[email protected]\",\n" + " \"isVerified\": true\n" + " }\n" + "}"; final InputStream dataStream = new ByteArrayInputStream(data.getBytes()); new Expectations() {{ resty.json("https://www.googleapis.com/userinfo/email?alt=json&access_token=123"); result = new JSONResource() { { inputStream = dataStream; } }; }}; AuthentiationProvider ap = new GmailAuthenticationProvider(); assertEquals("[email protected]", ap.authenticate("123")); } }
итого - это круто, круто, круто, круто!
|
</> |