daengine 0.6.5 → 0.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module Daengine
2
- VERSION = "0.6.5"
2
+ VERSION = "0.6.8"
3
3
  end
@@ -83,7 +83,7 @@ resource "Digital Assets", :api => true do
83
83
  let(:digital_asset) {da.attributes}
84
84
  example "insert a digital_asset if not found" do
85
85
  do_request()
86
- status.should eq(200)
86
+ status.should eq(201)
87
87
  inserted = DigitalAsset.find('new-digital-asset-id')
88
88
  expect(inserted.present?).to be true
89
89
  end
@@ -8900,3 +8900,303 @@ Completed 406 Not Acceptable in 1.0ms
8900
8900
  Processing by DigitalAssetsController#search as HTML
8901
8901
  Parameters: {"digital_asset_id"=>"blargh-blargh-blargh", "title"=>"Doc Title"}
8902
8902
  Completed 406 Not Acceptable in 1.0ms
8903
+ Started GET "/digital_assets" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8904
+ Processing by DigitalAssetsController#index as JSON
8905
+ Completed 200 OK in 26.0ms (Views: 3.0ms)
8906
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-1" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8907
+ Processing by DigitalAssetsController#index as JSON
8908
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-1"}
8909
+ Completed 200 OK in 92.0ms (Views: 87.0ms)
8910
+ Started GET "/digital_assets?fund=00200" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8911
+ Processing by DigitalAssetsController#index as JSON
8912
+ Parameters: {"fund"=>"00200"}
8913
+ Completed 200 OK in 63.0ms (Views: 58.0ms)
8914
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-4" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8915
+ Processing by DigitalAssetsController#index as JSON
8916
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-4"}
8917
+ Completed 200 OK in 30.0ms (Views: 26.0ms)
8918
+ Started GET "/digital_assets?path=%2Fsome%2Fother%2Fpath.pdf" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8919
+ Processing by DigitalAssetsController#index as JSON
8920
+ Parameters: {"path"=>"/some/other/path.pdf"}
8921
+ Completed 200 OK in 31.0ms (Views: 26.0ms)
8922
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-6" for 127.0.0.1 at 2014-02-06 08:51:26 -0700
8923
+ Processing by DigitalAssetsController#index as JSON
8924
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-6"}
8925
+ Completed 200 OK in 32.0ms (Views: 27.0ms)
8926
+ Started GET "/digital_assets?published=2014-02-06+13%3A51%3A27+UTC" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8927
+ Processing by DigitalAssetsController#index as JSON
8928
+ Parameters: {"published"=>"2014-02-06 13:51:27 UTC"}
8929
+ Completed 200 OK in 66.0ms (Views: 23.0ms)
8930
+ Started GET "/digital_assets/foo-bar-id" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8931
+ Processing by DigitalAssetsController#show as JSON
8932
+ Parameters: {"id"=>"foo-bar-id"}
8933
+ Completed 200 OK in 50.0ms (Views: 35.0ms)
8934
+ Started GET "/digital_assets/not-found-doc" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8935
+ Processing by DigitalAssetsController#show as JSON
8936
+ Parameters: {"id"=>"not-found-doc"}
8937
+ Completed 404 Not Found in 58.0ms (Views: 1.0ms)
8938
+ Started PUT "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8939
+ Processing by DigitalAssetsController#update as JSON
8940
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"foo-bar-digital-asset-id", "title"=>"another title", "changed_at"=>"2014-02-04 15:51:26 UTC", "digital_asset_id"=>"foo-bar-digital-asset-id", "published_at"=>"2014-01-27 15:51:26 UTC", "expires_at"=>"2014-04-06 15:51:26 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/9/foo/bar.txt", "finra_path"=>"/path/finradoc/10/foo/bar.txt", "legacy_path"=>"/oldpath/10/foo/bar.txt", "doc_changed_at"=>"2014-02-04 15:51:26 UTC", "content_type"=>"fact_sheet", "updated_at"=>"2014-02-06 15:51:27 UTC", "created_at"=>"2014-02-06 15:51:27 UTC"}, "id"=>"foo-bar-digital-asset-id"}
8941
+ Completed 200 OK in 20.0ms
8942
+ Started POST "/digital_assets" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8943
+ Processing by DigitalAssetsController#create as JSON
8944
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"52f3af7fbed4827081c2c1ec", "title"=>"Doc Title", "changed_at"=>"2014-02-04 15:51:26 UTC", "digital_asset_id"=>"new-digital-asset-id", "published_at"=>"2014-01-27 15:51:26 UTC", "expires_at"=>"2014-04-06 15:51:26 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/10/foo/bar.txt", "finra_path"=>"/path/finradoc/11/foo/bar.txt", "legacy_path"=>"/oldpath/11/foo/bar.txt", "doc_changed_at"=>"2014-02-04 15:51:26 UTC", "content_type"=>"fact_sheet"}}
8945
+ Completed 201 Created in 29.0ms
8946
+ Started DELETE "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8947
+ Processing by DigitalAssetsController#destroy as JSON
8948
+ Parameters: {"id"=>"foo-bar-digital-asset-id"}
8949
+ Completed 200 OK in 5.0ms
8950
+ Started POST "/digital_assets/updated_time" for 127.0.0.1 at 2014-02-06 08:51:27 -0700
8951
+ Processing by DigitalAssetsController#updated_time as JSON
8952
+ Parameters: {"ids"=>["id-1", "id-2", "id-3", "id-4"]}
8953
+ Completed 200 OK in 25.0ms (Views: 0.0ms)
8954
+ Processing by DigitalAssetsController#index as HTML
8955
+ Completed 406 Not Acceptable in 1.0ms
8956
+ Processing by DigitalAssetsController#show as HTML
8957
+ Parameters: {"id"=>"id-foobar-permanent-9"}
8958
+ Completed 406 Not Acceptable in 7.0ms
8959
+ Processing by DigitalAssetsController#show as HTML
8960
+ Parameters: {"id"=>"IL1111.077"}
8961
+ Completed 406 Not Acceptable in 6.0ms
8962
+ Processing by DigitalAssetsController#show as HTML
8963
+ Parameters: {"id"=>"IL1111.077"}
8964
+ Completed 406 Not Acceptable in 5.0ms
8965
+ Processing by DigitalAssetsController#show as HTML
8966
+ Parameters: {"id"=>"id-foobar-permanent-13"}
8967
+ Completed 406 Not Acceptable in 4.0ms
8968
+ Processing by DigitalAssetsController#search as HTML
8969
+ Completed 406 Not Acceptable in 1.0ms
8970
+ Processing by DigitalAssetsController#search as HTML
8971
+ Parameters: {"path"=>"/one/off.path"}
8972
+ Completed 406 Not Acceptable in 2.0ms
8973
+ Processing by DigitalAssetsController#search as HTML
8974
+ Parameters: {"doctype"=>"fact_sheet"}
8975
+ Completed 406 Not Acceptable in 2.0ms
8976
+ Processing by DigitalAssetsController#search as HTML
8977
+ Parameters: {"doctype"=>["fact_sheet", "prospectus"]}
8978
+ Completed 406 Not Acceptable in 2.0ms
8979
+ Processing by DigitalAssetsController#search as HTML
8980
+ Parameters: {"sami"=>"SOMETHING.001"}
8981
+ Completed 406 Not Acceptable in 2.0ms
8982
+ Processing by DigitalAssetsController#search as HTML
8983
+ Parameters: {"audience"=>"492"}
8984
+ Completed 406 Not Acceptable in 1.0ms
8985
+ Processing by DigitalAssetsController#search as HTML
8986
+ Parameters: {"title"=>"Doc Title"}
8987
+ Completed 406 Not Acceptable in 1.0ms
8988
+ Processing by DigitalAssetsController#search as HTML
8989
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-35"}
8990
+ Completed 406 Not Acceptable in 1.0ms
8991
+ Processing by DigitalAssetsController#search as HTML
8992
+ Parameters: {"business_owner"=>"biz owner"}
8993
+ Completed 406 Not Acceptable in 1.0ms
8994
+ Processing by DigitalAssetsController#search as HTML
8995
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-42", "title"=>"Doc Title"}
8996
+ Completed 406 Not Acceptable in 4.0ms
8997
+ Processing by DigitalAssetsController#search as HTML
8998
+ Parameters: {"title"=>"Doc Title", "audiences"=>["investor"], "sami"=>"IL1111.077"}
8999
+ Completed 406 Not Acceptable in 2.0ms
9000
+ Processing by DigitalAssetsController#search as HTML
9001
+ Parameters: {"digital_asset_id"=>"blargh-blargh-blargh", "title"=>"Doc Title"}
9002
+ Completed 406 Not Acceptable in 1.0ms
9003
+ Started GET "/digital_assets" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9004
+ Processing by DigitalAssetsController#index as JSON
9005
+ Completed 200 OK in 27.0ms (Views: 3.0ms)
9006
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-1" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9007
+ Processing by DigitalAssetsController#index as JSON
9008
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-1"}
9009
+ Completed 200 OK in 90.0ms (Views: 83.0ms)
9010
+ Started GET "/digital_assets?fund=00200" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9011
+ Processing by DigitalAssetsController#index as JSON
9012
+ Parameters: {"fund"=>"00200"}
9013
+ Completed 200 OK in 57.0ms (Views: 50.0ms)
9014
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-4" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9015
+ Processing by DigitalAssetsController#index as JSON
9016
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-4"}
9017
+ Completed 200 OK in 33.0ms (Views: 28.0ms)
9018
+ Started GET "/digital_assets?path=%2Fsome%2Fother%2Fpath.pdf" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9019
+ Processing by DigitalAssetsController#index as JSON
9020
+ Parameters: {"path"=>"/some/other/path.pdf"}
9021
+ Completed 200 OK in 29.0ms (Views: 25.0ms)
9022
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-6" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9023
+ Processing by DigitalAssetsController#index as JSON
9024
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-6"}
9025
+ Completed 200 OK in 32.0ms (Views: 28.0ms)
9026
+ Started GET "/digital_assets?published=2014-02-06+18%3A54%3A41+UTC" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9027
+ Processing by DigitalAssetsController#index as JSON
9028
+ Parameters: {"published"=>"2014-02-06 18:54:41 UTC"}
9029
+ Completed 200 OK in 52.0ms (Views: 23.0ms)
9030
+ Started GET "/digital_assets/foo-bar-id" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9031
+ Processing by DigitalAssetsController#show as JSON
9032
+ Parameters: {"id"=>"foo-bar-id"}
9033
+ Completed 200 OK in 34.0ms (Views: 19.0ms)
9034
+ Started GET "/digital_assets/not-found-doc" for 127.0.0.1 at 2014-02-06 13:54:41 -0700
9035
+ Processing by DigitalAssetsController#show as JSON
9036
+ Parameters: {"id"=>"not-found-doc"}
9037
+ Completed 404 Not Found in 80.0ms (Views: 2.0ms)
9038
+ Started PUT "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-06 13:54:42 -0700
9039
+ Processing by DigitalAssetsController#update as JSON
9040
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"foo-bar-digital-asset-id", "title"=>"another title", "changed_at"=>"2014-02-04 20:54:40 UTC", "digital_asset_id"=>"foo-bar-digital-asset-id", "published_at"=>"2014-01-27 20:54:40 UTC", "expires_at"=>"2014-04-06 20:54:40 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/9/foo/bar.txt", "finra_path"=>"/path/finradoc/10/foo/bar.txt", "legacy_path"=>"/oldpath/10/foo/bar.txt", "doc_changed_at"=>"2014-02-04 20:54:40 UTC", "content_type"=>"fact_sheet", "updated_at"=>"2014-02-06 20:54:42 UTC", "created_at"=>"2014-02-06 20:54:42 UTC"}, "id"=>"foo-bar-digital-asset-id"}
9041
+ Completed 200 OK in 23.0ms
9042
+ Started POST "/digital_assets" for 127.0.0.1 at 2014-02-06 13:54:42 -0700
9043
+ Processing by DigitalAssetsController#create as JSON
9044
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"52f3f69255b605263bb43c0f", "title"=>"Doc Title", "changed_at"=>"2014-02-04 20:54:40 UTC", "digital_asset_id"=>"new-digital-asset-id", "published_at"=>"2014-01-27 20:54:40 UTC", "expires_at"=>"2014-04-06 20:54:40 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/10/foo/bar.txt", "finra_path"=>"/path/finradoc/11/foo/bar.txt", "legacy_path"=>"/oldpath/11/foo/bar.txt", "doc_changed_at"=>"2014-02-04 20:54:40 UTC", "content_type"=>"fact_sheet"}}
9045
+ Completed 201 Created in 28.0ms
9046
+ Started DELETE "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-06 13:54:42 -0700
9047
+ Processing by DigitalAssetsController#destroy as JSON
9048
+ Parameters: {"id"=>"foo-bar-digital-asset-id"}
9049
+ Completed 200 OK in 6.0ms
9050
+ Started POST "/digital_assets/updated_time" for 127.0.0.1 at 2014-02-06 13:54:42 -0700
9051
+ Processing by DigitalAssetsController#updated_time as JSON
9052
+ Parameters: {"ids"=>["id-1", "id-2", "id-3", "id-4"]}
9053
+ Completed 200 OK in 24.0ms (Views: 0.0ms)
9054
+ Processing by DigitalAssetsController#index as HTML
9055
+ Completed 406 Not Acceptable in 1.0ms
9056
+ Processing by DigitalAssetsController#show as HTML
9057
+ Parameters: {"id"=>"id-foobar-permanent-9"}
9058
+ Completed 406 Not Acceptable in 5.0ms
9059
+ Processing by DigitalAssetsController#show as HTML
9060
+ Parameters: {"id"=>"IL1111.077"}
9061
+ Completed 406 Not Acceptable in 4.0ms
9062
+ Processing by DigitalAssetsController#show as HTML
9063
+ Parameters: {"id"=>"IL1111.077"}
9064
+ Completed 406 Not Acceptable in 4.0ms
9065
+ Processing by DigitalAssetsController#show as HTML
9066
+ Parameters: {"id"=>"id-foobar-permanent-13"}
9067
+ Completed 406 Not Acceptable in 4.0ms
9068
+ Processing by DigitalAssetsController#search as HTML
9069
+ Completed 406 Not Acceptable in 1.0ms
9070
+ Processing by DigitalAssetsController#search as HTML
9071
+ Parameters: {"path"=>"/one/off.path"}
9072
+ Completed 406 Not Acceptable in 1.0ms
9073
+ Processing by DigitalAssetsController#search as HTML
9074
+ Parameters: {"doctype"=>"fact_sheet"}
9075
+ Completed 406 Not Acceptable in 5.0ms
9076
+ Processing by DigitalAssetsController#search as HTML
9077
+ Parameters: {"doctype"=>["fact_sheet", "prospectus"]}
9078
+ Completed 406 Not Acceptable in 2.0ms
9079
+ Processing by DigitalAssetsController#search as HTML
9080
+ Parameters: {"sami"=>"SOMETHING.001"}
9081
+ Completed 406 Not Acceptable in 1.0ms
9082
+ Processing by DigitalAssetsController#search as HTML
9083
+ Parameters: {"audience"=>"492"}
9084
+ Completed 406 Not Acceptable in 1.0ms
9085
+ Processing by DigitalAssetsController#search as HTML
9086
+ Parameters: {"title"=>"Doc Title"}
9087
+ Completed 406 Not Acceptable in 2.0ms
9088
+ Processing by DigitalAssetsController#search as HTML
9089
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-35"}
9090
+ Completed 406 Not Acceptable in 2.0ms
9091
+ Processing by DigitalAssetsController#search as HTML
9092
+ Parameters: {"business_owner"=>"biz owner"}
9093
+ Completed 406 Not Acceptable in 2.0ms
9094
+ Processing by DigitalAssetsController#search as HTML
9095
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-42", "title"=>"Doc Title"}
9096
+ Completed 406 Not Acceptable in 3.0ms
9097
+ Processing by DigitalAssetsController#search as HTML
9098
+ Parameters: {"title"=>"Doc Title", "audiences"=>["investor"], "sami"=>"IL1111.077"}
9099
+ Completed 406 Not Acceptable in 2.0ms
9100
+ Processing by DigitalAssetsController#search as HTML
9101
+ Parameters: {"digital_asset_id"=>"blargh-blargh-blargh", "title"=>"Doc Title"}
9102
+ Completed 406 Not Acceptable in 1.0ms
9103
+ Started GET "/digital_assets" for 127.0.0.1 at 2014-02-07 13:23:08 -0700
9104
+ Processing by DigitalAssetsController#index as JSON
9105
+ Completed 200 OK in 26.0ms (Views: 3.0ms)
9106
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-1" for 127.0.0.1 at 2014-02-07 13:23:08 -0700
9107
+ Processing by DigitalAssetsController#index as JSON
9108
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-1"}
9109
+ Completed 200 OK in 48.0ms (Views: 43.0ms)
9110
+ Started GET "/digital_assets?fund=00200" for 127.0.0.1 at 2014-02-07 13:23:08 -0700
9111
+ Processing by DigitalAssetsController#index as JSON
9112
+ Parameters: {"fund"=>"00200"}
9113
+ Completed 200 OK in 66.0ms (Views: 58.0ms)
9114
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-4" for 127.0.0.1 at 2014-02-07 13:23:08 -0700
9115
+ Processing by DigitalAssetsController#index as JSON
9116
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-4"}
9117
+ Completed 200 OK in 21.0ms (Views: 17.0ms)
9118
+ Started GET "/digital_assets?path=%2Fsome%2Fother%2Fpath.pdf" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9119
+ Processing by DigitalAssetsController#index as JSON
9120
+ Parameters: {"path"=>"/some/other/path.pdf"}
9121
+ Completed 200 OK in 21.0ms (Views: 16.0ms)
9122
+ Started GET "/digital_assets?digital_asset_id=id-foobar-permanent-6" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9123
+ Processing by DigitalAssetsController#index as JSON
9124
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-6"}
9125
+ Completed 200 OK in 22.0ms (Views: 18.0ms)
9126
+ Started GET "/digital_assets?published=2014-02-07+18%3A23%3A09+UTC" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9127
+ Processing by DigitalAssetsController#index as JSON
9128
+ Parameters: {"published"=>"2014-02-07 18:23:09 UTC"}
9129
+ Completed 200 OK in 45.0ms (Views: 13.0ms)
9130
+ Started GET "/digital_assets/foo-bar-id" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9131
+ Processing by DigitalAssetsController#show as JSON
9132
+ Parameters: {"id"=>"foo-bar-id"}
9133
+ Completed 200 OK in 36.0ms (Views: 14.0ms)
9134
+ Started GET "/digital_assets/not-found-doc" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9135
+ Processing by DigitalAssetsController#show as JSON
9136
+ Parameters: {"id"=>"not-found-doc"}
9137
+ Completed 404 Not Found in 77.0ms (Views: 1.0ms)
9138
+ Started PUT "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9139
+ Processing by DigitalAssetsController#update as JSON
9140
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"foo-bar-digital-asset-id", "title"=>"another title", "changed_at"=>"2014-02-05 20:23:08 UTC", "digital_asset_id"=>"foo-bar-digital-asset-id", "published_at"=>"2014-01-28 20:23:08 UTC", "expires_at"=>"2014-04-07 20:23:08 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/9/foo/bar.txt", "finra_path"=>"/path/finradoc/10/foo/bar.txt", "legacy_path"=>"/oldpath/10/foo/bar.txt", "doc_changed_at"=>"2014-02-05 20:23:08 UTC", "content_type"=>"fact_sheet", "updated_at"=>"2014-02-07 20:23:09 UTC", "created_at"=>"2014-02-07 20:23:09 UTC"}, "id"=>"foo-bar-digital-asset-id"}
9141
+ Completed 200 OK in 26.0ms
9142
+ Started POST "/digital_assets" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9143
+ Processing by DigitalAssetsController#create as JSON
9144
+ Parameters: {"digital_asset"=>{"audiences"=>["investor"], "omniture_codes"=>["KOW2MY24D"], "orderable"=>"false", "pages"=>"1", "fund_codes"=>["00200", "00190", "00210"], "_id"=>"52f540adbed4234422280059", "title"=>"Doc Title", "changed_at"=>"2014-02-05 20:23:08 UTC", "digital_asset_id"=>"new-digital-asset-id", "published_at"=>"2014-01-28 20:23:08 UTC", "expires_at"=>"2014-04-07 20:23:08 UTC", "sami_code"=>"IL1111.077", "business_owner"=>"biz owner", "path"=>"/10/foo/bar.txt", "finra_path"=>"/path/finradoc/11/foo/bar.txt", "legacy_path"=>"/oldpath/11/foo/bar.txt", "doc_changed_at"=>"2014-02-05 20:23:08 UTC", "content_type"=>"fact_sheet"}}
9145
+ Completed 201 Created in 62.0ms
9146
+ Started DELETE "/digital_assets/foo-bar-digital-asset-id" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9147
+ Processing by DigitalAssetsController#destroy as JSON
9148
+ Parameters: {"id"=>"foo-bar-digital-asset-id"}
9149
+ Completed 200 OK in 8.0ms
9150
+ Started POST "/digital_assets/updated_time" for 127.0.0.1 at 2014-02-07 13:23:09 -0700
9151
+ Processing by DigitalAssetsController#updated_time as JSON
9152
+ Parameters: {"ids"=>["id-1", "id-2", "id-3", "id-4"]}
9153
+ Completed 200 OK in 27.0ms (Views: 1.0ms)
9154
+ Processing by DigitalAssetsController#index as HTML
9155
+ Completed 406 Not Acceptable in 1.0ms
9156
+ Processing by DigitalAssetsController#show as HTML
9157
+ Parameters: {"id"=>"id-foobar-permanent-9"}
9158
+ Completed 406 Not Acceptable in 5.0ms
9159
+ Processing by DigitalAssetsController#show as HTML
9160
+ Parameters: {"id"=>"IL1111.077"}
9161
+ Completed 406 Not Acceptable in 4.0ms
9162
+ Processing by DigitalAssetsController#show as HTML
9163
+ Parameters: {"id"=>"IL1111.077"}
9164
+ Completed 406 Not Acceptable in 4.0ms
9165
+ Processing by DigitalAssetsController#show as HTML
9166
+ Parameters: {"id"=>"id-foobar-permanent-13"}
9167
+ Completed 406 Not Acceptable in 4.0ms
9168
+ Processing by DigitalAssetsController#search as HTML
9169
+ Completed 406 Not Acceptable in 1.0ms
9170
+ Processing by DigitalAssetsController#search as HTML
9171
+ Parameters: {"path"=>"/one/off.path"}
9172
+ Completed 406 Not Acceptable in 2.0ms
9173
+ Processing by DigitalAssetsController#search as HTML
9174
+ Parameters: {"doctype"=>"fact_sheet"}
9175
+ Completed 406 Not Acceptable in 4.0ms
9176
+ Processing by DigitalAssetsController#search as HTML
9177
+ Parameters: {"doctype"=>["fact_sheet", "prospectus"]}
9178
+ Completed 406 Not Acceptable in 2.0ms
9179
+ Processing by DigitalAssetsController#search as HTML
9180
+ Parameters: {"sami"=>"SOMETHING.001"}
9181
+ Completed 406 Not Acceptable in 1.0ms
9182
+ Processing by DigitalAssetsController#search as HTML
9183
+ Parameters: {"audience"=>"492"}
9184
+ Completed 406 Not Acceptable in 1.0ms
9185
+ Processing by DigitalAssetsController#search as HTML
9186
+ Parameters: {"title"=>"Doc Title"}
9187
+ Completed 406 Not Acceptable in 1.0ms
9188
+ Processing by DigitalAssetsController#search as HTML
9189
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-35"}
9190
+ Completed 406 Not Acceptable in 1.0ms
9191
+ Processing by DigitalAssetsController#search as HTML
9192
+ Parameters: {"business_owner"=>"biz owner"}
9193
+ Completed 406 Not Acceptable in 1.0ms
9194
+ Processing by DigitalAssetsController#search as HTML
9195
+ Parameters: {"digital_asset_id"=>"id-foobar-permanent-42", "title"=>"Doc Title"}
9196
+ Completed 406 Not Acceptable in 4.0ms
9197
+ Processing by DigitalAssetsController#search as HTML
9198
+ Parameters: {"title"=>"Doc Title", "audiences"=>["investor"], "sami"=>"IL1111.077"}
9199
+ Completed 406 Not Acceptable in 2.0ms
9200
+ Processing by DigitalAssetsController#search as HTML
9201
+ Parameters: {"digital_asset_id"=>"blargh-blargh-blargh", "title"=>"Doc Title"}
9202
+ Completed 406 Not Acceptable in 1.0ms
data/spec/factories.rb CHANGED
@@ -4,17 +4,37 @@ FactoryGirl.define do
4
4
  title 'Doc Title'
