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

топ 100 блогов jdevelop02.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"));
    }

}


итого - это круто, круто, круто, круто!

Оставить комментарий

Архив записей в блогах:
У каждого порядочного писателя, если, конечно, это не автор русской боевой фантастики, книг про попаданцев и тому подобного дерьма, должен быть персональный архив, в котором хранятся его черновики, наброски и многочисленные гениальные вещи, написанные "в стол". Есть такой архив и у меня. ...
И вот утро, будильник прозвенел в 4 утра, я выползаю из палатки и вижу, что мы находимся в облаке. Паша с Андреем тоже проснулись, но понятно, что снимать нечего и можно снова ложиться спать. Сын дрыхнет как суслик сном богатыря, которого не так-то просто разбудить, ложусь рядом. Около 40 ...
Чтобы ни у кого не возникло иллюзий, будто у меня отсутствуют мозги, сообщаю, что у меня вышла вторая статья.В немецком журнале оргхимии Angewandte Chemie. Если вкратце, то там о синтезе нового материала для органических ...
   Еще позавчера было 35, вчера состоялся торжественный переход, а нынче начался новый солнечный 12летний цикл.   Посмотрим на прошлое:   - 12 лет - переходный возраст, из девочки стала девушкой, начала борьбу за лидерство и статус в ...
 Может быть, вы уже видели и выжили.  А я тормоз, увидела только сегодня и до сих пор нахожусь между жизнью и не жизнью. Не решила еще - куда мне. . Самое крутое тут, конечно, не сиськи-письки, даже не креативное мышление луганских модельеров, а ...