daengine 0.5.13 → 0.6

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -0
  3. data/app/controllers/digital_assets_controller.rb +29 -46
  4. data/app/helpers/digital_assets_helper.rb +11 -2
  5. data/app/models/content_service_resource.rb +15 -15
  6. data/app/models/digital_asset.rb +83 -94
  7. data/app/models/teamsite_digital_asset_shim.rb +253 -0
  8. data/app/service/digital_asset_lookup_service.rb +47 -47
  9. data/bin/process_assets +6 -7
  10. data/bin/process_availability +7 -8
  11. data/bin/process_taxonomy +7 -8
  12. data/config/routes.rb +7 -7
  13. data/lib/daengine.rb +1 -13
  14. data/lib/daengine/content_service_processor.rb +24 -24
  15. data/lib/daengine/digital_asset_processor.rb +4 -0
  16. data/lib/daengine/teamsite_metadata_parser.rb +3 -2
  17. data/lib/daengine/version.rb +1 -1
  18. data/lib/tasks/daengine_tasks.rake +0 -9
  19. data/spec/acceptance/digital_assets_spec.rb +116 -0
  20. data/spec/controllers/digital_assets_controller_spec.rb +14 -99
  21. data/spec/dummy/config/environments/test.rb +1 -1
  22. data/spec/dummy/log/development.log +0 -0
  23. data/spec/dummy/log/test.log +8802 -0
  24. data/spec/factories.rb +8 -32
  25. data/spec/lib/content_service_processor_spec.rb +30 -30
  26. data/spec/lib/teamsite_metadata_parser_spec.rb +26 -19
  27. data/spec/mock_data/bulk-ssc_deploy.xml +900 -900
  28. data/spec/mock_data/daengine.yml +1 -1
  29. data/spec/mock_data/digitalAssets/GK-66261382-96be-4a92-839a-73467e89e1b4.txt +289 -289
  30. data/spec/mock_data/digitalAssets/TEST_FINRA_DOC.doc +0 -0
  31. data/spec/mock_data/digitalAssets/m_gyt-709d8ae1-31f1-46ea-b448-33f43dd5140f.html +1008 -1008
  32. data/spec/mock_data/selective_new_package.xml +55 -2
  33. data/spec/mock_data/taxonomy/taxonomyengine.yml +1 -1
  34. data/spec/models/digital_asset_spec.rb +23 -28
  35. data/spec/service/digital_asset_lookup_service_spec.rb +75 -79
  36. data/spec/spec_helper.rb +18 -1
  37. metadata +23 -7
  38. data/lib/daengine/digital_asset_extension_processor.rb +0 -28
  39. data/spec/lib/digital_asset_extension_processor_spec.rb +0 -32
  40. data/spec/mock_data/merrill_lynch_extension.json +0 -5
@@ -15,13 +15,13 @@
15
15
  <tuple-field name="TeamSite/Metadata/enterprise_creation_date">May 08 2012 01:03:32:375PM</tuple-field>
16
16
  <tuple-field name="file_name">SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc</tuple-field>
17
17
  <tuple-field name="TeamSite/Metadata/userGroups_codes"></tuple-field>
18
- <tuple-field name="TeamSite/Metadata/enterprise_last_content_update_date">May 08 2012 01:03:32:374PM</tuple-field>
18
+ <tuple-field name="TeamSite/Metadata/enterprise_last_content_update_date">May 08 2014 01:03:32:374PM</tuple-field>
19
19
  <tuple-field name="TeamSite/Metadata/business_owner">spkmg</tuple-field>
20
20
  <tuple-field name="TeamSite/Metadata/surfaceInComponents_codes"></tuple-field>
21
21
  <tuple-field name="TeamSite/Metadata/headline"></tuple-field>
22
22
  <tuple-field name="TeamSite/Metadata/disp_in_toolbox">Y</tuple-field>
23
23
  <tuple-field name="TeamSite/Metadata/omnitureSiteSection_codes"></tuple-field>
24
- <tuple-field name="TeamSite/Metadata/enterprise_last_updated_date">May 08 2012 01:03:32:374PM</tuple-field>
24
+ <tuple-field name="TeamSite/Metadata/enterprise_last_updated_date">May 08 2014 01:03:32:374PM</tuple-field>
25
25
  <tuple-field name="TeamSite/Metadata/enterprise_language">3596</tuple-field>
