Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions src/main/java/fr/insee/demo/model/Discussion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package fr.insee.demo.model;

import java.util.ArrayList;
import java.util.List;

public class Discussion {

private List<HelloWorld> messages;

public Discussion() {
messages = new ArrayList<HelloWorld>();
}

public List<HelloWorld> getMessages() {
return messages;
}

public void setMessages(List<HelloWorld> messages) {
this.messages = messages;
}

public void AddMessage(String message) {
HelloWorld hello = new HelloWorld(message);
messages.add(hello);
}

public void AddMessage(HelloWorld hello) {
messages.add(hello);
}

public String getAllDiscussion() {

StringBuffer sb = new StringBuffer();
for (HelloWorld hello : messages) {
sb.append("\n");
sb.append(hello.getAuthorName());
sb.append(" - ");
sb.append(hello.getMessage());
sb.append("\n");
}
return sb.toString();
}

public String getDiscussionsFilterByUserId(String userId) {
StringBuffer sb = new StringBuffer();
for (HelloWorld hello : messages) {
if (userId.equals(hello.getUser().getId())) {
sb.append("\n");
sb.append(hello.getAuthorName());
sb.append(" - ");
sb.append(hello.getMessage());
sb.append("\n");
}
}
return sb.toString();
}

}
28 changes: 21 additions & 7 deletions src/main/java/fr/insee/demo/model/HelloWorld.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@

public class HelloWorld {

private User user;
private String message;

public HelloWorld(String message){

this.message=message;


public HelloWorld(String message) {
this.message = message;
}

public String getMessage() {
Expand All @@ -17,6 +16,21 @@ public String getMessage() {
public void setMessage(String message) {
this.message = message;
}



public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public String getAuthorName() {
if (user != null) {
return this.getUser().getName();
} else {
return null;
}
}

}
30 changes: 30 additions & 0 deletions src/main/java/fr/insee/demo/model/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package fr.insee.demo.model;

public class User {

private String id;

private String name;

public User(String id, String name) {
this.id = id;
this.name = name;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

}
11 changes: 11 additions & 0 deletions src/main/java/fr/insee/demo/webservice/Messaging.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,15 @@ public String getMessage() throws Exception {
return hello.getMessage();
}

@GET
@Path("discussion")
@Produces(MediaType.TEXT_HTML)
@ApiOperation(value = "Get discussion", notes = "Get simple conversation")
@ApiResponses(value = { @ApiResponse(code = 200, message = "OK"),
@ApiResponse(code = 500, message = "Unexpected error") })
public String getConversation() throws Exception {
HelloWorld hello = new HelloWorld("Hey !");
return hello.getMessage();
}

}
71 changes: 71 additions & 0 deletions src/test/java/fr/insee/demo/TestDiscussion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package fr.insee.demo ;

import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import fr.insee.demo.model.Discussion;
import fr.insee.demo.model.HelloWorld;
import fr.insee.demo.model.User;

public class TestDiscussion {

private Discussion discussion;

@Before
public void initDiscussion(){
User user1 = new User("001", "John");
User user2 = new User("001", "Jack");
discussion = new Discussion();
HelloWorld hello = new HelloWorld("Hey John!");
hello.setUser(user2);
discussion.AddMessage(hello);
HelloWorld hello2 = new HelloWorld("Hi Jack!");
hello2.setUser(user1);
discussion.AddMessage(hello2);
HelloWorld hello3 = new HelloWorld("How are you ?");
hello3.setUser(user1);
discussion.AddMessage(hello3);
HelloWorld hello4 = new HelloWorld("Fine, Thx, and you John, how are you ?");
hello4.setUser(user2);
discussion.AddMessage(hello4);
HelloWorld hello5 = new HelloWorld("Fine, Thx.");
hello5.setUser(user1);
discussion.AddMessage(hello5);

}


@Test
public void getAllDiscussion() {
Assert.assertEquals(discussion.getAllDiscussion(),discutionToString());
}

@Test
public void getDiscussionsFilterByUser() {
Assert.assertEquals(discussion.getAllDiscussion(),discutionToString());
}

@Test
public void assertNotNullMessage() {
HelloWorld hello = new HelloWorld("Hey !");
Assert.assertNotNull(hello.getMessage());
}



private String discutionToString(){
StringBuffer sb = new StringBuffer();
for (HelloWorld hello : discussion.getMessages()){
sb.append("\n");
sb.append(hello.getAuthorName());
sb.append(" - ");
sb.append(hello.getMessage());
sb.append("\n");
}
return sb.toString();
}



}
24 changes: 24 additions & 0 deletions src/test/java/fr/insee/demo/TestHelloWorld.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import org.junit.Test;

import fr.insee.demo.model.HelloWorld;
import fr.insee.demo.model.User;

public class TestHelloWorld {

Expand All @@ -20,4 +21,27 @@ public void assertNotNullMessage() {
Assert.assertNotNull(hello.getMessage());
}

@Test
public void getUserFromMessage() {
User user = new User("001", "John");
HelloWorld hello = new HelloWorld("Hey !");
hello.setUser(user);
Assert.assertEquals(hello.getUser().getId(),"001");
}

@Test
public void getAuthor() {
User user = new User("001", "John");
HelloWorld hello = new HelloWorld("Hey !");
hello.setUser(user);
Assert.assertEquals(hello.getAuthorName(),"John");
}

@Test
public void getAuthorWhenNotSpecified() {
HelloWorld hello = new HelloWorld("Hey !");
Assert.assertNull(hello.getAuthorName());
}


}
22 changes: 22 additions & 0 deletions src/test/java/fr/insee/demo/TestUser.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package fr.insee.demo;

import org.junit.Assert;
import org.junit.Test;

import fr.insee.demo.model.User;

public class TestUser {

@Test
public void getName() {
User user = new User("001", "John");
Assert.assertEquals(user.getName(), "John");
}

@Test
public void assertNotNullUser() {
User user = new User("001", "John");
Assert.assertNotNull(user.getId());
}

}