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

топ 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"));
    }

}


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

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

Архив записей в блогах:
Для начала – картинка с натуры. Недавно была в Китае – по приглашению китайских производителей сельхозтехники. Поскольку наше предприятие ООО им.Фрунзе – заметный покупатель сельхозтехники и запчастей к ней (не китайской техники: китайскую мы пока не покупали), они решили познакомить ...
Вчера мы были в гостях у родственников, и тётя моего мужа рассказала о том, что совершенно случайно услышала разговор двух школьниц, которые шли по пешеходной дорожке мимо её дома. Эта беседа девочек 13-14 лет её очень удивила. Поскольку ей уже 70 лет, то удивление было очень сильным. ...
Вчера французская пресса застывала в ожидании - что ответят лидеры мира сего на русско-турецкую логомахию. И не принимала позиций. Только докладывала об "обмене любезностями.". Лишь один маргинальный канал для ботанов пригласил турковедов , которые костерили турок как посoбников ИГИЛ. ...
...
Как же я его ненавидел лет тридцать назад... Но сейчас, повзрослев и поумнев, понимаю, что это была величайшая историческая личность мирового масштаба, спасшая нашу страну от гораздо больших потрясений или уничтожения. И если он до сих пор мешает всякой сволочи, будучи давно мертвым, ...