26
26
  <tuple-field name="TeamSite/Metadata/surfaceInPages/0/surfaceInPage"></tuple-field>
27
27
  <tuple-field name="TeamSite/Metadata/shortSynopsis">first foo bar...</tuple-field>
@@ -56,6 +56,59 @@
56
56
  <tuple-field name="TeamSite/Metadata/enterprise_searchable">Y</tuple-field>
57
57
  <tuple-field name="state">Original</tuple-field>
58
58
  </data-tuple>
59
+ <data-tuple>
60
+ <tuple-field name="TeamSite/Metadata/enterprise_content_organization_id">LWVM1A35I</tuple-field>
61
+ <tuple-field name="TeamSite/Metadata/sortKey"></tuple-field>
62
+ <tuple-field name="TeamSite/Metadata/thumbnailURL"></tuple-field>
63
+ <tuple-field name="TeamSite/Metadata/loyalty_item">N</tuple-field>
64
+ <tuple-field name="TeamSite/Metadata/numberOfStars"></tuple-field>
65
+ <tuple-field name="TeamSite/Metadata/web_title">Test doc 2 file package initial</tuple-field>
66
+ <tuple-field name="TeamSite/Metadata/enterprise_last_updated_user">spkmg</tuple-field>
67
+ <tuple-field name="TeamSite/Metadata/archiveTitle"></tuple-field>
68
+ <tuple-field name="iw_internal_area">/default/main/sscqa/EDITION/selective-ssc_2012_05_08_13_04_11/</tuple-field>
69
+ <tuple-field name="TeamSite/Metadata/id">1cce2983-b546-43e8-aec9-891612f16228</tuple-field>
70
+ <tuple-field name="TeamSite/Metadata/homepageTitle"></tuple-field>
71
+ <tuple-field name="TeamSite/Metadata/enterprise_creation_date">May 08 2012 01:03:32:375PM</tuple-field>
72
+ <tuple-field name="file_name">SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc</tuple-field>
73
+ <tuple-field name="TeamSite/Metadata/userGroups_codes"></tuple-field>
74
+ <tuple-field name="TeamSite/Metadata/enterprise_last_content_update_date">May 08 2016 01:03:32:374PM</tuple-field>
75
+ <tuple-field name="TeamSite/Metadata/business_owner">spkmg</tuple-field>
76
+ <tuple-field name="TeamSite/Metadata/surfaceInComponents_codes"></tuple-field>
77
+ <tuple-field name="TeamSite/Metadata/headline"></tuple-field>
78
+ <tuple-field name="TeamSite/Metadata/disp_in_toolbox">Y</tuple-field>
79
+ <tuple-field name="TeamSite/Metadata/omnitureSiteSection_codes"></tuple-field>
80
+ <tuple-field name="TeamSite/Metadata/enterprise_last_updated_date">May 08 2016 01:03:32:374PM</tuple-field>
81
+ <tuple-field name="TeamSite/Metadata/enterprise_language">3596</tuple-field>
82
+ <tuple-field name="TeamSite/Metadata/surfaceInPages/0/surfaceInPage"></tuple-field>
83
+ <tuple-field name="TeamSite/Metadata/shortSynopsis">first foo bar...</tuple-field>
84
+ <tuple-field name="TeamSite/Metadata/rttTitle">fake title</tuple-field>
85
+ <tuple-field name="TeamSite/Metadata/enterprise_performance_data">N</tuple-field>
86
+ <tuple-field name="TeamSite/Metadata/enterprise_organization_id">456</tuple-field>
87
+ <tuple-field name="TeamSite/Metadata/enterprise_expiration_date">May 09 2200 12:00:00:000AM</tuple-field>
88
+ <tuple-field name="TeamSite/Metadata/finraPDFURL"></tuple-field>
89
+ <tuple-field name="TeamSite/Metadata/numberOfViews"></tuple-field>
90
+ <tuple-field name="TeamSite/Metadata/defaultPrefillServletURL">N</tuple-field>
91
+ <tuple-field name="TeamSite/Metadata/restrictToUserGroups">N</tuple-field>
92
+ <tuple-field name="TeamSite/Metadata/enterprise_product_id">202,5289</tuple-field>
93
+ <tuple-field name="TeamSite/Metadata/enterprise_last_publication_date">May 08 2012 01:03:32:374PM</tuple-field>
94
+ <tuple-field name="TeamSite/Metadata/contentServicePriority"></tuple-field>
95
+ <tuple-field name="TeamSite/Metadata/enterprise_audience_id">490</tuple-field>
96
+ <tuple-field name="TeamSite/Metadata/articlePDFURL"></tuple-field>
97
+ <tuple-field name="path">/digitalAssets/TEST_FINRA_DOC.doc</tuple-field>
98
+ <tuple-field name="TeamSite/Metadata/searchPriority"></tuple-field>
99
+ <tuple-field name="TeamSite/Metadata/emailReadyPDFURL"></tuple-field>
100
+ <tuple-field name="TeamSite/Metadata/clientReadyPDFURL"></tuple-field>
101
+ <tuple-field name="TeamSite/Metadata/enterprise_guid">163742d3-fbc2-4c99-8396-6eabe7464b8f</tuple-field>
102
+ <tuple-field name="TeamSite/Metadata/enterprise_program_id">M0TVC6CZQ</tuple-field>
103
+ <tuple-field name="TeamSite/Metadata/enterprise_sami_desc">something</tuple-field>
104
+ <tuple-field name="file_path">digitalAssets/TEST_FINRA_DOC.doc</tuple-field>
105
+ <tuple-field name="TeamSite/Metadata/display_on_website">Y</tuple-field>
106
+ <tuple-field name="TeamSite/Metadata/searchChangeFrequency">hourly</tuple-field>
107
+ <tuple-field name="TeamSite/Metadata/personality_codes"></tuple-field>
108
+ <tuple-field name="TeamSite/Metadata/enterprise_content_type_id">549</tuple-field>
109
+ <tuple-field name="TeamSite/Metadata/enterprise_searchable">Y</tuple-field>
110
+ <tuple-field name="state">Original</tuple-field>
111
+ </data-tuple>
59
112
  <data-tuple>
60
113
  <tuple-field name="TeamSite/Metadata/enterprise_content_organization_id">LWVM1A35I</tuple-field>
61
114
  <tuple-field name="TeamSite/Metadata/sortKey"></tuple-field>
@@ -1 +1 @@
1
- last_read_time: 2013-12-18 13:04:41 -0700
1
+ last_read_time: 2014-01-29 15:53:48 -0700
@@ -6,8 +6,10 @@ describe DigitalAsset do
6
6
 
7
7
  context '#fields' do
8
8
  let(:defined_fields) {
9
- [:title, :changed_at, :sami_code, :product_ids, :summary,
10
- :published_at, :expires_at, :documents, :guid, :audiences]
9
+ [:title, :changed_at, :sami_code, :summary,
10
+ :published_at, :expires_at, :digital_asset_id, :audiences,
11
+ :path, :doc_changed_at,:content_type,:pages, :size, :mime_type,:subject,
12
+ :keywords, :author, :finra_path, :fund_codes]
11
13
  }
12
14
  it 'has all defined fields' do
13
15
  defined_fields.each {|f| should respond_to(f)}
@@ -15,7 +17,7 @@ describe DigitalAsset do
15
17
  end
16
18
 
17
19
  context '#validation' do
18
- required_fields = [:guid, :title, :changed_at, :published_at, :expires_at]
20
+ required_fields = [:digital_asset_id, :title, :changed_at, :published_at, :expires_at, :path]
19
21
  required_fields.each do |f|
20
22
  it "validates #{f} is required" do
21
23
  should be_valid
@@ -23,23 +25,22 @@ describe DigitalAsset do
23
25
  should be_invalid "should be invalid if #{f} is missing"
24
26
  end
25
27
  end
26
- it 'must have at least one document' do
27
- subject.documents.clear
28
- subject.should be_invalid
29
- end
30
28
  it 'cannot have a past expiration date' do
31
29
  subject.expires_at = 2.hours.ago
32
30
  subject.should be_invalid
33
31
  end
34
- end
35
-
36
- context '#documents' do
37
- let(:manifest) { FactoryGirl.build :document, :path => '/foo/manifest/foo.doc'}
38
- it 'doesnt add manifest documents' do
39
- subject.documents << manifest
40
- subject.save.should be_false
41
- # DigitalAsset.find(subject.id).documents should have(1).document
42
- end
32
+ it "cannot have duplicate path" do
33
+ FactoryGirl.create :digital_asset, :path => "/some/path.pdf"
34
+ digital_asset = FactoryGirl.build :digital_asset, :path => "/some/path.pdf"
35
+ # p "errors = #{digital_asset.errors.inspect}"
36
+ digital_asset.should be_invalid
37
+ end
38
+ it "cannot have duplicate digital_asset_id" do
39
+ FactoryGirl.create :digital_asset, :digital_asset_id => "aaaa_kkkk_1234"
40
+ digital_asset = FactoryGirl.build :digital_asset, :digital_asset_id => "aaaa_kkkk_1234"
41
+ # p "errors = #{digital_asset.errors.inspect}"
42
+ digital_asset.should be_invalid
43
+ end
43
44
  end
44
45
 
45
46
  context "purge!" do
@@ -59,8 +60,7 @@ describe DigitalAsset do
59
60
  @one_day_ago = 1.day.ago
60
61
  @asset = FactoryGirl.create :digital_asset,
61
62
  :audiences => ['690'], :sami_code => 'F000000.BAR'
62
- @asset.documents << [DigitalAsset::Document.new(path: "/2/foo2/bar2.txt", doc_changed_at: @one_day_ago, content_type: '542')]
63
- @asset.documents << [DigitalAsset::Document.new(path: "/3/foo3/finra.txt", doc_changed_at: Time.now, content_type: '549')]
63
+ @asset.doc_changed_at = @one_day_ago
64
64
  end
65
65
 
66
66
  it 'returns latest doc changed at date which is not finra' do
@@ -68,11 +68,6 @@ describe DigitalAsset do
68
68
  expect(result.to_i).to eq @one_day_ago.to_i
69
69
  end
70
70
 
71
- it 'returns json with latest doc changed at date' do
72
- result = @asset.as_json
73
- expect(result[:latest_doc_changed_at]).to eq @one_day_ago.strftime('%Y-%m-%d %H:%M:%S')
74
- end
75
-
76
71
  end
77
72
 
78
73
 
@@ -83,9 +78,9 @@ describe DigitalAsset do
83
78
  FactoryGirl.create :digital_asset,
84
79
  :sami_code => 'MEH12345.000', :updated_at => 1.hour.ago
85
80
  end
86
- it 'has a finder by product_id' do
87
- DigitalAsset.should respond_to(:product_in)
88
- DigitalAsset.product_in(['690']).should have(2).digital_asset
81
+ it 'has a finder by fund code' do
82
+ DigitalAsset.should respond_to(:fund_in)
83
+ DigitalAsset.fund_in(['00190']).should have(2).digital_asset
89
84
  end
90
85
  it 'has a finder by sami_code' do
91
86
  DigitalAsset.should respond_to(:sami_is)
@@ -93,11 +88,11 @@ describe DigitalAsset do
93
88
  end
94
89
  it 'has a finder by the embedded doc path' do
95
90
  DigitalAsset.should respond_to(:path_is)
96
- DigitalAsset.path_is(@asset.documents.first.path).should have(1).digital_asset
91
+ DigitalAsset.path_is(@asset.path).should have(1).digital_asset
97
92
  end
98
93
  it 'has a type finder for the documents' do
99
94
  DigitalAsset.should respond_to(:doctype_in)
100
- DigitalAsset.doctype_in(['666']).should have(2).digital_asset
95
+ DigitalAsset.doctype_in(['fact_sheet']).should have(2).digital_asset
101
96
  end
102
97
  it 'has a finder for stale documents' do
103
98
  DigitalAsset.should respond_to(:stale)
@@ -1,86 +1,82 @@
1
- require 'spec_helper'
1
+ # require 'spec_helper'
2
2
 
3
- describe DigitalAssetLookupService do
3
+ # describe DigitalAssetLookupService do
4
4
 
5
- subject { FactoryGirl.build :digital_asset }
5
+ # subject { FactoryGirl.build :digital_asset }
6
6
 
7
7
 
8
- context '#document-query' do
9
- before do
10
- asset1 = FactoryGirl.create :digital_asset, :product_ids => ['303','420'],
11
- :audiences => ['690'], :sami_code => 'F000000.BAR'
12
- doc1 = FactoryGirl.build :document, :content_type => '909',
13
- :path => '/1/foo/bar/foobar.doc'
14
- doc2 = FactoryGirl.build :document, :path => '/2/foo/bar/foobar.doc'
8
+ # context '#document-query' do
9
+ # before do
10
+ # asset1 = FactoryGirl.create :digital_asset, :product_ids => ['303','420'],
11
+ # :audiences => ['690'], :sami_code => 'F000000.BAR'
12
+ # doc1 = FactoryGirl.build :document, :content_type => '909',
13
+ # :path => '/1/foo/bar/foobar.doc'
14
+ # doc2 = FactoryGirl.build :document, :path => '/2/foo/bar/foobar.doc'
15
15
 
16
- asset1.documents << doc1
17
- asset1.documents << doc2
18
- asset1.save!
16
+ # asset1.documents << doc1
17
+ # asset1.documents << doc2
18
+ # asset1.save!
19
19
 
20
- asset2 = FactoryGirl.create :digital_asset, :product_ids => ['420'],
21
- :sami_code => 'MEH12345.000',:control_number => 'CONT 001',
22
- :key_accounts => ['TEMP ACCOUNT', 'FOO ACCOUNT']
23
- doc3 = FactoryGirl.build :document, :content_type => '549',
24
- :path => '/1/foo/bar/FINRA-foobar.doc'
25
- asset2.documents << doc3
26
- asset2.save!
27
- end
28
- it 'supports query by product_id' do
29
- query = {}
30
- DigitalAsset.where(query).should have(2).digital_asset
31
- query[:product_ids.in] = []
32
- DigitalAsset.where(query).should have(0).digital_asset
33
- query[:product_ids.in] = ['303']
34
- DigitalAsset.where(query).should have(1).digital_asset
35
- query[:product_ids.in] = ['303','420']
36
- DigitalAsset.where(query).should have(2).digital_asset
37
- end
38
- it 'supports query by content_type_id' do
39
- query = {}
40
- query[:'documents.content_type'] = ''
41
- DigitalAsset.where(query).should have(0).digital_asset
42
- query[:'documents.content_type'] = '909'
43
- DigitalAsset.where(query).should have(1).digital_asset
44
- DigitalAssetLookupService.find_documents_by_query(nil, '909').should have(1).digital_asset
45
- end
46
- it 'supports query by product_id and content_type_id' do
47
- query = {}
48
- query[:'documents.content_type'] = '909'
49
- query[:product_ids.in] = ['303','420']
50
- DigitalAsset.where(query).should have(1).digital_asset
51
- end
52
- it 'supports query by product_id and content_type_id and audiences' do
53
- query = {}
54
- query[:'documents.content_type'] = '909'
55
- query[:product_ids.in] = ['303','420']
56
- query[:audiences.in] = ['690']
57
- DigitalAsset.where(query).should have(1).digital_asset
58
- end
59
- it 'supports service query by product_type_id' do
60
- DigitalAssetLookupService.find_documents_by_query(['420']).should have(2).digital_asset
61
- DigitalAssetLookupService.find_documents_by_query('420').should have(2).digital_asset
62
- DigitalAssetLookupService.find_documents_by_query('420').should have(2).digital_asset
63
- DigitalAssetLookupService.find_documents_by_query(['420','303']).should have(2).digital_asset
64
- DigitalAssetLookupService.find_documents_by_query('303').should have(1).digital_asset
65
- DigitalAssetLookupService.find_documents_by_query('333').should have(0).digital_asset
66
- DigitalAssetLookupService.find_documents_by_query().should have(2).digital_asset
67
- end
68
- it 'supports service query by content_type_id' do
69
- DigitalAssetLookupService.find_documents_by_query(nil, ['909']).should have(1).digital_asset
70
- DigitalAssetLookupService.find_documents_by_query(nil, '909').should have(1).digital_asset
71
- end
72
- it 'supports service query by product_type_id and content_type_id' do
73
- DigitalAssetLookupService.find_documents_by_query(['303','420'], '909').should have(1).digital_asset
74
- end
75
- it 'supports service query by product_type_id, content_type_id and audience_ids' do
76
- DigitalAssetLookupService.find_documents_by_query(['303','420'], '909', ['690']).should have(1).digital_asset
77
- end
78
- it 'supports service query by product_type_id and finra' do
79
- DigitalAssetLookupService.find_documents_by_query('420',nil,nil,true).should have(1).digital_asset
80
- end
81
- it 'supports service query by key_accounts' do
82
- DigitalAsset.key_account_in('TEMP ACCOUNT').should have(1).digital_asset
83
- end
84
- end
20
+ # asset2 = FactoryGirl.create :digital_asset, :product_ids => ['420'],
21
+ # :sami_code => 'MEH12345.000'
22
+ # doc3 = FactoryGirl.build :document, :content_type => '549',
23
+ # :path => '/1/foo/bar/FINRA-foobar.doc'
24
+ # asset2.documents << doc3
25
+ # asset2.save!
26
+ # end
27
+ # it 'supports query by product_id' do
28
+ # query = {}
29
+ # DigitalAsset.where(query).should have(2).digital_asset
30
+ # query[:product_ids.in] = []
31
+ # DigitalAsset.where(query).should have(0).digital_asset
32
+ # query[:product_ids.in] = ['303']
33
+ # DigitalAsset.where(query).should have(1).digital_asset
34
+ # query[:product_ids.in] = ['303','420']
35
+ # DigitalAsset.where(query).should have(2).digital_asset
36
+ # end
37
+ # it 'supports query by content_type_id' do
38
+ # query = {}
39
+ # query[:'documents.content_type'] = ''
40
+ # DigitalAsset.where(query).should have(0).digital_asset
41
+ # query[:'documents.content_type'] = '909'
42
+ # DigitalAsset.where(query).should have(1).digital_asset
43
+ # DigitalAssetLookupService.find_documents_by_query(nil, '909').should have(1).digital_asset
44
+ # end
45
+ # it 'supports query by product_id and content_type_id' do
46
+ # query = {}
47
+ # query[:'documents.content_type'] = '909'
48
+ # query[:product_ids.in] = ['303','420']
49
+ # DigitalAsset.where(query).should have(1).digital_asset
50
+ # end
51
+ # it 'supports query by product_id and content_type_id and audiences' do
52
+ # query = {}
53
+ # query[:'documents.content_type'] = '909'
54
+ # query[:product_ids.in] = ['303','420']
55
+ # query[:audiences.in] = ['690']
56
+ # DigitalAsset.where(query).should have(1).digital_asset
57
+ # end
58
+ # it 'supports service query by product_type_id' do
59
+ # DigitalAssetLookupService.find_documents_by_query(['420']).should have(2).digital_asset
60
+ # DigitalAssetLookupService.find_documents_by_query('420').should have(2).digital_asset
61
+ # DigitalAssetLookupService.find_documents_by_query('420').should have(2).digital_asset
62
+ # DigitalAssetLookupService.find_documents_by_query(['420','303']).should have(2).digital_asset
63
+ # DigitalAssetLookupService.find_documents_by_query('303').should have(1).digital_asset
64
+ # DigitalAssetLookupService.find_documents_by_query('333').should have(0).digital_asset
65
+ # DigitalAssetLookupService.find_documents_by_query().should have(2).digital_asset
66
+ # end
67
+ # it 'supports service query by content_type_id' do
68
+ # DigitalAssetLookupService.find_documents_by_query(nil, ['909']).should have(1).digital_asset
69
+ # DigitalAssetLookupService.find_documents_by_query(nil, '909').should have(1).digital_asset
70
+ # end
71
+ # it 'supports service query by product_type_id and content_type_id' do
72
+ # DigitalAssetLookupService.find_documents_by_query(['303','420'], '909').should have(1).digital_asset
73
+ # end
74
+ # it 'supports service query by product_type_id, content_type_id and audience_ids' do
75
+ # DigitalAssetLookupService.find_documents_by_query(['303','420'], '909', ['690']).should have(1).digital_asset
76
+ # end
77
+ # it 'supports service query by product_type_id and finra' do
78
+ # DigitalAssetLookupService.find_documents_by_query('420',nil,nil,true).should have(1).digital_asset
79
+ # end
80
+ # end
85
81
 
86
- end
82
+ # end
@@ -4,6 +4,7 @@ ENV["RAILS_ENV"] ||= 'test'
4
4
  require File.expand_path("../../spec/dummy/config/environment", __FILE__)
5
5
  require 'rspec/rails'
6
6
  require 'factory_girl'
7
+ require 'rspec_api_documentation'
7
8
  # require 'rspec/autorun'
8
9
 
9
10
  # Requires supporting ruby files with custom matchers and macros, etc,
@@ -31,7 +32,7 @@ RSpec.configure do |config|
31
32
 
32
33
  config.before(:each) do
33
34
  DigitalAsset.delete_all
34
- Daengine.set_logger("c:/tmp/test.log")
35
+ Daengine.set_logger("test.log")
35
36
  end
36
37
 
37
38
 
@@ -40,3 +41,19 @@ RSpec.configure do |config|
40
41
  # rspec-rails.
41
42
  config.infer_base_class_for_anonymous_controllers = false
42
43
  end
44
+
45
+ RspecApiDocumentation.configure do |config|
46
+
47
+ # html pages with the wURL console
48
+ #config.format = [:json, :wurl, :combined_text]
49
+ # html pages without the wURL console
50
+ config.format = [:json, :combined_text]
51
+ config.curl_host = 'http://localhost:3001'
52
+
53
+ #config.include FactoryGirl::Syntax::Methods
54
+
55
+
56
+ # All settings shown are the default values
57
+ # config.app = Rails.application # if it’s a rails app
58
+ config.api_name = "DigitalAsset Engine API Documentation"
59
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: daengine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.13
4
+ version: '0.6'
5
5
  platform: ruby
