очень, очень тру
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"));
}
}
итого - это круто, круто, круто, круто!
|
|
</> |
Корпоративное обучение персонала: тренды и лучшие практики московского рынка
Предложит ли Минфин легализовать наркотики и проституцию после онлайн-казино?
ЗАМУЖЕМ ЗА ФСБ
Почему в отношениях пропадает сексуальное влечение — психологическая причина, о
Почем никто не откликается на вакансию мужа для некоторых девушек?
Вопрос к залу:)
Наше старое кино
Где лучше хранить машину зимой: в теплом гараже, холодном паркинге или на

