coupler 0.0.4-java → 0.0.6-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/Gemfile +7 -8
  2. data/Gemfile.lock +43 -24
  3. data/VERSION +1 -1
  4. data/coupler.gemspec +27 -31
  5. data/features/wizard.feature +2 -1
  6. data/lib/coupler.rb +2 -2
  7. data/lib/coupler/base.rb +4 -0
  8. data/lib/coupler/extensions/connections.rb +2 -12
  9. data/lib/coupler/extensions/jobs.rb +4 -2
  10. data/lib/coupler/extensions/projects.rb +1 -1
  11. data/lib/coupler/helpers.rb +9 -1
  12. data/lib/coupler/models.rb +8 -0
  13. data/lib/coupler/models/comparison.rb +5 -4
  14. data/lib/coupler/models/connection.rb +10 -1
  15. data/lib/coupler/models/import.rb +3 -7
  16. data/lib/coupler/models/transformer.rb +1 -1
  17. data/lib/coupler/runner.rb +1 -1
  18. data/lib/coupler/scheduler.rb +1 -1
  19. data/tasks/test.rake +8 -0
  20. data/test/functional/test_base.rb +17 -0
  21. data/test/functional/test_connections.rb +81 -0
  22. data/test/functional/test_imports.rb +76 -0
  23. data/test/{integration/extensions → functional}/test_jobs.rb +21 -12
  24. data/test/functional/test_matchers.rb +108 -0
  25. data/test/functional/test_projects.rb +67 -0
  26. data/test/functional/test_resources.rb +126 -0
  27. data/test/{integration/extensions → functional}/test_results.rb +20 -29
  28. data/test/functional/test_scenarios.rb +92 -0
  29. data/test/functional/test_transformations.rb +106 -0
  30. data/test/functional/test_transformers.rb +68 -0
  31. data/test/helper.rb +30 -20
  32. data/test/integration/test_transformation.rb +6 -1
  33. data/test/unit/models/test_common_model.rb +2 -2
  34. data/test/unit/models/test_comparison.rb +8 -8
  35. data/test/unit/models/test_connection.rb +2 -2
  36. data/test/unit/models/test_field.rb +2 -2
  37. data/test/unit/models/test_import.rb +9 -4
  38. data/test/unit/models/test_job.rb +2 -2
  39. data/test/unit/models/test_matcher.rb +2 -2
  40. data/test/unit/models/test_project.rb +2 -2
  41. data/test/unit/models/test_resource.rb +2 -2
  42. data/test/unit/models/test_result.rb +2 -2
  43. data/test/unit/models/test_scenario.rb +2 -2
  44. data/test/unit/models/test_transformation.rb +2 -2
  45. data/test/unit/models/test_transformer.rb +12 -2
  46. data/test/unit/test_base.rb +1 -14
  47. data/test/unit/test_data_uploader.rb +1 -1
  48. data/test/unit/test_database.rb +1 -1
  49. data/test/unit/test_helpers.rb +2 -2
  50. data/test/unit/test_import_buffer.rb +40 -38
  51. data/test/unit/test_logger.rb +1 -1
  52. data/test/unit/test_models.rb +1 -1
  53. data/test/unit/test_runner.rb +1 -1
  54. data/test/unit/test_scheduler.rb +1 -1
  55. data/webroot/public/css/style.css +7 -5
  56. data/webroot/public/js/jquery.dataTables.min.js +130 -574
  57. data/webroot/views/connections/new.erb +41 -3
  58. data/webroot/views/imports/new.erb +2 -0
  59. data/webroot/views/jobs/list.erb +25 -21
  60. data/webroot/views/projects/index.erb +23 -15
  61. data/webroot/views/resources/list.erb +1 -2
  62. data/webroot/views/resources/new.erb +2 -2
  63. data/webroot/views/resources/show.erb +5 -2
  64. data/webroot/views/scenarios/new.erb +1 -1
  65. data/webroot/views/transformations/new.erb +1 -1
  66. metadata +30 -44
  67. data/lib/coupler/config.rb +0 -128
  68. data/test/coupler/models/test_import.rb +0 -221
  69. data/test/factories.rb +0 -91
  70. data/test/integration/extensions/test_connections.rb +0 -80
  71. data/test/integration/extensions/test_imports.rb +0 -94
  72. data/test/integration/extensions/test_matchers.rb +0 -134
  73. data/test/integration/extensions/test_projects.rb +0 -82
  74. data/test/integration/extensions/test_resources.rb +0 -150
  75. data/test/integration/extensions/test_scenarios.rb +0 -88
  76. data/test/integration/extensions/test_transformations.rb +0 -113
  77. data/test/integration/extensions/test_transformers.rb +0 -80
  78. data/vendor/h2-1.3.154.jar +0 -0