6
6
  authors:
7
7
  - sbhatia
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-12-18 00:00:00.000000000 Z
12
+ date: 2014-01-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -95,6 +95,20 @@ dependencies:
95
95
  version: '0'
96
96
  prerelease: false
97
97
  type: :development
98
+ - !ruby/object:Gem::Dependency
99
+ name: rspec_api_documentation
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - '>='
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ prerelease: false
111
+ type: :development
98
112
  description: Daengine handles digital asset processing.
99
113
  email:
100
114
  - ML-WebDevelopers@oppenheimerfunds.com
@@ -110,6 +124,7 @@ files:
110
124
  - app/models/content_service_resource.rb
111
125
  - app/models/digital_asset.rb
112
126
  - app/models/taxonomy_term.rb
127
+ - app/models/teamsite_digital_asset_shim.rb
113
128
  - app/service/digital_asset_lookup_service.rb
114
129
  - app/views/digital_assets/index.html.erb
115
130
  - app/views/digital_assets/search.html.erb
@@ -117,7 +132,6 @@ files:
117
132
  - config/routes.rb
118
133
  - lib/daengine.rb
119
134
  - lib/daengine/content_service_processor.rb
120
- - lib/daengine/digital_asset_extension_processor.rb
121
135
  - lib/daengine/digital_asset_processor.rb
122
136
  - lib/daengine/engine.rb
123
137
  - lib/daengine/railtie.rb
@@ -132,6 +146,7 @@ files:
132
146
  - Gemfile
133
147
  - spec/factories.rb
134
148
  - spec/spec_helper.rb
149
+ - spec/acceptance/digital_assets_spec.rb
135
150
  - spec/controllers/digital_assets_controller_spec.rb
136
151
  - spec/dummy/config.ru
137
152
  - spec/dummy/Rakefile
@@ -157,6 +172,7 @@ files:
157
172
  - spec/dummy/config/initializers/wrap_parameters.rb
158
173
  - spec/dummy/config/locales/en.yml
159
174
  - spec/dummy/db/test.sqlite3
175
+ - spec/dummy/log/development.log
160
176
  - spec/dummy/log/test.log
161
177
  - spec/dummy/public/404.html
162
178
  - spec/dummy/public/422.html
@@ -164,13 +180,11 @@ files:
164
180
  - spec/dummy/public/favicon.ico
