EPA_envirofacts 0.0.1

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 (51) hide show
  1. data/.autotest +1 -0
  2. data/.gemtest +0 -0
  3. data/.gitignore +41 -0
  4. data/.rspec +3 -0
  5. data/.travis.yml +7 -0
  6. data/.yardopts +3 -0
  7. data/Gemfile +3 -0
  8. data/LICENSE.md +10 -0
  9. data/README.md +70 -0
  10. data/Rakefile +18 -0
  11. data/epa.gemspec +31 -0
  12. data/lib/epa.rb +18 -0
  13. data/lib/epa/client.rb +14 -0
  14. data/lib/epa/client/connection.rb +19 -0
  15. data/lib/epa/client/pcs.rb +647 -0
  16. data/lib/epa/client/rad_info.rb +384 -0
  17. data/lib/epa/client/request.rb +18 -0
  18. data/lib/epa/version.rb +3 -0
  19. data/spec/epa/client/connection.rb +0 -0
  20. data/spec/epa/client/pcs_spec.rb +282 -0
  21. data/spec/epa/client/rad_info_spec.rb +87 -0
  22. data/spec/epa/client/request_spec.rb +0 -0
  23. data/spec/epa/client_spec.rb +0 -0
  24. data/spec/epa_spec.rb +10 -0
  25. data/spec/fixtures/admin_penalty_order.xml +18 -0
  26. data/spec/fixtures/facility.xml +56 -0
  27. data/spec/fixtures/facility_type.xml +74 -0
  28. data/spec/fixtures/pcs_cmpl_schd_viol.xml +95 -0
  29. data/spec/fixtures/pcs_cmpl_sched.xml +609 -0
  30. data/spec/fixtures/pcs_code_desc.xml +10 -0
  31. data/spec/fixtures/pcs_dmr_measurement.xml +10144 -0
  32. data/spec/fixtures/pcs_effl_lim.xml +2503 -0
  33. data/spec/fixtures/pcs_effl_lim_concentr.xml +2839 -0
  34. data/spec/fixtures/pcs_effl_lim_qty.xml +1245 -0
  35. data/spec/fixtures/pcs_enfor_action.xml +160 -0
  36. data/spec/fixtures/pcs_evidentiary_hearing_event.xml +16 -0
  37. data/spec/fixtures/pcs_industrial_user_info.xml +173 -0
  38. data/spec/fixtures/pcs_inspect.xml +11 -0
  39. data/spec/fixtures/pcs_pci_audit.xml +54 -0
  40. data/spec/fixtures/pcs_permit_event.xml +22 -0
  41. data/spec/fixtures/pcs_permit_facility.xml +66 -0
  42. data/spec/fixtures/pcs_pipe_sched.xml +290 -0
  43. data/spec/fixtures/pcs_pipe_sched_lat_long.xml +526 -0
  44. data/spec/fixtures/pcs_pretreatment_perf_summary.xml +224 -0
  45. data/spec/fixtures/pcs_single_event_viol.xml +84 -0
  46. data/spec/fixtures/pcs_sludge.xml +144 -0
  47. data/spec/fixtures/rad_geo.xml +28 -0
  48. data/spec/fixtures/rad_reg_prog.xml +108 -0
  49. data/spec/fixtures/rad_regulation.xml +20 -0
  50. data/spec/helper.rb +48 -0
  51. metadata +265 -0