5
5
  changed_at 2.days.ago
6
6
  audiences ['investor']
7
- sequence(:digital_asset_id) {|n| "id-foobar-permanent-#{n}"}
7
+ sequence(:digital_asset_id) { |n| "id-foobar-permanent-#{n}" }
8
8
  published_at 10.days.ago
9
9
  expires_at 2.months.from_now
10
10
  sami_code 'IL1111.077'
11
11
  business_owner 'biz owner'
12
12
  omniture_codes ["KOW2MY24D"]
13
- sequence(:path) {|n| "/#{n}/foo/bar.txt"}
14
- sequence(:finra_path) {|n| "/path/finradoc/#{n}/foo/bar.txt"}
15
- sequence(:legacy_path) {|n| "/oldpath/#{n}/foo/bar.txt"}
16
- doc_changed_at 2.days.ago
13
+ sequence(:path) { |n| "/#{n}/foo/bar.txt" }
14
+ sequence(:finra_path) { |n| "/path/finradoc/#{n}/foo/bar.txt" }
15
+ sequence(:legacy_path) { |n| "/oldpath/#{n}/foo/bar.txt" }
16
+ doc_changed_at 2.days.ago
17
17
  content_type 'fact_sheet'
18
18
  fund_codes ['00200', '00190', '00210']
