ncs_mdes_warehouse 0.1.1 → 0.2.0

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.
data/spec/spec_helper.rb CHANGED
@@ -15,11 +15,24 @@ require 'data_mapper'
15
15
  RSpec.configure do |config|
16
16
  config.treat_symbols_as_metadata_keys_with_true_values = true
17
17
 
18
- ###### bcdatabase
18
+ ##
19
+ # A mostly-default configuration to use in tests of objects that
20
+ # rely on the MDES specification so as to avoid initializing it
21
+ # multiple times. It also contains the configuration pointing to the
22
+ # test database schemas.
23
+ def spec_config
24
+ @spec_config || fail("Flag specs that use spec_config with :use_mdes or :use_database")
25
+ end
19
26
 
20
- config.before(:all) do
21
- NcsNavigator::Warehouse.bcdatabase =
22
- Bcdatabase.load(File.expand_path('../bcdatabase', __FILE__), :transforms => [:datamapper])
27
+ def init_spec_config
28
+ @spec_config ||= NcsNavigator::Warehouse::Configuration.new.tap do |c|
29
+ c.mdes_version = spec_mdes_version
30
+ c.output_level = :quiet
31
+ c.log_file = tmpdir + 'spec.log'
32
+ c.bcdatabase_group = ENV['CI_RUBY'] ? :public_ci_postgresql9 : :local_postgresql
33
+ c.bcdatabase_entries[:working] = :mdes_warehouse_working_test
34
+ c.bcdatabase_entries[:reporting] = :mdes_warehouse_reporting_test
35
+ end
23
36
  end
24
37
 
25
38
  ###### MDES model loading
@@ -32,20 +45,8 @@ RSpec.configure do |config|
32
45
  ENV['SPEC_MDES_VERSION'] || NcsNavigator::Warehouse::DEFAULT_MDES_VERSION
33
46
  end
34
47
 
35
- ##
36
- # A mostly-default configuration to use in tests of objects that
37
- # rely on the MDES specification so as to avoid initializing it
38
- # multiple times.
39
- def spec_config
40
- @spec_config || fail("Flag specs that use spec_config with :use_mdes")
41
- end
42
-
43
48
  config.before(:each, :use_mdes) do
44
- @spec_config ||= NcsNavigator::Warehouse::Configuration.new.tap do |c|
45
- c.mdes_version = spec_mdes_version
46
- c.output_level = :quiet
47
- c.log_file = tmpdir + 'spec.log'
48
- end
49
+ init_spec_config
49
50
  end
50
51
 
51
52
  ###### modifies_warehouse_state
@@ -62,6 +63,42 @@ RSpec.configure do |config|
62
63
  @global_state_preserver.restore
63
64
  end
64
65
 
66
+ ###### use_database
67
+
68
+ config.before(:each, :use_database) do
69
+ init_spec_config
70
+
71
+ $db_init ||=
72
+ begin
73
+ init = NcsNavigator::Warehouse::DatabaseInitializer.new(spec_config)
74
+ init.set_up_repository(:both)
75
+ init.replace_schema
76
+ init.clone_working_to_reporting
77
+ end
78
+ end
79
+
80
+ config.after(:each, :use_database) do
81
+ ::DataMapper::Model.descendants.each do |model|
82
+ begin
83
+ DataMapper.repository.adapter.execute("TRUNCATE TABLE #{model.storage_name}")
84
+ rescue DataObjects::SyntaxError
85
+ # table was never created
86
+ end
87
+ end
88
+ end
89
+
90
+ ###### bcdatabase
91
+
92
+ config.before(:each, :use_test_bcdatabase) do
93
+ use_test_bcdatabase
94
+ end
95
+
96
+ def use_test_bcdatabase
97
+ fail 'Use :modifies_warehouse_state with use_test_database' unless @global_state_preserver
98
+ NcsNavigator::Warehouse.bcdatabase =
99
+ Bcdatabase.load(File.expand_path('../bcdatabase', __FILE__), :transforms => [:datamapper])
100
+ end
101
+
65
102
  ###### tmpdir
66
103
 
67
104
  config.after do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ncs_mdes_warehouse
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,25 +9,22 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-11-18 00:00:00.000000000Z
12
+ date: 2011-12-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ncs_mdes
16
- requirement: &2156621720 !ruby/object:Gem::Requirement
16
+ requirement: &2152563420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0.4'
22
- - - ! '>='
23
- - !ruby/object:Gem::Version
24
- version: 0.4.2
21
+ version: '0.5'
25
22
  type: :runtime
26
23
  prerelease: false
27
- version_requirements: *2156621720
24
+ version_requirements: *2152563420
28
25
  - !ruby/object:Gem::Dependency
29
26
  name: ncs_navigator_configuration
30
- requirement: &2156620240 !ruby/object:Gem::Requirement
27
+ requirement: &2152561100 !ruby/object:Gem::Requirement
31
28
  none: false
32
29
  requirements:
33
30
  - - ~>
@@ -35,10 +32,10 @@ dependencies:
35
32
  version: '0.2'
36
33
  type: :runtime
37
34
  prerelease: false
38
- version_requirements: *2156620240
35
+ version_requirements: *2152561100
39
36
  - !ruby/object:Gem::Dependency
40
37
  name: activesupport
41
- requirement: &2156614960 !ruby/object:Gem::Requirement
38
+ requirement: &2152559400 !ruby/object:Gem::Requirement
42
39
  none: false
43
40
  requirements:
44
41
  - - ~>
@@ -46,10 +43,10 @@ dependencies:
46
43
  version: '3.0'
47
44
  type: :runtime
48
45
  prerelease: false
49
- version_requirements: *2156614960
46
+ version_requirements: *2152559400
50
47
  - !ruby/object:Gem::Dependency
51
48
  name: i18n
52
- requirement: &2156613720 !ruby/object:Gem::Requirement
49
+ requirement: &2152558860 !ruby/object:Gem::Requirement
53
50
  none: false
54
51
  requirements:
55
52
  - - ~>
@@ -57,10 +54,10 @@ dependencies:
57
54
  version: '0.4'
58
55
  type: :runtime
59
56
  prerelease: false
60
- version_requirements: *2156613720
57
+ version_requirements: *2152558860
61
58
  - !ruby/object:Gem::Dependency
62
59
  name: thor
63
- requirement: &2156612920 !ruby/object:Gem::Requirement
60
+ requirement: &2152558360 !ruby/object:Gem::Requirement
64
61
  none: false
65
62
  requirements:
66
63
  - - ~>
@@ -68,10 +65,10 @@ dependencies:
68
65
  version: 0.14.6
69
66
  type: :runtime
70
67
  prerelease: false
71
- version_requirements: *2156612920
68
+ version_requirements: *2152558360
72
69
  - !ruby/object:Gem::Dependency
73
70
  name: rubyzip
74
- requirement: &2156612060 !ruby/object:Gem::Requirement
71
+ requirement: &2152557580 !ruby/object:Gem::Requirement
75
72
  none: false
76
73
  requirements:
77
74
  - - ~>
@@ -79,10 +76,10 @@ dependencies:
79
76
  version: 0.9.4
80
77
  type: :runtime
81
78
  prerelease: false
82
- version_requirements: *2156612060
79
+ version_requirements: *2152557580
83
80
  - !ruby/object:Gem::Dependency
84
81
  name: nokogiri
85
- requirement: &2156611040 !ruby/object:Gem::Requirement
82
+ requirement: &2152556800 !ruby/object:Gem::Requirement
86
83
  none: false
87
84
  requirements:
88
85
  - - ~>
@@ -90,10 +87,10 @@ dependencies:
90
87
  version: 1.5.0
91
88
  type: :runtime
92
89
  prerelease: false
93
- version_requirements: *2156611040
90
+ version_requirements: *2152556800
94
91
  - !ruby/object:Gem::Dependency
95
92
  name: builder
96
- requirement: &2156609980 !ruby/object:Gem::Requirement
93
+ requirement: &2152556200 !ruby/object:Gem::Requirement
97
94
  none: false
98
95
  requirements:
99
96
  - - ! '>='
@@ -101,10 +98,10 @@ dependencies:
101
98
  version: 2.1.2
102
99
  type: :runtime
103
100
  prerelease: false
104
- version_requirements: *2156609980
101
+ version_requirements: *2152556200
105
102
  - !ruby/object:Gem::Dependency
106
103
  name: data_mapper
107
- requirement: &2156609220 !ruby/object:Gem::Requirement
104
+ requirement: &2152555680 !ruby/object:Gem::Requirement
108
105
  none: false
109
106
  requirements:
110
107
  - - ~>
@@ -112,10 +109,10 @@ dependencies:
112
109
  version: 1.2.0
113
110
  type: :runtime
114
111
  prerelease: false
115
- version_requirements: *2156609220
112
+ version_requirements: *2152555680
116
113
  - !ruby/object:Gem::Dependency
117
114
  name: bcdatabase
118
- requirement: &2156608360 !ruby/object:Gem::Requirement
115
+ requirement: &2152555140 !ruby/object:Gem::Requirement
119
116
  none: false
120
117
  requirements:
121
118
  - - ~>
@@ -123,10 +120,10 @@ dependencies:
123
120
  version: '1.1'
124
121
  type: :runtime
125
122
  prerelease: false
126
- version_requirements: *2156608360
123
+ version_requirements: *2152555140
127
124
  - !ruby/object:Gem::Dependency
128
125
  name: dm-postgres-adapter
129
- requirement: &2156607420 !ruby/object:Gem::Requirement
126
+ requirement: &2152554620 !ruby/object:Gem::Requirement
130
127
  none: false
131
128
  requirements:
132
129
  - - ~>
