    @Test
    public void happyPath() throws Exception {

        // given:
        Collection<Repository> repositories = createSampleRepositories();
        stubFor(get(urlEqualTo("/orgs/" + ORGANIZATION + "/repos"))
            .willReturn(aResponse()
                .withStatus(200)
                .withHeader("Content-Type", "text/json")
                .withBody(repositoriesAsJSON(repositories, objectMapper))));

        // when:
        Promise<Collection<Repository>, Throwable, Void> promise = github.repositories(ORGANIZATION);
        await().timeout(2, SECONDS).until(promise::state, equalTo(Promise.State.RESOLVED));

        // then:
        promise.done(result -> assertThat(result, equalTo(repositories)));
        verify(getRequestedFor(urlEqualTo("/orgs/" + ORGANIZATION + "/repos")));
    }