19
19
  end
20
+
21
+ factory :service_digital_asset do
22
+ title 'Doc Title'
23
+ changed_at 2.days.ago
24
+ audiences ['490']
25
+ sequence(:digital_asset_id) { |n| "id-foobar-permanent-#{n}" }
26
+ published_at 10.days.ago
27
+ expires_at 2.months.from_now
28
+ sami_code 'IL1111.077'
29
+ product_ids ['690', '420']
30
+ business_owner 'biz owner'
31
+ content_organization_ids ['LWXO44E8J', 'LWXO5XI3C']
32
+ program_ids ["LKZWOFHR6", "LKZWOFGF2"]
33
+ omniture_codes ["KOW2MY24D"]
34
+ sequence(:path) { |n| "/#{n}/foo/bar.txt" }
35
+ doc_changed_at 2.days.ago
36
+ content_type '666'
37
+ fund_codes []
38
+ display_on_website true
39
+ end
20
40
  end
@@ -3,7 +3,8 @@ require 'spec_helper'
3
3
  describe Daengine::DigitalAssetProcessor do
4
4
  before { Daengine.configure(:assets_path => Dir.pwd+'/spec/mock_data',
5
5
  :daengine_yml_file => Dir.pwd+'/spec/mock_data/daengine.yml',
6
- :digital_assets_file_directory => Dir.pwd + '/spec/mock_data'
6
+ :digital_assets_file_directory => Dir.pwd + '/spec/mock_data',
7
+ :digital_asset_service_url => 'http://localhost:3000/digital_assets'
7
8
  ) }
