Skip to content
Snippets Groups Projects
Commit 348bbfe8 authored by Martin Lowe's avatar Martin Lowe :flag_ca:
Browse files

Update to SDK 1.1.5 and reactive REST base

parent 2cc31dd6
No related branches found
No related tags found
No related merge requests found
......@@ -16,7 +16,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
<quarkus.platform.group-id>io.quarkus.platform</quarkus.platform.group-id>
<quarkus.platform.version>3.8.3</quarkus.platform.version>
<quarkus.platform.version>3.8.5</quarkus.platform.version>
<surefire-plugin.version>3.1.2</surefire-plugin.version>
<maven.compiler.parameters>true</maven.compiler.parameters>
<sonar.sources>src/main</sonar.sources>
......@@ -26,7 +26,7 @@
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/target/jacoco-report/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<sonar.junit.reportPath>${project.build.directory}/surefire-reports</sonar.junit.reportPath>
<auto-value.version>1.10.4</auto-value.version>
<eclipse-api-version>1.0.1</eclipse-api-version>
<eclipse-api-version>1.1.5</eclipse-api-version>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.organization>eclipse-foundation-it</sonar.organization>
<sonar.projectKey>eclipsefdn-project-adopters</sonar.projectKey>
......@@ -78,14 +78,13 @@
<artifactId>quarkus-efservices</artifactId>
<version>${eclipse-api-version}</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-resteasy-jackson</artifactId>
<artifactId>quarkus-rest-client-reactive</artifactId>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-rest-client</artifactId>
<artifactId>quarkus-rest-client-reactive-jackson</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
......
......@@ -30,10 +30,12 @@ import org.eclipsefoundation.efservices.api.models.Project.Collaboration;
import org.eclipsefoundation.efservices.api.models.Project.GithubProject;
import org.eclipsefoundation.efservices.api.models.Project.ProjectParticipant;
import org.eclipsefoundation.efservices.api.models.Project.Repo;
import org.eclipsefoundation.testing.helpers.MockDataPaginationHandler;
import org.jboss.resteasy.reactive.RestResponse;
import io.quarkus.test.Mock;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.ws.rs.core.Response;
@Mock
@RestClient
......@@ -41,6 +43,7 @@ import jakarta.ws.rs.core.Response;
public class MockProjectsAPI implements ProjectsAPI {
private List<Project> projects;
private List<InterestGroup> interestGroups;
public MockProjectsAPI() {
this.projects = new ArrayList<>();
......@@ -139,66 +142,66 @@ public class MockProjectsAPI implements ProjectsAPI {
.setReleases(Collections.emptyList())
.setTopLevelProject("eclipse")
.build());
this.interestGroups = Arrays
.asList(InterestGroup
.builder()
.setProjectId("foundation-internal.ig.mittens")
.setId("1")
.setLogo("")
.setState("active")
.setTitle("Magical IG Tributed To Eclipse News Sources")
.setDescription(Descriptor.builder().setFull("Sample").setSummary("Sample").build())
.setScope(Descriptor.builder().setFull("Sample").setSummary("Sample").build())
.setGitlab(GitlabProject
.builder()
.setIgnoredSubGroups(Collections.emptyList())
.setProjectGroup("eclipse-ig/mittens")
.build())
.setLeads(Arrays
.asList(InterestGroupParticipant
.builder()
.setUrl("https://api.eclipse.org/account/profile/zacharysabourin")
.setUsername("zacharysabourin")
.setFullName("zachary sabourin")
.setOrganization(Organization
.builder()
.setDocuments(Collections.emptyMap())
.setId("id")
.setName("org")
.build())
.build()))
.setParticipants(Arrays
.asList(InterestGroupParticipant
.builder()
.setUrl("https://api.eclipse.org/account/profile/skilpatrick")
.setUsername("skilpatrick")
.setFullName("Skil Patrick")
.setOrganization(Organization
.builder()
.setDocuments(Collections.emptyMap())
.setId("id")
.setName("org")
.build())
.build()))
.setShortProjectId("mittens")
.setResources(Resource.builder().setMembers("members").setWebsite("google.com").build())
.setMailingList("mailinglist.com")
.build());
}
@Override
public Response getProjects(BaseAPIParameters params, int isSpecProject) {
public Uni<RestResponse<List<Project>>> getProjects(BaseAPIParameters params, int isSpecProject) {
List<Project> out = projects;
if (isSpecProject == 1) {
return Response.ok(projects.stream().filter(p -> p.getSpecWorkingGroup().isPresent()).toList()).build();
out = out.stream().filter(p -> p.getSpecWorkingGroup().isPresent()).toList();
}
return Response.ok(projects).build();
return Uni.createFrom().item(MockDataPaginationHandler.paginateData(params, out));
}
@Override
public Response getInterestGroups(BaseAPIParameters params) {
return Response
.ok(Arrays
.asList(InterestGroup
.builder()
.setProjectId("foundation-internal.ig.mittens")
.setId("1")
.setLogo("")
.setState("active")
.setTitle("Magical IG Tributed To Eclipse News Sources")
.setDescription(Descriptor.builder().setFull("Sample").setSummary("Sample").build())
.setScope(Descriptor.builder().setFull("Sample").setSummary("Sample").build())
.setGitlab(GitlabProject
.builder()
.setIgnoredSubGroups(Collections.emptyList())
.setProjectGroup("eclipse-ig/mittens")
.build())
.setLeads(Arrays
.asList(InterestGroupParticipant
.builder()
.setUrl("https://api.eclipse.org/account/profile/zacharysabourin")
.setUsername("zacharysabourin")
.setFullName("zachary sabourin")
.setOrganization(Organization
.builder()
.setDocuments(Collections.emptyMap())
.setId("id")
.setName("org")
.build())
.build()))
.setParticipants(Arrays
.asList(InterestGroupParticipant
.builder()
.setUrl("https://api.eclipse.org/account/profile/skilpatrick")
.setUsername("skilpatrick")
.setFullName("Skil Patrick")
.setOrganization(Organization
.builder()
.setDocuments(Collections.emptyMap())
.setId("id")
.setName("org")
.build())
.build()))
.setShortProjectId("mittens")
.setResources(Resource.builder().setMembers("members").setWebsite("google.com").build())
.setMailingList("mailinglist.com")
.build()))
.build();
public Uni<RestResponse<List<InterestGroup>>> getInterestGroups(BaseAPIParameters params) {
return Uni.createFrom().item(MockDataPaginationHandler.paginateData(params, interestGroups));
}
}
\ No newline at end of file
......@@ -23,10 +23,12 @@ import org.eclipsefoundation.efservices.api.models.WorkingGroup.WorkingGroupPart
import org.eclipsefoundation.efservices.api.models.WorkingGroup.WorkingGroupParticipationAgreements;
import org.eclipsefoundation.efservices.api.models.WorkingGroup.WorkingGroupParticipationLevel;
import org.eclipsefoundation.efservices.api.models.WorkingGroup.WorkingGroupResources;
import org.eclipsefoundation.testing.helpers.MockDataPaginationHandler;
import org.jboss.resteasy.reactive.RestResponse;
import io.quarkus.test.Mock;
import io.smallrye.mutiny.Uni;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.ws.rs.core.Response;
@Mock
@RestClient
......@@ -78,12 +80,10 @@ public class MockWorkingGroupAPI implements WorkingGroupsAPI {
}
@Override
public Response get(BaseAPIParameters baseParams) {
return Response.ok(wgs).build();
}
@Override
public Response getAllByStatuses(BaseAPIParameters baseParams, List<String> statuses) {
return Response.ok(wgs.stream().filter(wg -> statuses.contains(wg.getStatus())).toList()).build();
public Uni<RestResponse<List<WorkingGroup>>> get(BaseAPIParameters baseParams, List<String> statuses) {
return Uni
.createFrom()
.item(MockDataPaginationHandler
.paginateData(baseParams, wgs.stream().filter(wg -> statuses == null || statuses.contains(wg.getStatus())).toList()));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment