Advertisement
Guest User

Untitled

a guest
May 23rd, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.65 KB | None | 0 0
  1. import app.employee.Employee;
  2. import app.employee.EmployeeController;
  3. import app.employee.EmployeeDao;
  4. import com.google.gson.Gson;
  5. import com.mongodb.MongoClient;
  6. import com.mongodb.client.MongoCollection;
  7. import org.bson.Document;
  8. import org.junit.Before;
  9. import org.junit.Test;
  10. import org.mongodb.morphia.Datastore;
  11. import org.mongodb.morphia.Morphia;
  12. import org.mongodb.morphia.query.Query;
  13. import test_data.dummy_data.EmployeeDummy;
  14.  
  15. import java.io.IOException;
  16. import java.nio.file.Files;
  17. import java.nio.file.Paths;
  18. import java.util.List;
  19. import java.util.stream.Stream;
  20.  
  21. import static org.junit.jupiter.api.Assertions.assertEquals;
  22.  
  23. public class EmployeeTest {
  24. private Morphia morphia;
  25. private Datastore datastore;
  26. private MongoClient client;
  27.  
  28. @Before
  29. public void setup() {
  30. morphia = new Morphia();
  31. client = new MongoClient();
  32. morphia.mapPackage("com.babayaga.beavercoffee.order");
  33. datastore = morphia.createDatastore(client, "beaverDB");
  34. datastore.getDB().dropDatabase();
  35. datastore.getDB().createCollection("employees", null);
  36. datastore.ensureIndexes();
  37.  
  38. try (Stream<String> stream = Files.lines(Paths.get("src/test/java/test_data/employees.txt"))) {
  39. MongoCollection<Document> collection = client.getDatabase("beaverDB").getCollection("employees");
  40. stream.map(Document::parse)
  41. .forEach(collection::insertOne);
  42.  
  43. System.out.println(collection.count());
  44. } catch (IOException e) {
  45. e.printStackTrace();
  46. }
  47. }
  48.  
  49. /**
  50. * View Employees
  51. */
  52. @Test
  53. public void print_employees() {
  54. final Query<Employee> query = datastore.createQuery(Employee.class);
  55. final List<Employee> orders = query.asList();
  56. orders.forEach(System.out::println);
  57. }
  58.  
  59. @Test
  60. public void get_all_employees_from_api() {
  61. final EmployeeDao dao = new EmployeeDao(datastore);
  62. final EmployeeController controller = new EmployeeController(dao);
  63. final List<Employee> employees = controller.getAllEmployees();
  64. employees.forEach(System.out::println);
  65. }
  66.  
  67. @Test
  68. public void get_employee_by_id() {
  69. final EmployeeDao dao = new EmployeeDao(datastore);
  70. final EmployeeController controller = new EmployeeController(dao);
  71. String id = "78970117-3715-4f91-8b4f-c4f3342f5a84";
  72. final Employee employee = controller.getEmployeeById(id);
  73. System.out.println(employee);
  74. }
  75.  
  76. @Test
  77. public void should_update_employee_with_new_values() {
  78. final EmployeeDao dao = new EmployeeDao(datastore);
  79. final EmployeeController controller = new EmployeeController(dao);
  80. Employee employeeToBeUpdated = controller.getEmployeeById("78970117-3715-4f91-8b4f-c4f3342f5a83");
  81. Employee employee = new Gson().fromJson(EmployeeDummy.updatedData, Employee.class);
  82. Employee updatedEmployee = employeeToBeUpdated.overwriteEmployee(employee);
  83. assertEquals(updatedEmployee.get_id(), employeeToBeUpdated.get_id());
  84. dao.createEmployee(updatedEmployee);
  85. assertEquals(2, datastore.getCollection(Employee.class).count());
  86. }
  87.  
  88. @Test
  89. public void get_employees_during_specified_timeperiod() {
  90. final Query<Employee> query = datastore.createQuery(Employee.class);
  91. query.filter("employee.details.employmentHistory.startDate >", 1526633863);
  92. query.filter("employee.details.employmentHistory.endDate <", 1526947200);
  93. final List<Employee> employees = query.asList();
  94. assertEquals(2, employees.size());
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement