/sigmah/src/test/java/org/sigmah/server/endpoint/file/FileManagerTest.java

http://sigma-h.googlecode.com/ · Java · 65 lines · 42 code · 23 blank · 0 comment · 0 complexity · bcbba24d2caac00cb461baeb92db8cb9 MD5 · raw file

  1. package org.sigmah.server.endpoint.file;
  2. import static org.hamcrest.CoreMatchers.equalTo;
  3. import static org.junit.Assert.assertThat;
  4. import java.io.BufferedReader;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.HashMap;
  8. import java.util.Map;
  9. import org.junit.Test;
  10. import org.junit.runner.RunWith;
  11. import org.sigmah.server.dao.OnDataSet;
  12. import org.sigmah.server.endpoint.file.FileManager.DownloadableFile;
  13. import org.sigmah.shared.dto.value.FileUploadUtils;
  14. import org.sigmah.test.InjectionSupport;
  15. import org.sigmah.test.MockHibernateModule;
  16. import org.sigmah.test.Modules;
  17. import com.google.inject.Inject;
  18. @RunWith(InjectionSupport.class)
  19. @Modules({
  20. MockHibernateModule.class,
  21. FileManagerTestConfigModule.class
  22. })
  23. @OnDataSet("/dbunit/projects.db.xml")
  24. public class FileManagerTest {
  25. private static final int AUTHOR_ID = 1;
  26. @Inject
  27. private FileManagerImpl fileManager;
  28. @Inject
  29. private FileStorageProvider storageProvider;
  30. @Test
  31. public void testLocalFileSystem() throws IOException {
  32. Map<String, String> fileProperties = new HashMap<String, String>();
  33. fileProperties.put(FileUploadUtils.DOCUMENT_NAME, "/home/alex/test.doc");
  34. fileProperties.put(FileUploadUtils.DOCUMENT_FLEXIBLE_ELEMENT, "1");
  35. String fileId = fileManager.saveNewFile(fileProperties, "Hello World".getBytes() , AUTHOR_ID);
  36. assertThat( contents( fileManager.getFile(fileId, null) ), equalTo("Hello World"));
  37. }
  38. private String contents(DownloadableFile item) throws IOException {
  39. BufferedReader reader = new BufferedReader(new InputStreamReader( storageProvider.open(item.getStorageId())));
  40. return reader.readLine();
  41. }
  42. }