@@ -1,113 +0,0 @@
1
- require 'helper'
2
-
3
- module TestExtensions
4
- class TestTransformations < Coupler::Test::IntegrationTest
5
- def self.startup
6
- super
7
- conn = new_connection('h2', :name => 'foo')
8
- conn.database do |db|
9
- db.create_table!(:foo) do
10
- primary_key :id
11
- String :foo
12
- String :bar
13
- end
14
- db[:foo].insert({:foo => 'foo', :bar => 'bar'})
15
- db[:foo].insert({:foo => 'bar', :bar => 'foo'})
16
- end
17
- end
18
-
19
- def setup
20
- super
21
- @project = Project.create(:name => 'foo')
22
- @connection = new_connection('h2', :name => 'h2 connection').save!
23
- @resource = Resource.create(:name => 'foo', :project => @project, :connection => @connection, :table_name => 'foo')
24
- @transformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string integer datetime}, :result_type => 'same')
25
- end
26
-
27
- test "new" do
28
- get "/projects/#{@project.id}/resources/#{@resource.id}/transformations/new"
29
- assert last_response.ok?
30
- end
31
-
32
- test "new with non existant project" do
33
- get "/projects/8675309/resources/#{@resource.id}/transformations/new"
34
- assert last_response.redirect?
35
- assert_equal "http://example.org/projects", last_response['location']
36
- follow_redirect!
37
- assert_match /The project you were looking for doesn't exist/, last_response.body
38
- end
39
-
40
- test "new with non existant resource" do
41
- get "/projects/#{@project.id}/resources/8675309/transformations/new"
42
- assert last_response.redirect?
43
- assert_equal "http://example.org/projects/#{@project.id}/resources", last_response['location']
44
- follow_redirect!
45
- assert_match /The resource you were looking for doesn't exist/, last_response.body
46
- end
47
-
48
- test "successfully creating transformation" do
49
- field = @resource.fields_dataset[:name => 'foo']
50
- attribs = {
51
- :transformer_id => @transformer.id.to_s,
52
- :source_field_id => field.id.to_s
53
- }
54
- post("/projects/#{@project.id}/resources/#{@resource.id}/transformations", { 'transformation' => attribs })
55
- transformation = @resource.transformations_dataset.first
56
- assert transformation
57
-
58
- assert last_response.redirect?, "Wasn't redirected"
59
- assert_equal "http://example.org/projects/#{@project.id}/resources/#{@resource.id}", last_response['location']
60
- end
61
-
62
- test "delete" do
63
- field = @resource.fields_dataset[:name => 'foo']
64
- transformation = Transformation.create!(:resource => @resource, :transformer => @transformer, :source_field => field)
65
- delete "/projects/#{@project.id}/resources/#{@resource.id}/transformations/#{transformation.id}"
66
- assert_equal 0, Transformation.filter(:id => transformation.id).count
67
-
68
- assert last_response.redirect?, "Wasn't redirected"
69
- assert_equal "http://example.org/projects/#{@project.id}/resources/#{@resource.id}", last_response['location']
70
- end
71
-
72
- test "delete with non existant transformation" do
73
- delete "/projects/#{@project.id}/resources/#{@resource.id}/transformations/8675309"
74
- assert last_response.redirect?
75
- assert_equal "http://example.org/projects/#{@project.id}/resources/#{@resource.id}/transformations", last_response['location']
76
- follow_redirect!
77
- assert_match /The transformation you were looking for doesn't exist/, last_response.body
78
- end
79
-
80
- test "for" do
81
- field = @resource.fields_dataset[:name => 'foo']
82
- t12n = Transformation.create!(:resource => @resource, :source_field => field, :transformer => @transformer)
83
-
84
- get "/projects/#{@project.id}/resources/#{@resource.id}/transformations/for/foo"
85
- assert_match /noop/, last_response.body
86
- end
87
-
88
- test "for with non existant field" do
89
- get "/projects/#{@project.id}/resources/#{@resource.id}/transformations/for/gobbledegook"
90
- assert last_response.ok?
91
- assert_equal '', last_response.body
92
- end
93
-
94
- test "index" do
95
- field = @resource.fields_dataset[:name => 'foo']
96
- t12n = Transformation.create!(:resource => @resource, :source_field => field, :transformer => @transformer)
97
-
98
- get "/projects/#{@project.id}/resources/#{@resource.id}/transformations"
99
- assert last_response.ok?
100
- end
101
-
102
- test "preview" do
103
- field = @resource.fields_dataset[:name => 'foo']
104
- params = {
105
- :transformer_id => @transformer.id.to_s,
106
- :source_field_id => field.id.to_s,
107
- :result_field_id => field.id.to_s
108
- }
109
- post "/projects/#{@project.id}/resources/#{@resource.id}/transformations/preview", :transformation => params
110
- assert last_response.ok?, last_response.body
111
- end
112
- end
113
- end
@@ -1,80 +0,0 @@
1
- require 'helper'
2
-
3
- module TestExtensions
4
- class TestTransformers < Coupler::Test::IntegrationTest
5
- test "index" do
6
- get '/transformers'
7
- assert last_response.ok?
8
- end
9
-
10
- test "new" do
11
- get '/transformers/new'
12
- assert last_response.ok?
13
- end
14
-
15
- test "successful create" do
16
- count = Transformer.count
17
- attribs = {
18
- :name => 'noop',
19
- :code => 'value',
20
- :allowed_types => %w{string},
21
- :result_type => 'string'
22
- }
23
- post '/transformers', 'transformer' => attribs
24
- assert_equal count + 1, Transformer.count
25
- assert last_response.redirect?
26
- assert_equal "http://example.org/transformers", last_response['location']
27
- end
28
-
29
- test "failed create" do
30
- count = Transformer.count
31
- attribs = {
32
- :name => '',
33
- :code => 'value',
34
- :allowed_types => %w{string},
35
- :result_type => 'string'
36
- }
37
- post '/transformers', 'transformer' => attribs
38
- assert_equal count, Transformer.count
39
- assert last_response.ok?
40
- end
41
-
42
- test "edit" do
43
- xformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string}, :result_type => 'string')
44
- get "/transformers/#{xformer.id}/edit"
45
- assert last_response.ok?
46
- end
47
-
48
- test "successful update" do
49
- xformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string}, :result_type => 'string')
50
- put "/transformers/#{xformer.id}", :transformer => { 'code' => 'value' }
51
- assert last_response.redirect?, last_response.inspect
52
- assert_equal "http://example.org/transformers", last_response['location']
53
- end
54
-
55
- test "failed update" do
56
- xformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string}, :result_type => 'string')
57
- put "/transformers/#{xformer.id}", :transformer => { 'code' => 'foo(' }
58
- assert last_response.ok?
59
- end
60
-
61
- test "preview" do
62
- post "/transformers/preview", :transformer => { 'code' => 'value.downcase', 'allowed_types' => %w{string}, 'result_type' => 'string' }
63
- assert last_response.ok?
64
- end
65
-
66
- test "delete" do
67
- xformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string}, :result_type => 'string')
68
- delete "/transformers/#{xformer.id}"
69
- assert_equal 0, Transformer.filter(:id => xformer.id).count
70
- assert last_response.redirect?, last_response.inspect
71
- assert_equal "http://example.org/transformers", last_response['location']
72
- end
73
-
74
- test "show" do
75
- xformer = Transformer.create(:name => 'noop', :code => 'value', :allowed_types => %w{string}, :result_type => 'string')
76
- get "/transformers/#{xformer.id}"
77
- assert last_response.ok?
78
- end
79
- end
80
- end
Binary file