public ProjectList getProjects(String serverUrl, String token) {
    HttpUrl url = buildUrl(serverUrl, "/rest/api/1.0/projects");
    return doGet(token, url, body -> buildGson().fromJson(body, ProjectList.class));
  }
@Test
  public void get_projects() {
    server.enqueue(new MockResponse()
      .setHeader("Content-Type", "application/json;charset=UTF-8")
      .setBody("{\n" +
        "  \"isLastPage\": true,\n" +
        "  \"values\": [\n" +
        "    {\n" +
        "      \"key\": \"HEY\",\n" +
        "      \"id\": 1,\n" +
        "      \"name\": \"hey\"\n" +
        "    },\n" +
        "    {\n" +
        "      \"key\": \"HOY\",\n" +
        "      \"id\": 2,\n" +
        "      \"name\": \"hoy\"\n" +
        "    }\n" +
        "  ]\n" +
        "}"));

    final ProjectList gsonBBSProjectList = underTest.getProjects(server.url("/").toString(), "token");
    assertThat(gsonBBSProjectList.getValues()).hasSize(2);
    assertThat(gsonBBSProjectList.getValues()).extracting(Project::getId, Project::getKey, Project::getName)
      .containsExactlyInAnyOrder(
        tuple(1L, "HEY", "hey"),
        tuple(2L, "HOY", "hoy"));
  }