8
9
  context "process_tuple_directory" do
9
10
  it 'processes only files modified in the last 2 days' do
@@ -12,9 +13,10 @@ describe Daengine::DigitalAssetProcessor do
12
13
  DigitalAsset.count.should == 0
13
14
  File.stub(:exist?) { true }
14
15
  File.stub(:mtime) { Time.now }
15
- expect {
16
+ Daengine::TeamsiteMetadataProcessor.should_receive(:process_tuple_file).any_number_of_times
17
+ #expect {
16
18
  Daengine::DigitalAssetProcessor.process_tuple_directory
17
- }.to change {DigitalAsset.count}.by_at_least(10)
19
+ #}.to change {DigitalAsset.count}.by_at_least(10)
18
20
  end
19
21
  it 'processes only those files that modified since the last time the daengine process ran' do
20
22
  # process any files that has modified since last run. None !!
@@ -0,0 +1,236 @@
1
+ require 'spec_helper'
2
+ require 'daengine/teamsite_metadata_processor'
3
+
4
+ describe Daengine::TeamsiteMetadataProcessor do
5
+ before { Daengine.configure(:assets_path => Dir.pwd+'/spec/mock_data',
6
+ :daengine_yml_file => Dir.pwd+'/spec/mock_data/daengine.yml',
7
+ :digital_assets_file_directory => Dir.pwd + '/spec/mock_data/',
8
+ :digital_asset_service_url => 'http://localhost:3000/digital_assets')
9
+ }
10
+ subject { Daengine::TeamsiteMetadataProcessor }
11
+
12
+ context '#parse_file' do
13
+ it 'reads xml' do
14
+ file = File.expand_path('./spec/mock_data/selective_new_package.xml')
15
+
16
+ assets = subject.parse_file(open(file))
17
+
18
+ assets.count.should == 2 # hash with 2 keys
19
+
20
+ list = assets['163742d3-fbc2-4c99-8396-6eabe7464b8f']
21
+ entered = list.first
22
+ entered.digital_asset_id.should == '163742d3-fbc2-4c99-8396-6eabe7464b8f'
23
+ entered.path.should == '/digitalAssets/SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc'
24
+ entered.summary.should == 'first foo bar...'
25
+ #entered.title.should == 'fake title'
26
+ #entered.size.should == '12 kB'
27
+ #entered.pages.should == 1
28
+ #entered.finra_path.should == "/digitalAssets/TEST_FINRA_DOC.doc"
29
+ end
30
+
31
+ it 'can read a whole bulk deploy xml file quickly' do
32
+ start = Time.now
33
+ file = File.expand_path('./spec/mock_data/bulk-ssc_deploy.xml')
34
+ assets = subject.parse_file(open(file))
35
+ (Time.now - start).should < 2.seconds
36
+ assets.count.should == 18
37
+ end
38
+ end
39
+
40
+ context '#filter_assets' do
41
+ let(:asset) { FactoryGirl.build :service_digital_asset }
42
+ let(:other_asset) { FactoryGirl.build :service_digital_asset }
43
+
44
+ it 'should return assets that are effective' do
45
+ id = asset.digital_asset_id
46
+ assets = {id => [asset]}
47
+
48
+ results = subject.select_1_asset_per_id(assets)
49
+
50
+ results[id].should == asset
51
+ end
52
+
53
+ it 'should remove assets missing expires_at value' do
54
+ id = asset.digital_asset_id
55
+ asset.expires_at = nil
56
+ assets = {id => [asset]}
57
+
58
+ results = subject.select_1_asset_per_id(assets)
59
+
60
+ results[id].should be_nil
61
+ end
62
+
63
+ it 'should remove assets that are not displayed on the web site' do
64
+ id = asset.digital_asset_id
65
+ asset.display_on_website = false
66
+ assets = {id => [asset]}
67
+
68
+ results = subject.select_1_asset_per_id(assets)
69
+
70
+ results[id].should be_nil
71
+ end
72
+
73
+ it 'should return the non-expired asset' do
74
+ id = asset.digital_asset_id
75
+ other_asset.expires_at = 1.day.ago
76
+
77
+ assets = {id => [asset, other_asset]}
78
+ results = subject.select_1_asset_per_id(assets)
79
+ results[id].should == asset
80
+
81
+ # order in list shouldn't matter
82
+ assets = {id => [other_asset, asset]}
83
+ results = subject.select_1_asset_per_id(assets)
84
+ results[id].should == asset
85
+ end
86
+
87
+ it 'should return the non-manifest asset' do
88
+ id = asset.digital_asset_id
89
+ other_asset.path = '/foo/manifest' + other_asset.path
90
+
91
+ assets = {id => [asset, other_asset]}
92
+ results = subject.select_1_asset_per_id(assets)
93
+ results[id].should == asset
94
+
95
+ # order in list shouldn't matter
96
+ assets = {id => [other_asset, asset]}
97
+ results = subject.select_1_asset_per_id(assets)
98
+ results[id].should == asset
99
+ end
100
+
101
+ it 'should return the non-finra asset' do
102
+ id = asset.digital_asset_id
103
+ other_asset.content_type = DigitalAsset::ContentType::FINRA
104
+
105
+ assets = {id => [asset, other_asset]}
106
+ results = subject.select_1_asset_per_id(assets)
107
+ results[id].should == asset
108
+
109
+ # order in list shouldn't matter
110
+ assets = {id => [other_asset, asset]}
111
+ results = subject.select_1_asset_per_id(assets)
112
+ results[id].should == asset
113
+ end
114
+
115
+ it 'should set the finra_path on the returned asset' do
116
+ id = asset.digital_asset_id
117
+ other_asset.content_type = DigitalAsset::ContentType::FINRA
118
+ finra_path = other_asset.path
119
+
120
+ assets = {id => [asset, other_asset]}
121
+ results = subject.select_1_asset_per_id(assets)
122
+ result = results[id]
123
+ result.should == asset
124
+ result.finra_path.should == finra_path
125
+ end
126
+ end
127
+
128
+ context '#add_file_attributes' do
129
+ let(:asset) { FactoryGirl.build :service_digital_asset }
130
+
131
+ it 'should not set the file attributes for an asset that does not have an associated file' do
132
+ last_read = Time.now
133
+ path = '/foobar.pdf'
134
+ pages = -10
135
+ id = asset.digital_asset_id
136
+ asset.path = path
137
+ asset.pages = pages
138
+ assets = {id => asset}
139
+
140
+ asset.delete?.should == false
141
+
142
+ results = subject.add_file_attributes(assets, last_read)
143
+
144
+ result = results[id]
145
+ result.delete?.should == true
146
+ result.pages.should == pages
147
+ end
148
+
149
+ it 'should set the file attributes based upon the digital asset file' do
150
+ last_read = 1.year.ago
151
+ path = '/digitalAssets/SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc'
152
+ id = asset.digital_asset_id
153
+ asset.path = path
154
+ assets = {id => asset}
155
+
156
+ results = subject.add_file_attributes(assets, last_read)
157
+
158
+ result = results[id]
159
+ result.path.should == '/digitalAssets/SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc'
160
+ result.size.should == '12 kB'
161
+ result.pages.should == 1
162
+ result.mime_type.should == 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
163
+ #result.keywords.should == []
164
+ #result.subject.should be_nil
165
+ end
166
+ end
167
+
168
+ context '#add_fund_codes' do
169
+ let(:asset) { FactoryGirl.build :service_digital_asset }
170
+
171
+ it 'should add the fund code when found' do
172
+ id = asset.digital_asset_id
173
+ product_id = '666'
174
+ fund_code = '777'
175
+ asset.product_ids = [product_id]
176
+ assets = {id => asset}
177
+ DigitalAssetLookupService.should_receive(:fund_code_from_id).with(product_id).and_return(fund_code)
178
+
179
+ results = subject.add_fund_codes(assets)
180
+
181
+ result = results[id]
182
+ result_codes = result.fund_codes
183
+ result_codes.first.should == fund_code.rjust(5, '0')
184
+ end
185
+
186
+ it 'should not add nil if the fund code is not found' do
187
+ id = asset.digital_asset_id
188
+ product_id = '666'
189
+ fund_code = nil
190
+ asset.product_ids = [product_id]
191
+ assets = {id => asset}
192
+ DigitalAssetLookupService.should_receive(:fund_code_from_id).with(product_id).and_return(fund_code)
193
+
194
+ results = subject.add_fund_codes(assets)
195
+
196
+ result = results[id]
197
+ result_codes = result.fund_codes
198
+ result_codes.should == []
199
+ end
200
+ end
201
+
202
+ context '#call_service' do
203
+ let(:asset) { FactoryGirl.build :service_digital_asset }
204
+ let(:header) { {'Accept' => 'application/json',
205
+ 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
206
+ 'User-Agent' => 'Ruby' } }
207
+ #let(:header) { {'Content-Type' => 'application/json'} }
208
+
209
+ it 'should delete an asset that is flagged for deletion' do
210
+ asset.expires_at = 1.day.ago
211
+ assets = {asset.digital_asset_id => asset}
212
+ path = "http://localhost:3000/digital_assets/#{asset.digital_asset_id}"
213
+ options = {:method => :delete, :headers => header}
214
+ response = Object.new
215
+ response.should_receive(:success?).and_return(true)
216
+ response.should_receive(:success?).and_return(true)
217
+ Daengine::HTTP::Client.should_receive(:call).with(path, options).and_return(response)
218
+
219
+ results = subject.call_service(assets)
220
+ results[:deleted].should == 1
221
+ end
222
+
223
+ it 'should add an asset that is not flagged for deletion' do
224
+ assets = {asset.digital_asset_id => asset}
225
+ path = "http://localhost:3000/digital_assets"
226
+ options = {:method => :post, :query => asset.as_hash, :headers => header}
227
+ response = Object.new
228
+ response.should_receive(:success?).and_return(true)
229
+ response.should_receive(:success?).and_return(true)
230
+ Daengine::HTTP::Client.should_receive(:call).with(path, options).and_return(response)
231
+
232
+ results = subject.call_service(assets)
233
+ results[:updated].should == 1
234
+ end
235
+ end
236
+ end