Skip to content

Commit 9de76e9

Browse files
authored
Merge pull request #44 from dwasinge/master
Username and Email From Query Params Used for Commit Details
2 parents 79737d8 + ce394c5 commit 9de76e9

File tree

7 files changed

+32
-209
lines changed

7 files changed

+32
-209
lines changed

src/main/java/com/redhat/labs/omp/resource/EngagementResource.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
import java.util.List;
44

55
import javax.inject.Inject;
6+
import javax.validation.constraints.NotBlank;
67
import javax.ws.rs.Consumes;
78
import javax.ws.rs.GET;
89
import javax.ws.rs.POST;
910
import javax.ws.rs.Path;
1011
import javax.ws.rs.Produces;
12+
import javax.ws.rs.QueryParam;
1113
import javax.ws.rs.core.Context;
1214
import javax.ws.rs.core.MediaType;
1315
import javax.ws.rs.core.Response;
@@ -37,9 +39,10 @@ public class EngagementResource {
3739
@POST
3840
@Counted(name = "engagement", description = "How many engagements request have been requested")
3941
@Timed(name = "performedCreates", description = "How much time it takes to create an engagement", unit = MetricUnits.MILLISECONDS)
40-
public Response createEngagement(Engagement engagement, @Context UriInfo uriInfo) {
42+
public Response createEngagement(Engagement engagement, @Context UriInfo uriInfo,
43+
@NotBlank @QueryParam("username") String author, @NotBlank @QueryParam("userEmail") String authorEmail) {
4144

42-
Project project = engagementService.createEngagement(engagement);
45+
Project project = engagementService.createEngagement(engagement, author, authorEmail);
4346

4447
UriBuilder builder = uriInfo.getAbsolutePathBuilder();
4548
builder.path(Integer.toString(project.getId()));

src/main/java/com/redhat/labs/omp/resource/LegacyResource.java

Lines changed: 0 additions & 79 deletions
This file was deleted.

src/main/java/com/redhat/labs/omp/service/EngagementService.java

Lines changed: 19 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77

88
import javax.enterprise.context.ApplicationScoped;
99
import javax.inject.Inject;
10-
import javax.json.bind.JsonbBuilder;
11-
import javax.json.bind.JsonbConfig;
12-
import javax.json.bind.config.PropertyNamingStrategy;
1310

1411
import org.eclipse.microprofile.config.inject.ConfigProperty;
1512
import org.slf4j.Logger;
@@ -58,7 +55,7 @@ public class EngagementService {
5855
JsonMarshaller json;
5956

6057
// create an engagement
61-
public Project createEngagement(Engagement engagement) {
58+
public Project createEngagement(Engagement engagement, String author, String authorEmail) {
6259

6360
// create project structure
6461
Project project = createProjectStucture(engagement);
@@ -68,15 +65,15 @@ public Project createEngagement(Engagement engagement) {
6865
List<File> templateFiles = new ArrayList<>();
6966
templateFiles.add(createEngagmentFile(engagement));
7067

71-
if(LOGGER.isDebugEnabled()) {
68+
if (LOGGER.isDebugEnabled()) {
7269
templateFiles.stream().forEach(file -> LOGGER.debug("File path :: " + file.getFilePath()));
7370
}
7471

7572
// create actions for multiple commit
76-
CommitMultiple commit = createCommitMultiple(templateFiles, project.getId(), DEFAULT_BRANCH,
77-
engagement.getEngagementLeadName(), engagement.getEngagementLeadEmail(), project.isFirst());
73+
CommitMultiple commit = createCommitMultiple(templateFiles, project.getId(), DEFAULT_BRANCH, author,
74+
authorEmail, project.isFirst());
7875

79-
if(LOGGER.isDebugEnabled()) {
76+
if (LOGGER.isDebugEnabled()) {
8077
commit.getActions().stream().forEach(file -> LOGGER.debug("Action File path :: " + file.getFilePath()));
8178
}
8279

@@ -90,14 +87,11 @@ public Project createEngagement(Engagement engagement) {
9087
}
9188

9289
/**
93-
* Gets all engagements from the base group
94-
* Structure is
95-
* BaseGroup
96-
* - customer group
97-
* - engagement group
98-
* - project (repo)
99-
* - engagement file
100-
* This is search for all projects named 'iac' that our bot has access to. Then looking for the config data
90+
* Gets all engagements from the base group Structure is BaseGroup - customer
91+
* group - engagement group - project (repo) - engagement file This is search
92+
* for all projects named 'iac' that our bot has access to. Then looking for the
93+
* config data
94+
*
10195
* @return A list or engagements
10296
*/
10397
public List<Engagement> getAllEngagements() {
@@ -106,10 +100,10 @@ public List<Engagement> getAllEngagements() {
106100

107101
List<Engagement> engagementFiles = new ArrayList<>();
108102

109-
for(ProjectSearchResults project : projects) {
103+
for (ProjectSearchResults project : projects) {
110104
LOGGER.debug("project id {}", project.getId());
111105
Optional<File> engagementFile = fileService.getFileAllow404(project.getId(), "engagement.json");
112-
if(engagementFile.isPresent()) {
106+
if (engagementFile.isPresent()) {
113107
engagementFiles.add(json.fromJson(engagementFile.get().getContent(), Engagement.class));
114108
}
115109
}
@@ -137,8 +131,8 @@ private Project createProjectStucture(Engagement engagement) {
137131
.parentId(customerGroup.getId()).build());
138132

139133
// create project under project name group
140-
Project project = getOrCreateProject(projectGroup.getId(), ENGAGEMENT_PROJECT_NAME,
141-
Project.builder().name(ENGAGEMENT_PROJECT_NAME).visibility("private").namespaceId(projectGroup.getId()).build());
134+
Project project = getOrCreateProject(projectGroup.getId(), ENGAGEMENT_PROJECT_NAME, Project.builder()
135+
.name(ENGAGEMENT_PROJECT_NAME).visibility("private").namespaceId(projectGroup.getId()).build());
142136

143137
// enable deployment key on project
144138
projectService.enableDeploymentKeyOnProject(project.getId(), deployKey);
@@ -191,7 +185,8 @@ private CommitMultiple createCommitMultiple(List<File> filesToCommit, Integer pr
191185

192186
List<Action> actions = new ArrayList<>();
193187

194-
// convert each file to action - parallelStream was bringing inconsistent results
188+
// convert each file to action - parallelStream was bringing inconsistent
189+
// results
195190
filesToCommit.stream().forEach(file -> actions.add(createAction(file, isNew)));
196191

197192
return CommitMultiple.builder().id(projectId).branch(branch).commitMessage(commitMessage()).actions(actions)
@@ -215,15 +210,16 @@ private String stripPrefix(String in) {
215210

216211
private String commitMessage() {
217212
String COMMIT_MSG = "%s engagement update by git-api %s ";
218-
return String.format(COMMIT_MSG, getEmoji(),getEmoji());
213+
return String.format(COMMIT_MSG, getEmoji(), getEmoji());
219214
}
220215

221216
private String getEmoji() {
222217
String bear = "\ud83d\udc3b";
223218

224219
int bearCodePoint = bear.codePointAt(bear.offsetByCodePoints(0, 0));
225220
int mysteryAnimalCodePoint = bearCodePoint + new Random().nextInt(144);
226-
char mysteryEmoji[] = {Character.highSurrogate(mysteryAnimalCodePoint), Character.lowSurrogate(mysteryAnimalCodePoint)};
221+
char mysteryEmoji[] = { Character.highSurrogate(mysteryAnimalCodePoint),
222+
Character.lowSurrogate(mysteryAnimalCodePoint) };
227223

228224
return String.valueOf(mysteryEmoji);
229225
}
Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.redhat.labs.omp;
22

33
import static io.restassured.RestAssured.given;
4-
import static org.junit.jupiter.api.Assertions.assertTrue;
54

65
import org.junit.jupiter.api.Test;
76

@@ -12,23 +11,14 @@
1211

1312
@QuarkusTest
1413
public class ProjectsResourceIT {
15-
@Test
16-
public void testListAllProjects() {
17-
String projectList = given()
18-
.when().get("/api/projects")
19-
.then()
20-
.statusCode(200).extract().asString();
21-
22-
assertTrue(projectList.contains("https://gitlab.consulting.redhat.com/api/v4/projects/10816/events"));
23-
}
2414

2515
@Test
2616
public void testDeleteProject() throws InterruptedException {
2717
given()
2818
.when()
29-
.pathParam("project_id", "test/project")
30-
.delete("/api/projects/{project_id}")
31-
.then().statusCode(200);
19+
.pathParam("project_id", 1234)
20+
.delete("/api/v1/projects/{project_id}")
21+
.then().statusCode(204);
3222
}
3323

3424
@Test
@@ -37,7 +27,7 @@ public void testCreateProject() throws InterruptedException {
3727
.when()
3828
.contentType(ContentType.JSON)
3929
.body(ResourceLoader.load("deleteProject-001-request.json"))
40-
.post("/api/projects")
41-
.then().statusCode(200);
30+
.post("/api/v1/projects")
31+
.then().statusCode(201);
4232
}
4333
}

src/test/java/com/redhat/labs/omp/resource/EngagementResourceTest.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ public void testCreateEngagementSuccess() {
3636
given()
3737
.when()
3838
.contentType(ContentType.JSON)
39+
.queryParam("username", "jdoe")
40+
.queryParam("userEmail", "[email protected]")
3941
.body(ResourceLoader.load("engagement.json"))
4042
.post("/api/v1/engagements")
4143
.then()

src/test/java/com/redhat/labs/omp/resource/LegacyResourceTest.java

Lines changed: 0 additions & 89 deletions
This file was deleted.

src/test/java/com/redhat/labs/omp/service/FileServiceTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void testGetFile500() {
4343

4444
@Test
4545
public void deleteFile() {
46-
Optional<File> deletedFile = fileService.deleteFile(7, "/engagement.json");
46+
Optional<File> deletedFile = fileService.deleteFile(7, "engagement.json");
4747
Assert.assertTrue(deletedFile.isPresent());
4848
}
4949

0 commit comments

Comments
 (0)