/sigmah/src/test/java/org/sigmah/server/servlet/ExportIntegrationTest.java

http://sigma-h.googlecode.com/ · Java · 77 lines · 52 code · 18 blank · 7 comment · 2 complexity · 8596573e177ecd06419a44f70035faef MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.servlet;
  6. import com.google.inject.Inject;
  7. import org.hibernate.ejb.HibernateEntityManager;
  8. import org.junit.Test;
  9. import org.junit.runner.RunWith;
  10. import org.sigmah.server.dao.OnDataSet;
  11. import org.sigmah.server.dao.hibernate.HibernateSiteTableDAO;
  12. import org.sigmah.server.endpoint.export.Export;
  13. import org.sigmah.server.endpoint.gwtrpc.CommandTestCase;
  14. import org.sigmah.shared.command.GetSchema;
  15. import org.sigmah.shared.command.handler.GetSchemaHandler;
  16. import org.sigmah.shared.dao.SQLDialect;
  17. import org.sigmah.shared.dao.SiteTableDAO;
  18. import org.sigmah.shared.domain.User;
  19. import org.sigmah.shared.dto.ActivityDTO;
  20. import org.sigmah.shared.dto.SchemaDTO;
  21. import org.sigmah.shared.dto.UserDatabaseDTO;
  22. import org.sigmah.test.InjectionSupport;
  23. import javax.persistence.EntityManager;
  24. import javax.persistence.EntityManagerFactory;
  25. import java.io.File;
  26. import java.io.FileOutputStream;
  27. /**
  28. * @author Alex Bertram
  29. */
  30. @RunWith(InjectionSupport.class)
  31. @OnDataSet("/dbunit/sites-simple1.db.xml")
  32. public class ExportIntegrationTest extends CommandTestCase {
  33. @Inject
  34. private EntityManagerFactory emf;
  35. @Inject
  36. private SQLDialect dialect;
  37. @Inject
  38. private GetSchemaHandler getSchemaHandler;
  39. @Test
  40. public void fullTest() throws Throwable {
  41. User user = new User();
  42. user.setId(1);
  43. user.setName("Alex");
  44. EntityManager em = emf.createEntityManager();
  45. SchemaDTO schema = (SchemaDTO) getSchemaHandler.execute(new GetSchema(), user);
  46. SiteTableDAO siteDAO = new HibernateSiteTableDAO((HibernateEntityManager)em, dialect);
  47. Export export = new Export(user, siteDAO);
  48. for (UserDatabaseDTO db : schema.getDatabases()) {
  49. for (ActivityDTO activity : db.getActivities()) {
  50. export.export(activity);
  51. }
  52. }
  53. File outputDir = new File("target/report-test/");
  54. outputDir.mkdirs();
  55. FileOutputStream fos = new FileOutputStream("target/report-test/ExportTest.xls");
  56. export.getBook().write(fos);
  57. fos.close();
  58. }
  59. }