165
181
  - spec/dummy/script/rails
166
182
  - spec/lib/content_service_processor_spec.rb
167
- - spec/lib/digital_asset_extension_processor_spec.rb
168
183
  - spec/lib/digital_asset_processor_spec.rb
169
184
  - spec/lib/taxonomy_processor_spec.rb
170
185
  - spec/lib/teamsite_metadata_parser_spec.rb
171
186
  - spec/mock_data/bulk-ssc_deploy.xml
172
187
  - spec/mock_data/daengine.yml
173
- - spec/mock_data/merrill_lynch_extension.json
174
188
  - spec/mock_data/selective-ssc_2012_05_18_13_48_03_publish.xml
175
189
  - spec/mock_data/selective-ssc_2012_05_18_13_56_18_unpublish.xml
176
190
  - spec/mock_data/selective-ssc_add_one_doc.xml
@@ -191,6 +205,7 @@ files:
191
205
  - spec/mock_data/digitalAssets/QA0000.008-14518a49-2eb7-4ccb-a004-8b38b67030dd.pdf
192
206
  - spec/mock_data/digitalAssets/QAPTest_Fin_Test-82897958-2e3b-43eb-89a0-8db32d7926eb.pdf
193
207
  - spec/mock_data/digitalAssets/SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc
208
+ - spec/mock_data/digitalAssets/TEST_FINRA_DOC.doc
194
209
  - spec/mock_data/taxonomy/taxonomy.xml
195
210
  - spec/mock_data/taxonomy/taxonomyengine.yml
196
211
  - spec/models/digital_asset_spec.rb
@@ -224,6 +239,7 @@ summary: Daengine GEM.
224
239
  test_files:
225
240
  - spec/factories.rb
226
241
  - spec/spec_helper.rb
242
+ - spec/acceptance/digital_assets_spec.rb
227
243
  - spec/controllers/digital_assets_controller_spec.rb
228
244
  - spec/dummy/config.ru
229
245
  - spec/dummy/Rakefile
@@ -249,6 +265,7 @@ test_files:
249
265
  - spec/dummy/config/initializers/wrap_parameters.rb
250
266
  - spec/dummy/config/locales/en.yml
251
267
  - spec/dummy/db/test.sqlite3
268
+ - spec/dummy/log/development.log
252
269
  - spec/dummy/log/test.log
253
270
  - spec/dummy/public/404.html
254
271
  - spec/dummy/public/422.html
@@ -256,13 +273,11 @@ test_files:
256
273
  - spec/dummy/public/favicon.ico
257
274
  - spec/dummy/script/rails
258
275
  - spec/lib/content_service_processor_spec.rb
259
- - spec/lib/digital_asset_extension_processor_spec.rb
260
276
  - spec/lib/digital_asset_processor_spec.rb
261
277
  - spec/lib/taxonomy_processor_spec.rb
262
278
  - spec/lib/teamsite_metadata_parser_spec.rb
263
279
  - spec/mock_data/bulk-ssc_deploy.xml
264
280
  - spec/mock_data/daengine.yml
265
- - spec/mock_data/merrill_lynch_extension.json
266
281
  - spec/mock_data/selective-ssc_2012_05_18_13_48_03_publish.xml
267
282
  - spec/mock_data/selective-ssc_2012_05_18_13_56_18_unpublish.xml
268
283
  - spec/mock_data/selective-ssc_add_one_doc.xml
@@ -283,6 +298,7 @@ test_files:
283
298
  - spec/mock_data/digitalAssets/QA0000.008-14518a49-2eb7-4ccb-a004-8b38b67030dd.pdf
284
299
  - spec/mock_data/digitalAssets/QAPTest_Fin_Test-82897958-2e3b-43eb-89a0-8db32d7926eb.pdf
285
300
  - spec/mock_data/digitalAssets/SSC_Developer_Installation_Guide-163742d3-fbc2-4c99-8396-6eabe7464b8f.doc
301
+ - spec/mock_data/digitalAssets/TEST_FINRA_DOC.doc
286
302
  - spec/mock_data/taxonomy/taxonomy.xml
287
303
  - spec/mock_data/taxonomy/taxonomyengine.yml
288
304
  - spec/models/digital_asset_spec.rb