private static Link buildLink(ProjectLinkDto link) { Link.Builder builder = Link.newBuilder() .setId(String.valueOf(link.getUuid())) .setType(link.getType()) .setUrl(link.getHref()); ofNullable(link.getName()).ifPresent(builder::setName); return builder.build(); }
@Override public Link apply(ProjectLinkDto dto) { Link.Builder link = Link.newBuilder(); link.setHref(dto.getHref()); if (!isNullOrEmpty(dto.getName())) { link.setName(dto.getName()); } if (!isNullOrEmpty(dto.getType())) { link.setType(dto.getType()); } return link.build(); } }
private static CreateWsResponse buildResponse(ProjectLinkDto link) { return CreateWsResponse.newBuilder().setLink(ProjectLinks.Link.newBuilder() .setId(String.valueOf(link.getUuid())) .setName(link.getName()) .setType(link.getType()) .setUrl(link.getHref())) .build(); }
@Test public void select_by_id() { ComponentDto project = db.components().insertPrivateProject(); ProjectLinkDto link = db.componentLinks().insertProvidedLink(project, c -> c .setUuid("ABCD") .setName("Home") .setType("homepage") .setHref("http://www.struts.org")); ProjectLinkDto reloaded = underTest.selectByUuid(db.getSession(), link.getUuid()); assertThat(reloaded.getUuid()).isEqualTo("ABCD"); assertThat(reloaded.getProjectUuid()).isEqualTo(project.uuid()); assertThat(reloaded.getType()).isEqualTo("homepage"); assertThat(reloaded.getName()).isEqualTo("Home"); assertThat(reloaded.getHref()).isEqualTo("http://www.struts.org"); assertThat(reloaded.getCreatedAt()).isEqualTo(NOW); assertThat(reloaded.getUpdatedAt()).isEqualTo(NOW); }
private void createAndTest(ComponentDto project, String name, String url, String type) { ProjectLinks.CreateWsResponse response = ws.newRequest() .setMethod("POST") .setParam(PARAM_PROJECT_KEY, project.getDbKey()) .setParam(PARAM_NAME, name) .setParam(PARAM_URL, url) .executeProtobuf(ProjectLinks.CreateWsResponse.class); String newId = response.getLink().getId(); ProjectLinkDto link = dbClient.projectLinkDao().selectByUuid(dbSession, newId); assertThat(link.getName()).isEqualTo(name); assertThat(link.getHref()).isEqualTo(url); assertThat(link.getType()).isEqualTo(type); }
@Test public void insert() { ComponentDto project = db.components().insertPrivateProject(); ProjectLinkDto link = ProjectLinkTesting.newProvidedLinkDto() .setUuid("ABCD") .setProjectUuid(project.uuid()) .setName("Home") .setType("homepage") .setHref("http://www.struts.org") // These fields will be set by the DAO .setCreatedAt(0L) .setUpdatedAt(0L); underTest.insert(db.getSession(), link); db.getSession().commit(); ProjectLinkDto reloaded = underTest.selectByUuid(db.getSession(), link.getUuid()); assertThat(reloaded.getUuid()).isEqualTo("ABCD"); assertThat(reloaded.getProjectUuid()).isEqualTo(project.uuid()); assertThat(reloaded.getType()).isEqualTo("homepage"); assertThat(reloaded.getName()).isEqualTo("Home"); assertThat(reloaded.getHref()).isEqualTo("http://www.struts.org"); assertThat(reloaded.getCreatedAt()).isEqualTo(NOW); assertThat(reloaded.getUpdatedAt()).isEqualTo(NOW); }
@Test public void update() { ComponentDto project = db.components().insertPrivateProject(); ProjectLinkDto link = db.componentLinks().insertProvidedLink(project, c -> c .setUuid("ABCD") .setType("ci") .setName("Gihub") .setHref("http://www.github.org")); // Force dates to be in the past db.executeUpdateSql("UPDATE project_links SET created_at=" + PAST + " ,updated_at=" + PAST); ComponentDto project2 = db.components().insertPrivateProject(); underTest.update(db.getSession(), link .setProjectUuid(project2.uuid()) .setType("homepage") .setName("Home") .setHref("http://www.sonarqube.org")); db.getSession().commit(); ProjectLinkDto reloaded = underTest.selectByUuid(db.getSession(), link.getUuid()); assertThat(reloaded.getUuid()).isEqualTo("ABCD"); assertThat(reloaded.getProjectUuid()).isEqualTo(project2.uuid()); assertThat(reloaded.getType()).isEqualTo("homepage"); assertThat(reloaded.getName()).isEqualTo("Home"); assertThat(reloaded.getHref()).isEqualTo("http://www.sonarqube.org"); assertThat(reloaded.getCreatedAt()).isEqualTo(PAST); assertThat(reloaded.getUpdatedAt()).isEqualTo(NOW); }
@Test public void response_fields() { ComponentDto project = db.components().insertPrivateProject(); ProjectLinkDto homepageLink = db.componentLinks().insertProvidedLink(project); ProjectLinkDto customLink = db.componentLinks().insertCustomLink(project); logInAsProjectAdministrator(project); SearchWsResponse response = callByKey(project.getKey()); assertThat(response.getLinksList()).extracting(Link::getId, Link::getName, Link::getType, Link::getUrl) .containsExactlyInAnyOrder( tuple(homepageLink.getUuid(), "", homepageLink.getType(), homepageLink.getHref()), tuple(customLink.getUuid(), customLink.getName(), customLink.getType(), customLink.getHref())); }
@Override public Link apply(ProjectLinkDto dto) { Link.Builder link = Link.newBuilder(); link.setHref(dto.getHref()); if (!isNullOrEmpty(dto.getName())) { link.setName(dto.getName()); } if (!isNullOrEmpty(dto.getType())) { link.setType(dto.getType()); } return link.build(); } }
private static Link buildLink(ProjectLinkDto link) { Link.Builder builder = Link.newBuilder() .setId(String.valueOf(link.getUuid())) .setType(link.getType()) .setUrl(link.getHref()); setNullable(link.getName(), builder::setName); return builder.build(); }
private static CreateWsResponse buildResponse(ProjectLinkDto link) { return CreateWsResponse.newBuilder().setLink(ProjectLinks.Link.newBuilder() .setId(String.valueOf(link.getUuid())) .setName(link.getName()) .setType(link.getType()) .setUrl(link.getHref())) .build(); }