очень, очень тру
jdevelop — 02.04.2012
задачка для TDD: @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\": \"mycool@email.com\",\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("mycool@email.com", ap.authenticate("123"));
}
}
итого - это круто, круто, круто, круто!
|
|
</> |
Онлайн-ТВ как часть цифровой медиасреды
Очередная упущенная возможность (сепаратизм в Канаде).
#анкетагода и немного новостей
Пока живы советские -жив и ЖЖ
Плотва в глухозимье: тактика поиска, снасти и секреты ужения
Прощай, ЖЖ!
И снова Новый год
Чудо маленького мира
Секреты станций московского метро: дирижабли, окаменелости и последний буфет