@@ -134,10 +131,10 @@ dependencies:
134
131
  version: 1.2.0
135
132
  type: :runtime
136
133
  prerelease: false
137
- version_requirements: *2156607420
134
+ version_requirements: *2152554620
138
135
  - !ruby/object:Gem::Dependency
139
136
  name: rspec
140
- requirement: &2156606300 !ruby/object:Gem::Requirement
137
+ requirement: &2152553900 !ruby/object:Gem::Requirement
141
138
  none: false
142
139
  requirements:
143
140
  - - ~>
@@ -145,10 +142,10 @@ dependencies:
145
142
  version: '2.6'
146
143
  type: :development
147
144
  prerelease: false
148
- version_requirements: *2156606300
145
+ version_requirements: *2152553900
149
146
  - !ruby/object:Gem::Dependency
150
147
  name: rake
151
- requirement: &2156604880 !ruby/object:Gem::Requirement
148
+ requirement: &2152553140 !ruby/object:Gem::Requirement
152
149
  none: false
153
150
  requirements:
154
151
  - - ~>
@@ -156,10 +153,10 @@ dependencies:
156
153
  version: 0.9.2
157
154
  type: :development
158
155
  prerelease: false
159
- version_requirements: *2156604880
156
+ version_requirements: *2152553140
160
157
  - !ruby/object:Gem::Dependency
161
158
  name: yard
162
- requirement: &2156603540 !ruby/object:Gem::Requirement
159
+ requirement: &2152552420 !ruby/object:Gem::Requirement
163
160
  none: false
164
161
  requirements:
165
162
  - - ~>
@@ -167,10 +164,10 @@ dependencies:
167
164
  version: 0.7.2
168
165
  type: :development
169
166
  prerelease: false
170
- version_requirements: *2156603540
167
+ version_requirements: *2152552420
171
168
  - !ruby/object:Gem::Dependency
172
169
  name: ci_reporter
173
- requirement: &2156602740 !ruby/object:Gem::Requirement
170
+ requirement: &2152551400 !ruby/object:Gem::Requirement
174
171
  none: false
175
172
  requirements:
176
173
  - - ~>
@@ -178,10 +175,10 @@ dependencies:
178
175
  version: 1.6.5
179
176
  type: :development
180
177
  prerelease: false
181
- version_requirements: *2156602740
178
+ version_requirements: *2152551400
182
179
  - !ruby/object:Gem::Dependency
183
180
  name: fakefs
184
- requirement: &2156601440 !ruby/object:Gem::Requirement
181
+ requirement: &2152550660 !ruby/object:Gem::Requirement
185
182
  none: false
186
183
  requirements:
187
184
  - - ~>
@@ -189,7 +186,7 @@ dependencies:
189
186
  version: 0.4.0
190
187
  type: :development
191
188
  prerelease: false
192
- version_requirements: *2156601440
189
+ version_requirements: *2152550660
193
190
  description:
194
191
  email:
195
192
  - r-sutphin@northwestern.edu
@@ -199,6 +196,7 @@ extensions: []
199
196
  extra_rdoc_files: []
200
197
  files:
201
198
  - .gitignore
199
+ - .rspec
202
200
  - .rvmrc
203
201
  - .yardopts
204
202
  - CHANGELOG.md
@@ -475,6 +473,7 @@ files:
475
473
  - init.rakefile
476
474
  - lib/ncs_navigator/warehouse.rb
477
475
  - lib/ncs_navigator/warehouse/cli.rb
476
+ - lib/ncs_navigator/warehouse/comparator.rb
478
477
  - lib/ncs_navigator/warehouse/configuration.rb
479
478
  - lib/ncs_navigator/warehouse/configuration/file_evaluator.rb
480
479
  - lib/ncs_navigator/warehouse/data_mapper.rb
@@ -507,6 +506,7 @@ files:
507
506
  - spec/global_state_helper.rb
508
507
  - spec/navigator.ini
509
508
  - spec/ncs_navigator/warehouse/configuration_spec.rb
509
+ - spec/ncs_navigator/warehouse/data_mapper_spec.rb
510
510
  - spec/ncs_navigator/warehouse/models/mdes_model_spec.rb
511
511
  - spec/ncs_navigator/warehouse/postgresql/pgpass_spec.rb
512
512
  - spec/ncs_navigator/warehouse/table_modeler_spec.rb
@@ -554,6 +554,7 @@ test_files:
554
554
  - spec/global_state_helper.rb
555
555
  - spec/navigator.ini
556
556
  - spec/ncs_navigator/warehouse/configuration_spec.rb
557
+ - spec/ncs_navigator/warehouse/data_mapper_spec.rb
557
558
  - spec/ncs_navigator/warehouse/models/mdes_model_spec.rb
558
559
  - spec/ncs_navigator/warehouse/postgresql/pgpass_spec.rb
559
560
  - spec/ncs_navigator/warehouse/table_modeler_spec.rb