@@ -0,0 +1,384 @@
1
+ module EPA
2
+ class Client
3
+ class RadInfo
4
+ @@lookup_table = {
5
+ 'facility'=> {
6
+ 'CITY_NAME'=>
7
+ ('The name of the city, town, or village where a facility is located.'),
8
+ 'CONGRESSIONAL_DIST_NUM'=>
9
+ ('The number that represents a Congressional District
10
+ for a state within the United States.'),
11
+ 'COUNTRY_NAME'=>
12
+ ('The name that represents a primary geopolitical
13
+ unit of the world. The default value for RADInfo is
14
+ "United States".'),
15
+ 'COUNTY_NAME'=>
16
+ ('The name of U.S. county or county equivalent, as
17
+ listed in FIPS Pub 6-4.'),
18
+ 'EF_PGM_SOURCE'=>
19
+ ('The abbreviated name of an information management
20
+ system contained in Envirofacts that may serve as a source
21
+ for RADInfo data.'),
22
+ 'EPA_REGION_CODE'=>
23
+ 'The code that represents an EPA Region.',
24
+ 'FACILITY_REGISTRY_ID'=>
25
+ ('The identification number assigned by the EPA
26
+ Facility Registry System to uniquely identify a facility site.'),
27
+ 'FED_FACILITY_CODE'=>
28
+ ('A code identifying whether or not a site is
29
+ a Federal (U.S. Government) facility. Valid
30
+ Values=> "D" = Status Undetermined, "Y" = Federal
31
+ Facility, "N" = Not a Federal Facility.'),
32
+ 'FRS_UPDATE_DATE'=>
33
+ ('The date when RADInfo facility data is updated
34
+ using the Facility Registry System.'),
35
+ 'HUC_CODE'=>
36
+ ('The hydrologic unit code (HUC) that represents a
37
+ geographic area representing part or all of a surface-draining
38
+ basin, a combination of drainage basins, or a distinct hydrologic
39
+ feature.'),
40
+ 'LOCATION_ADDRESS'=>
41
+ ('The address that describes the physical (geographic)
42
+ location of the front door or main entrance of a facility
43
+ site, including urban-style street address or rural address.'),
44
+ 'POSTAL_CODE'=>
45
+ ('The combination of the 5-digit Zone Improvement Plan (ZIP)
46
+ code and the four-digit extension code (if available) that
47
+ represents the geographic segment that is a subunit of the
48
+ ZIP Code, assigned by the U.S. Postal Service to a geographic
49
+ location to facilitate delivery, or the postal zone specific
50
+ to the country, other than the U.S., where the mail is delivered.'),
51
+ 'PRIMARY_NAME'=>
52
+ 'The name of a facility site.',
53
+ 'RAD_CHANGE_DATE'=>
54
+ ('The date when RADInfo facility data was altered by a
55
+ designated RADInfo user.'),
56
+ 'RAD_SYS_ID'=>
57
+ ('The non-intelligent, unique identifier assigned to a RADInfo
58
+ facility or site.'),
59
+ 'SOURCE_DATA'=>
60
+ ('The initial source of RADInfo information for a facility.
61
+ Reconciliation with the Facility Registry System may
62
+ subsequently alter some source data.'),
63
+ 'STATE_CODE'=>
64
+ ('The U.S. Postal Service abbreviation that represents the
65
+ state of state equivalent for the U.S. and Canada.'),
66
+ 'STATE_NAME'=>
67
+ ('The name of the principal administrative subdivision of the
68
+ United States.'),
69
+ 'SUPPLEMENTAL_LOCATION'=>
70
+ ('The text that provides additional information about a place,
71
+ including a building name with its secondary unit and number,
72
+ an industrial park name, an installation name, or descriptive
73
+ text where no formal address is available.'),
74
+ 'TRIBAL_LAND_CODE'=>
75
+ ('Code indicating whether or not the facility is located on
76
+ tribal land. Valid values=> "Y" = yes; "N" = no.'),
77
+ 'TRIBAL_LAND_NAME'=>
78
+ ('The name of an American Indian or Alaskan native area where
79
+ the facility is located, as identified through query
80
+ mechanisms available to the Envirofacts network.'),
81
+ 'URL'=>
82
+ ('The URL associated with the web which provides risk data
83
+ about the associated radioisotope.'),
84
+ 'URL_LINK_DESCRIPTION'=>
85
+ ('A web site description identifying the type of information
86
+ provided at the URL.'),
87
+ },
88
+ 'facility_type'=> {
89
+ 'CIT_REF_CODE'=>
90
+ ('The code that represents the environmental regulation with
91
+ oversight of a facility. For example, the CIT_REF_CODE for a
92
+ RAD NPL facility would be equal to "40CFR300".'),
93
+ 'FACILITY_TYPE'=>
94
+ ('The type of facility regulated by the governing regulation.
95
+ Valid Values include=>
96
+ NESHAPS/Underground Uranium Mine,
97
+ NESHAPS/DOE RAD Facility (Non-Radon),
98
+ NESHAPS/Other Federal Facility,
99
+ NESHAPS/Elemental Phosphorus Plant,
100
+ NESHAPS/DOE Radon,
101
+ NESHAPS/Phosphogypsum Stack,
102
+ NESHAPS/Disposal of Uranium Mill Tailings,
103
+ NESHAPS/Operating Uranium Mill Tailings,
104
+ WIPP Facility/Repository,
105
+ WIPP Facility/Generator Site,
106
+ RAD NPL Facility'),
107
+ 'SEC_CIT_REF_FLAG'=>
108
+ ('Indicates than an additional Citation Reference Code must
109
+ be used to uniquely identify this this type of facility. For
110
+ example, the WIPP repository is uniquely identified as being
111
+ regulated under both 40CFR191 and 40CFR194. This flag is set to
112
+ "Y" when a facility has this exact combination of
113
+ CIT_REF_CODE(s) associated with it. In the near term, no other
114
+ combination of governing regulations will cause this flag to be
115
+ set.'),
116
+ 'SUBPART_ID'=>
117
+ ('Identification number assigned to the subpart of the
118
+ environmental regulation with oversight of the facility.'),
119
+ },
120
+ 'geo'=> {
121
+ 'COORDINATE_DATA_SOURCE_CODE'=>
122
+ ('The code that represents the party responsible for providing
123
+ the latitude and longitude coordinates.'),
124
+ 'DATA_COLLECTION_DATE'=>
125
+ 'The calendar date when data were collected.',
126
+ 'EF_PGM_SOURCE'=>
127
+ ('The abbreviated name of an information management system
128
+ contained in Envirofacts that may serve as a source for
129
+ RADInfo data.'),
130
+ 'GEOMETRIC_TYPE_CODE'=>
131
+ ('The code that represents the geometric entity represented by
132
+ one point or a sequence of latitude and longitude points.'),
133
+ 'HORIZONTAL_ACCURACY_MEASURE'=>
134
+ ('The measure of the accuracy (in meters) of the latitude and
135
+ longitude coordinates.'),
136
+ 'HORIZONTAL_COLLECT_METHOD_CODE'=>
137
+ ('The code that represents the method used to determine the
138
+ latitude and longitude coordinates for a point on the earth.'),
139
+ 'HORIZONTAL_REFER_DATUM_CODE'=>
140
+ ('The code that represents the reference datum used in
141
+ determining latitude and longitude coordinates.'),
142
+ 'LATITUDE_MEASURE'=>
143
+ ('The measure of the angular distance on a meridian north or
144
+ south of the equator.'),
145
+ 'LOCATION_COMMENTS_TEXT'=>
146
+ ('The text that provides additional information about the
147
+ geographic coordinates.'),
148
+ 'LONGITUDE_MEASURE'=>
149
+ ('The measure of the angular distance on a meridian east or
150
+ west of the prime meridian.'),
151
+ 'RAD_CHANGE_DATE'=>
152
+ ('The date when RADInfo facility data was altered by a
153
+ designated RADInfo user.'),
154
+ 'RAD_OVERRIDE'=>
155
+ ('A flag indicating that the latitude and longitude coordinates
156
+ for the facility in RADInfo are preferred to the designated
157
+ best value coordinates in the Envirofacts Locational Reference
158
+ Tables.'),
159
+ 'RAD_SYS_ID'=>
160
+ ('The non-intelligent, unique identifier assigned to a RADInfo
161
+ facility or site.'),
162
+ 'REFERENCE_POINT_CODE'=>
163
+ ('The code that represents the place for which geographic
164
+ coordinates were established.'),
165
+ 'SOURCE_MAP_SCALE_NUMBER'=>
166
+ ('The number that represents the proportional distance on the
167
+ ground for one unit of measure on the map or photo.'),
168
+ 'SUB_ID'=>
169
+ 'Identification number for the operable unit.',
170
+ 'SUB_TYPE_CODE'=>
171
+ 'The code for an operable unit. View a list of permitted values.',
172
+ 'VERTICAL_ACCURACY_MEASURE'=>
173
+ ('The measure of the accuracy (in meters) of the vertical
174
+ measure (i.e., the altitude) of a reference point.'),
175
+ 'VERTICAL_COLLECT_METHOD_CASE'=>
176
+ ('The code that represents the method used to collect the
177
+ vertical measure (i.e., the altitude) of a reference point.'),
178
+ 'VERTICAL_MEASURE'=>
179
+ ('The measure of elevation (i.e., the altitude), in meters,
180
+ above or below a reference datum.'),
181
+ 'VERTICAL_REFERENCE_DATA_CODE'=>
182
+ ('The code that represents the reference datum used to
183
+ determine the vertical measure (i.e., the altitude).'),
184
+ },
185
+ 'regulation'=> {
186
+ 'CFR_PART'=>
187
+ ('The Part (name/title) of the regulation related
188
+ to the facility.'),
189
+ 'CRF_SECTION'=>
190
+ ('The Section (name/title) of the regulation related to
191
+ the facility.'),
192
+ 'CFR_SUBPART'=>
193
+ ('Subpart related to the specific part of the CFR
194
+ (e.g. Subpart D).'),
195
+ 'CIT_REF_CODE'=>
196
+ ('The code that represents the environmental regulation with
197
+ oversight of a facility. For example, the CIT_REF_CODE for a
198
+ RAD NPL facility would be equal to "40CFR300".'),
199
+ 'PART_ID'=>
200
+ ('The part number of the specific Code of Federal regulation
201
+ (e.g. Part 60).'),
202
+ 'RAD_CHANGE_DATE'=>
203
+ ('The date when RADInfo facility data was altered by a
204
+ designated RADInfo user.'),
205
+ 'REG_TITLE'=>
206
+ 'The title (name) of the regulation related to the facility.',
207
+ 'SECTION_ID'=>
208
+ ('The section number of the specific Code of Federal regulation
209
+ (e.g. Part 60.489).'),
210
+ 'STATUTE'=>
211
+ ('The name of the Federal statute governing the regulations
212
+ related to the facility.'),
213
+ 'STAT_ACRONYM'=>
214
+ ('The acronym of the Federal statute governing the regulations
215
+ related to the facility.'),
216
+ 'SUBPART_ID'=>
217
+ ('Identification number assigned to the subpart of the
218
+ environmental regulation with oversight of the facility.'),
219
+ 'TITLE_ID'=>
220
+ ('The Code of Federal Regulation number related to the
221
+ regulation (e.g. 40 CFR).'),
222
+ 'URL'=>
223
+ ('The URL associated with the web which provides risk data
224
+ about the associated radioisotope.'),
225
+ },
226
+ 'regulatory_program'=> {
227
+ 'CIT_REF_CODE'=>
228
+ ('The code that represents the environmental regulation with
229
+ oversight of a facility. For example, the CIT_REF_CODE for
230
+ a RAD NPL facility would be equal to "40CFR300".'),
231
+ 'ENFORCEMENT_AGENCY'=>
232
+ ('The Agency (or Agreement State) responsible for the
233
+ implementation and enforcement of the radiation standard(s)
234
+ established. In the case of 40 CFR 190, the NRC or one of the
235
+ 29 Agreement States is identified as the Enforcement Agency
236
+ under this definition.'),
237
+ 'OPERATING_ORGANIZATION'=>
238
+ ('The facility owner/operator who conducts the daily operations
239
+ and submits compliance reports to the Enforcement Agency.'),
240
+ 'OVERSIGHT_AGENCY'=>
241
+ ('The Agency responsible for establishing generally applicable
242
+ radiation standards. In the case of 40 CFR 190, EPA is
243
+ identified as the Oversight Agency under this definition.'),
244
+ 'PROG_FAC_STATUS'=>
245
+ ('The status of a facility in relation to the program monitoring
246
+ it. An active facility status means that the facility is
247
+ currently operational or activities such as remediation are
248
+ ongoing at the site/facility. An inactive facility status means
249
+ the facility is no longer operational. A standby status
250
+ indicates that the facility (i.e., uranium mine) is not
251
+ currently operating, but has not committed to closing down its
252
+ operation. An archived facility status means remediation has
253
+ been completed; such facilities are no longer of regulatory
254
+ concern and the information associated with them can be placed
255
+ in an archive database.'),
256
+ 'PROG_FAC_TYPE'=>
257
+ ('Code indicating the type of facility or complex facility that
258
+ is regulated or monitored by a program. Only those facilities
259
+ typecast as RAD NESHAPS Facilities and reporting under 40CFR61
260
+ are contained in the RAD_NESHAPS_FACILITY table. Similarly,
261
+ only those facilities typecast as WIPP Facilites and governed
262
+ under 40CFR194, or the combination of 40CFR191 and 40CFR194,
263
+ are contained in the RAD_WIPP_FACILITY table, and only those
264
+ facilities that must comply with 40CFR300 and typecast as RAD
265
+ NPL F acilities are contained in the RAD_NPL_FACILITY table.'),
266
+ 'RAD_CHANGE_DATE'=>
267
+ ('The date when RADInfo facility data was altered by a
268
+ designated RADInfo user.'),
269
+ 'RAD_SYS_ID'=>
270
+ ('The non-intelligent, unique identifier assigned to a RADInfo
271
+ facility or site.'),
272
+ 'SEC_CIT_REF_FLAG'=>
273
+ ('Indicates than an additional Citation Reference Code must
274
+ be used to uniquely identify this this type of facility. For
275
+ example, the WIPP repository is uniquely identified as being
276
+ regulated under both 40CFR191 and 40CFR194. This flag is set to
277
+ "Y" when a facility has this exact combination of
278
+ CIT_REF_CODE(s) associated with it. In the near term, no other
279
+ combination of governing regulations will cause this flag to be
280
+ set.'),
281
+ 'SUBPART_ID'=>
282
+ ('Identification number assigned to the subpart of the
283
+ environmental regulation with oversight of the facility.'),
284
+ },
285
+ }
286
+
287
+ # Returns a list of valid tables or columns in a given table
288
+ # @param database [String] optional table to lookup
289
+ # @return {Array}
290
+ # @example
291
+ # catalog()
292
+
293
+ def catalog(database=nil)
294
+ if database.nil?
295
+ return @@lookup_table.keys
296
+ else
297
+ return @@lookup_table[database].keys
298
+ end
299
+
300
+ end
301
+
302
+ # Used to lookup data in the facility table
303
+ # @param params [Hash] The parameters for the lookup
304
+ # @param options [Hash] A customizable set of options.
305
+ # @return {Hash}
306
+ # @see http://iaspub.epa.gov/enviro/ef_metadata_html.ef_metadata_table?p_table_name=rad_facility&p_topic=radinfo
307
+ # @example
308
+ # facility({:column => 'CITY_NAME', :value => 'PASADENA'})
309
+
310
+ def facility(params={}, options={})
311
+ if !params.has_key?(:column)
312
+ catalog("facility")
313
+ else
314
+ EPA.get("rad_facility/#{params[:column]}/#{params[:value]}", options)
315
+ end
316
+ end
317
+
318
+ # Used to lookup data in the facility type table
319
+ # @param params [Hash] The parameters for the lookup
320
+ # @param options [Hash] A customizable set of options.
321
+ # @return {Hash}
322
+ # @see http://iaspub.epa.gov/enviro/ef_metadata_html.ef_metadata_table?p_table_name=rad_facility_type&p_topic=radinfo
323
+ # @example
324
+ # facility_type(:column => 'SEC_CIT_REF_FLAG', :value => 'N')
325
+
326
+ def facility_type(params={}, options={})
327
+ if !params.has_key?(:column)
328
+ catalog("facility_type")
329
+ else
330
+ EPA.get("rad_facility_type/#{params[:column]}/#{params[:value]}", options)
331
+ end
332
+ end
333
+
334
+ # Used to lookup data in the geo location table
335
+ # @param params [Hash] The parameters for the lookup
336
+ # @param options [Hash] A customizable set of options.
337
+ # @return {Hash}
338
+ # @see http://iaspub.epa.gov/enviro/ef_metadata_html.ef_metadata_table?p_table_name=rad_geo_location&p_topic=radinfo
339
+ # @example
340
+ # geo(:column => 'RAD_SYS_ID', :value => 'RAD200000137')
341
+
342
+ def geo(params={}, options={})
343
+ if !params.has_key?(:column)
344
+ catalog("geo")
345
+ else
346
+ EPA.get("rad_geo_location/#{params[:column]}/#{params[:value]}", options)
347
+ end
348
+ end
349
+
350
+ # Used to lookup data in the regulation table
351
+ # @param params [Hash] The parameters for the lookup
352
+ # @param options [Hash] A customizable set of options.
353
+ # @return {Hash}
354
+ # @see http://iaspub.epa.gov/enviro/ef_metadata_html.ef_metadata_table?p_table_name=rad_regulation&p_topic=radinfo
355
+ # @example
356
+ # regulation(:column => 'SUBPART_ID', :value => 'B')
357
+
358
+ def regulation(params={}, options={})
359
+ if !params.has_key?(:column)
360
+ catalog("regulation")
361
+ else
362
+ EPA.get("rad_regulation/#{params[:column]}/#{params[:value]}", options)
363
+ end
364
+ end
365
+
366
+ # Used to lookup data in the regulatory program table
367
+ # @param params [Hash] The parameters for the lookup
368
+ # @param options [Hash] A customizable set of options.
369
+ # @return {Hash}
370
+ # @see http://iaspub.epa.gov/enviro/ef_metadata_html.ef_metadata_table?p_table_name=rad_regulatory_prog&p_topic=radinfo
371
+ # @example
372
+ # regulatory_program(:column => 'SUBPART_ID', :value => 'B')
373
+
374
+ def regulatory_program(params={}, options={})
375
+ if !params.has_key?(:column)
376
+ catalog("regulatory_program")
377
+ else
378
+ EPA.get("rad_regulatory_prog/#{params[:column]}/#{params[:value]}", options)
379
+ end
380
+ end
381
+
382
+ end
383
+ end
384
+ end
@@ -0,0 +1,18 @@
1
+ module EPA
2
+ class Client
3
+ module Request
4
+ def get(path, options={})
5
+ request(:get, path, options)
6
+ end
7
+
8
+ private
9
+
10
+ def request(method, path, options)
11
+ response = connection.send(method) do |request|
12
+ request.url(path, options)
13
+ end
14
+ response.body
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,3 @@
1
+ module EPA
2
+ VERSION = "0.0.1"
3
+ end
File without changes
@@ -0,0 +1,282 @@
1
+ require 'helper'
2
+
3
+ describe EPA::Client::Pcs do
4
+
5
+ before do
6
+ @client = EPA::Client::Pcs.new
7
+ end
8
+
9
+ describe ".catalog" do
10
+
11
+ it "should return the correct list of databases when empty" do
12
+ test = @client.catalog()
13
+ test[0].should == "ADMIN_PENALTY_ORDER"
14
+ end
15
+
16
+ it "should return the columns for a given database" do
17
+ test = @client.catalog("ADMIN_PENALTY_ORDER")
18
+ test[0].should == 'JUDICIAL_APPEAL_FILED_DATE'
19
+ end
20
+ end
21
+
22
+ describe ".admin_penalty_order" do
23
+ before do
24
+ stub_get("PCS_ADMIN_PENALTY_ORDER/NPDES/AKG520535").
25
+ to_return(:status => 200, :body => fixture("admin_penalty_order.xml"))
26
+ end
27
+
28
+ it "should return the columns for a given database" do
29
+ test = @client.admin_penalty_order(:column => "NPDES", :value => "AKG520535")
30
+ a_get("PCS_ADMIN_PENALTY_ORDER/NPDES/AKG520535").should have_been_made
31
+ test.pcs_admin_penalty_order_list.pcs_admin_penalty_order.npdes.should == 'AKG520535'
32
+ end
33
+ end
34
+
35
+ describe ".permit_event" do
36
+ before do
37
+ stub_get("pcs_permit_event/NPDES/AKG520535").
38
+ to_return(:status => 200, :body => fixture("pcs_permit_event.xml"))
39
+ end
40
+
41
+ it "should return the columns for a given database" do
42
+ test = @client.permit_event(:column => "NPDES", :value => "AKG520535")
43
+ a_get("pcs_permit_event/NPDES/AKG520535").should have_been_made
44
+ test.pcs_permit_event_list.pcs_permit_event[0].npdes.should == 'AKG520535'
45
+ end
46
+ end
47
+
48
+ describe ".pipe_sched_lat_long" do
49
+ before do
50
+ stub_get("pcs_pipe_sched_lat_long/NPDES/ALG120113").
51
+ to_return(:status => 200, :body => fixture("pcs_pipe_sched_lat_long.xml"))
52
+ end
53
+
54
+ it "should return the columns for a given database" do
55
+ test = @client.pipe_sched_lat_long(:column => "NPDES", :value => "ALG120113")
56
+ a_get("pcs_pipe_sched_lat_long/NPDES/ALG120113").should have_been_made
57
+ test.pcs_pipe_sched_lat_long_list.pcs_pipe_sched_lat_long[0].npdes.should == 'ALG120113'
58
+ end
59
+ end
60
+
61
+ describe ".dmr_measurement" do
62
+ before do
63
+ stub_get("pcs_dmr_measurement/NPDES/ALG120113").
64
+ to_return(:status => 200, :body => fixture("pcs_dmr_measurement.xml"))
65
+ end
66
+
67
+ it "should return the columns for a given database" do
68
+ test = @client.dmr_measurement(:column => "NPDES", :value => "ALG120113")
69
+ a_get("pcs_dmr_measurement/NPDES/ALG120113").should have_been_made
70
+ test.pcs_dmr_measurement_list.pcs_dmr_measurement[0].npdes.should == 'ALG120113'
71
+ end
72
+ end
73
+
74
+ describe ".inspection" do
75
+ before do
76
+ stub_get("pcs_inspection/NPDES/AKG520535").
77
+ to_return(:status => 200, :body => fixture("pcs_inspect.xml"))
78
+ end
79
+
80
+ it "should return the columns for a given database" do
81
+ test = @client.inspection(:column => "NPDES", :value => "AKG520535")
82
+ a_get("pcs_inspection/NPDES/AKG520535").should have_been_made
83
+ test.pcs_inspection_list.pcs_inspection.npdes.should == 'AKG520535'
84
+ end
85
+ end
86
+
87
+ describe ".enfor_action" do
88
+ before do
89
+ stub_get("pcs_enfor_action/NPDES/AR0020273").
90
+ to_return(:status => 200, :body => fixture("pcs_enfor_action.xml"))
91
+ end
92
+
93
+ it "should return the columns for a given database" do
94
+ test = @client.enfor_action(:column => "NPDES", :value => "AR0020273")
95
+ a_get("pcs_enfor_action/NPDES/AR0020273").should have_been_made
96
+ test.pcs_enfor_action_list.pcs_enfor_action[0].npdes.should == 'AR0020273'
97
+ end
98
+ end
99
+
100
+ describe ".permit_facility" do
101
+ before do
102
+ stub_get("pcs_permit_facility/NPDES/AR0020273").
103
+ to_return(:status => 200, :body => fixture("pcs_permit_facility.xml"))
104
+ end
105
+
106
+ it "should return the columns for a given database" do
107
+ test = @client.permit_facility(:column => "NPDES", :value => "AR0020273")
108
+ a_get("pcs_permit_facility/NPDES/AR0020273").should have_been_made
109
+ test.pcs_permit_facility_list.pcs_permit_facility.npdes.should == 'AR0020273'
110
+ end
111
+ end
112
+
113
+ describe ".pci_audit" do
114
+ before do
115
+ stub_get("pcs_pci_audit/NPDES/AR0020273").
116
+ to_return(:status => 200, :body => fixture("pcs_pci_audit.xml"))
117
+ end
118
+
119
+ it "should return the columns for a given database" do
120
+ test = @client.pci_audit(:column => "NPDES", :value => "AR0020273")
121
+ a_get("pcs_pci_audit/NPDES/AR0020273").should have_been_made
122
+ test.pcs_pci_audit_list.pcs_pci_audit[0].npdes.should == 'AR0020273'
123
+ end
124
+ end
125
+
126
+ describe ".effl_lim_qty" do
127
+ before do
128
+ stub_get("pcs_effl_lim_qty/NPDES/AR0020273").
129
+ to_return(:status => 200, :body => fixture("pcs_effl_lim_qty.xml"))
130
+ end
131
+
132
+ it "should return the columns for a given database" do
133
+ test = @client.effl_lim_qty(:column => "NPDES", :value => "AR0020273")
134
+ a_get("pcs_effl_lim_qty/NPDES/AR0020273").should have_been_made
135
+ test.pcs_effl_lim_qty_list.pcs_effl_lim_qty[0].npdes.should == 'AR0020273'
136
+ end
137
+ end
138
+
139
+ describe ".cmpl_schd_viol" do
140
+ before do
141
+ stub_get("pcs_cmpl_schd_viol/NPDES/AR0020273").
142
+ to_return(:status => 200, :body => fixture("pcs_cmpl_schd_viol.xml"))
143
+ end
144
+
145
+ it "should return the columns for a given database" do
146
+ test = @client.cmpl_schd_viol(:column => "NPDES", :value => "AR0020273")
147
+ a_get("pcs_cmpl_schd_viol/NPDES/AR0020273").should have_been_made
148
+ test.pcs_cmpl_schd_viol_list.pcs_cmpl_schd_viol[0].npdes.should == 'AR0020273'
149
+ end
150
+ end
151
+
152
+ describe ".pretreatment_perf_summary" do
153
+ before do
154
+ stub_get("pcs_pretreatment_perf_summary/NPDES/AR0020273").
155
+ to_return(:status => 200, :body => fixture("pcs_pretreatment_perf_summary.xml"))
156
+ end
157
+
158
+ it "should return the columns for a given database" do
159
+ test = @client.pretreatment_perf_summary(:column => "NPDES", :value => "AR0020273")
160
+ a_get("pcs_pretreatment_perf_summary/NPDES/AR0020273").should have_been_made
161
+ test.pcs_pretreatment_perf_summary_list.pcs_pretreatment_perf_summary[0].npdes.should == 'AR0020273'
162
+ end
163
+ end
164
+
165
+ describe ".code_desc" do
166
+ before do
167
+ stub_get("pcs_code_desc/CODE/110").
168
+ to_return(:status => 200, :body => fixture("pcs_code_desc.xml"))
169
+ end
170
+
171
+ it "should return the columns for a given database" do
172
+ test = @client.code_desc(:column => "CODE", :value => "110")
173
+ a_get("pcs_code_desc/CODE/110").should have_been_made
174
+ test.pcs_code_desc_list.pcs_code_desc.code.should == '110'
175
+ end
176
+ end
177
+
178
+ describe ".effl_lim" do
179
+ before do
180
+ stub_get("pcs_effl_lim/NPDES/AR0020273").
181
+ to_return(:status => 200, :body => fixture("pcs_effl_lim.xml"))
182
+ end
183
+
184
+ it "should return the columns for a given database" do
185
+ test = @client.effl_lim(:column => "NPDES", :value => "AR0020273")
186
+ a_get("pcs_effl_lim/NPDES/AR0020273").should have_been_made
187
+ test.pcs_effl_lim_list.pcs_effl_lim[0].npdes.should == 'AR0020273'
188
+ end
189
+ end
190
+
191
+ describe ".effl_lim_concentr" do
192
+ before do
193
+ stub_get("pcs_effl_lim_concentr/NPDES/AR0020273").
194
+ to_return(:status => 200, :body => fixture("pcs_effl_lim_concentr.xml"))
195
+ end
196
+
197
+ it "should return the columns for a given database" do
198
+ test = @client.effl_lim_concentr(:column => "NPDES", :value => "AR0020273")
199
+ a_get("pcs_effl_lim_concentr/NPDES/AR0020273").should have_been_made
200
+ test.pcs_effl_lim_concentr_list.pcs_effl_lim_concentr[0].npdes.should == 'AR0020273'
201
+ end
202
+ end
203
+
204
+ describe ".single_event_viol" do
205
+ before do
206
+ stub_get("pcs_single_event_viol/NPDES/AR0020273").
207
+ to_return(:status => 200, :body => fixture("pcs_single_event_viol.xml"))
208
+ end
209
+
210
+ it "should return the columns for a given database" do
211
+ test = @client.single_event_viol(:column => "NPDES", :value => "AR0020273")
212
+ a_get("pcs_single_event_viol/NPDES/AR0020273").should have_been_made
213
+ test.pcs_single_event_viol_list.pcs_single_event_viol[0].npdes.should == 'AR0020273'
214
+ end
215
+ end
216
+
217
+ describe ".sludge" do
218
+ before do
219
+ stub_get("pcs_sludge/HANDLER_STATE/KY").
220
+ to_return(:status => 200, :body => fixture("pcs_sludge.xml"))
221
+ end
222
+
223
+ it "should return the columns for a given database" do
224
+ test = @client.sludge(:column => "HANDLER_STATE", :value => "KY")
225
+ a_get("pcs_sludge/HANDLER_STATE/KY").should have_been_made
226
+ test.pcs_sludge_list.pcs_sludge[0].handler_state.should == 'KY'
227
+ end
228
+ end
229
+
230
+ describe ".pipe_sched" do
231
+ before do
232
+ stub_get("pcs_pipe_sched/NPDES/AR0020273").
233
+ to_return(:status => 200, :body => fixture("pcs_pipe_sched.xml"))
234
+ end
235
+
236
+ it "should return the columns for a given database" do
237
+ test = @client.pipe_sched(:column => "NPDES", :value => "AR0020273")
238
+ a_get("pcs_pipe_sched/NPDES/AR0020273").should have_been_made
239
+ test.pcs_pipe_sched_list.pcs_pipe_sched[0].npdes.should == 'AR0020273'
240
+ end
241
+ end
242
+
243
+ describe ".evidentiary_hearing_event" do
244
+ before do
245
+ stub_get("pcs_evidentiary_hearing_event/EVENT_CODE/02099").
246
+ to_return(:status => 200, :body => fixture("pcs_evidentiary_hearing_event.xml"))
247
+ end
248
+
249
+ it "should return the columns for a given database" do
250
+ test = @client.evidentiary_hearing_event(:column => "EVENT_CODE", :value => "02099")
251
+ a_get("pcs_evidentiary_hearing_event/EVENT_CODE/02099").should have_been_made
252
+ test.pcs_evidentiary_hearing_event_list.pcs_evidentiary_hearing_event[0].npdes.should == 'MA0101681'
253
+ end
254
+ end
255
+
256
+ describe ".industrial_user_info" do
257
+ before do
258
+ stub_get("pcs_industrial_user_info/NPDES/MA0101681").
259
+ to_return(:status => 200, :body => fixture("pcs_industrial_user_info.xml"))
260
+ end
261
+
262
+ it "should return the columns for a given database" do
263
+ test = @client.industrial_user_info(:column => "NPDES", :value => "MA0101681")
264
+ a_get("pcs_industrial_user_info/NPDES/MA0101681").should have_been_made
265
+ test.pcs_industrial_user_info_list.pcs_industrial_user_info[0].npdes.should == 'MA0101681'
266
+ end
267
+ end
268
+
269
+ describe ".cmpl_schd" do
270
+ before do
271
+ stub_get("pcs_cmpl_schd/NPDES/MA0101681").
272
+ to_return(:status => 200, :body => fixture("pcs_cmpl_sched.xml"))
273
+ end
274
+
275
+ it "should return the columns for a given database" do
276
+ test = @client.cmpl_schd(:column => "NPDES", :value => "MA0101681")
277
+ a_get("pcs_cmpl_schd/NPDES/MA0101681").should have_been_made
278
+ test.pcs_cmpl_schd_list.pcs_cmpl_schd[0].npdes.should == 'MA0101681'
279
+ end
280
+ end
281
+
282
+ end