store_test.rb 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # encoding: utf-8
  2. require 'test_helper'
  3. class StoreTest < ActiveSupport::TestCase
  4. test 'store attachment' do
  5. files = [
  6. {
  7. :data => 'hello world',
  8. :filename => 'test.txt',
  9. },
  10. {
  11. :data => 'hello world äöüß',
  12. :filename => 'testäöüß.txt',
  13. },
  14. {
  15. :data => IO.read('test/fixtures/test1.pdf'),
  16. :filename => 'test.pdf',
  17. },
  18. ]
  19. files.each { |file|
  20. md5 = Digest::MD5.hexdigest( file[:data] )
  21. # add attachments
  22. store = Store.add(
  23. :object => 'Test',
  24. :o_id => 1,
  25. :data => file[:data],
  26. :filename => file[:filename],
  27. :preferences => {},
  28. :created_by_id => 1,
  29. )
  30. assert store
  31. # get list of attachments
  32. attachments = Store.list(
  33. :object => 'Test',
  34. :o_id => 1
  35. )
  36. assert attachments
  37. # md5 check
  38. md5_new = Digest::MD5.hexdigest( attachments[0].store_file.data )
  39. assert_equal( md5, md5_new )
  40. # filename check
  41. assert_equal( file[:filename], attachments[0].filename )
  42. # delete attachments
  43. success = Store.remove(
  44. :object => 'Test',
  45. :o_id => 1
  46. )
  47. assert success
  48. }
  49. end
  50. end