open311 0.2.3 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CONTRIBUTING.md +49 -0
- data/README.md +11 -45
- data/lib/open311.rb +2 -2
- data/lib/open311/client.rb +2 -2
- data/lib/open311/client/connection.rb +14 -16
- data/lib/open311/client/request.rb +12 -13
- data/lib/open311/client/service.rb +22 -15
- data/lib/open311/configuration.rb +3 -3
- data/lib/open311/response/raise_error.rb +33 -0
- data/lib/open311/version.rb +13 -1
- data/open311.gemspec +22 -27
- metadata +94 -231
- data/.gemtest +0 -0
- data/.gitignore +0 -10
- data/.rspec +0 -3
- data/.travis.yml +0 -12
- data/Gemfile +0 -8
- data/Rakefile +0 -23
- data/lib/faraday/response/raise_error.rb +0 -31
- data/spec/faraday/response_spec.rb +0 -33
- data/spec/fixtures/403.xml +0 -4
- data/spec/fixtures/get_service_request.xml +0 -23
- data/spec/fixtures/post_service_request.xml +0 -10
- data/spec/fixtures/request_id_from_token.xml +0 -7
- data/spec/fixtures/service_definition.xml +0 -23
- data/spec/fixtures/service_requests.xml +0 -41
- data/spec/fixtures/services.xml +0 -30
- data/spec/helper.rb +0 -15
- data/spec/open311_spec.rb +0 -178
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
describe Faraday::Response do
|
4
|
-
{
|
5
|
-
400 => Open311::BadRequest,
|
6
|
-
401 => Open311::Unauthorized,
|
7
|
-
403 => Open311::Forbidden,
|
8
|
-
404 => Open311::NotFound,
|
9
|
-
406 => Open311::NotAcceptable,
|
10
|
-
500 => Open311::InternalServerError,
|
11
|
-
502 => Open311::BadGateway,
|
12
|
-
503 => Open311::ServiceUnavailable,
|
13
|
-
}.each do |status, exception|
|
14
|
-
context "when HTTP status is #{status}" do
|
15
|
-
|
16
|
-
before do
|
17
|
-
Open311.configure do |config|
|
18
|
-
config.endpoint = 'http://api.dc.org/open311/v2_dev/'
|
19
|
-
config.jurisdiction = 'dc.gov'
|
20
|
-
end
|
21
|
-
stub_request(:get, 'http://api.dc.org/open311/v2_dev/services.xml').
|
22
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
23
|
-
to_return(:status => status)
|
24
|
-
end
|
25
|
-
|
26
|
-
it "should raise #{exception.name} error" do
|
27
|
-
lambda do
|
28
|
-
Open311.service_list
|
29
|
-
end.should raise_error(exception)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
data/spec/fixtures/403.xml
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<service_requests>
|
3
|
-
<request>
|
4
|
-
<service_request_id>638344</service_request_id>
|
5
|
-
<status>closed</status>
|
6
|
-
<status_notes>Duplicate request.</status_notes>
|
7
|
-
<service_name>Sidewalk and Curb Issues</service_name>
|
8
|
-
<service_code>006</service_code>
|
9
|
-
<description></description>
|
10
|
-
<agency_responsible></agency_responsible>
|
11
|
-
<service_notice></service_notice>
|
12
|
-
<requested_datetime>2010-04-14T06:37:38-08:00</requested_datetime>
|
13
|
-
<updated_datetime>2010-04-14T06:37:38-08:00</updated_datetime>
|
14
|
-
<expected_datetime>2010-04-15T06:37:38-08:00</expected_datetime>
|
15
|
-
<address>8TH AVE and JUDAH ST</address>
|
16
|
-
<address_id>545483</address_id>
|
17
|
-
<zipcode>94122</zipcode>
|
18
|
-
<lat>37.762221815</lat>
|
19
|
-
<long>-122.4651145</long>
|
20
|
-
<media_url>http://open311.city.gov.s3.amazonaws.com/requests/media/638344.rss </media_url>
|
21
|
-
</request>
|
22
|
-
|
23
|
-
</service_requests>
|
@@ -1,10 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<service_requests>
|
3
|
-
<request>
|
4
|
-
<service_request_id>293944</service_request_id>
|
5
|
-
<service_notice>
|
6
|
-
The City will inspect and require the responsible party to correct within 24 hours and/or issue a Correction Notice or Notice of Violation of the Public Works Code
|
7
|
-
</service_notice>
|
8
|
-
<account_id/>
|
9
|
-
</request>
|
10
|
-
</service_requests>
|
@@ -1,23 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<service_definition>
|
3
|
-
<service_code>DMV66</service_code>
|
4
|
-
<attribute>
|
5
|
-
<variable>true</variable>
|
6
|
-
<code>WHISHETN</code>
|
7
|
-
<datatype>singlevaluelist</datatype>
|
8
|
-
<required>true</required>
|
9
|
-
<datatype_description></datatype_description>
|
10
|
-
<order>1</order>
|
11
|
-
<description>What is the ticket/tag/DL number?</description>
|
12
|
-
<values>
|
13
|
-
<value>
|
14
|
-
<key>123</key>
|
15
|
-
<name>Ford</name>
|
16
|
-
</value>
|
17
|
-
<value>
|
18
|
-
<key>124</key>
|
19
|
-
<name>Chrysler</name>
|
20
|
-
</value>
|
21
|
-
</values>
|
22
|
-
</attribute>
|
23
|
-
</service_definition>
|
@@ -1,41 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<service_requests>
|
3
|
-
<request>
|
4
|
-
<service_request_id>638344</service_request_id>
|
5
|
-
<status>closed</status>
|
6
|
-
<status_notes>Duplicate request.</status_notes>
|
7
|
-
<service_name>Sidewalk and Curb Issues</service_name>
|
8
|
-
<service_code>006</service_code>
|
9
|
-
<description></description>
|
10
|
-
<agency_responsible></agency_responsible>
|
11
|
-
<service_notice></service_notice>
|
12
|
-
<requested_datetime>2010-04-14T06:37:38-08:00</requested_datetime>
|
13
|
-
<updated_datetime>2010-04-14T06:37:38-08:00</updated_datetime>
|
14
|
-
<expected_datetime>2010-04-15T06:37:38-08:00</expected_datetime>
|
15
|
-
<address>8TH AVE and JUDAH ST</address>
|
16
|
-
<address_id>545483</address_id>
|
17
|
-
<zipcode>94122</zipcode>
|
18
|
-
<lat>37.762221815</lat>
|
19
|
-
<long>-122.4651145</long>
|
20
|
-
<media_url>http://open311.city.gov.s3.amazonaws.com/requests/media/638344.rss </media_url>
|
21
|
-
</request>
|
22
|
-
<request>
|
23
|
-
<service_request_id>638349</service_request_id>
|
24
|
-
<status>open</status>
|
25
|
-
<status_notes></status_notes>
|
26
|
-
<service_name>Sidewalk and Curb Issues</service_name>
|
27
|
-
<service_code>006</service_code>
|
28
|
-
<description></description>
|
29
|
-
<agency_responsible></agency_responsible>
|
30
|
-
<service_notice></service_notice>
|
31
|
-
<requested_datetime>2010-04-19T06:37:38-08:00</requested_datetime>
|
32
|
-
<updated_datetime>2010-04-19T06:37:38-08:00</updated_datetime>
|
33
|
-
<expected_datetime>2010-04-19T06:37:38-08:00</expected_datetime>
|
34
|
-
<address>8TH AVE and JUDAH ST</address>
|
35
|
-
<address_id>545483</address_id>
|
36
|
-
<zipcode>94122</zipcode>
|
37
|
-
<lat>37.762221815</lat>
|
38
|
-
<long>-122.4651145</long>
|
39
|
-
<media_url>http://open311.city.gov.s3.amazonaws.com/requests/media/638349.rss </media_url>
|
40
|
-
</request>
|
41
|
-
</service_requests>
|
data/spec/fixtures/services.xml
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<services xmlns:m="http://org/sfgov/sf311v2/services" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><service><service_code>001</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Litter Receptacles</group><service_name>Cans_Left_Out_24x7</service_name><description>Garbage or recycling cans that have been left out for more than 24 hours after collection. Violators will be cited.
|
3
|
-
</description></service><service><service_code>002</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street Defects</group><service_name>Construction_Plate_Shifted</service_name><description>Metal construction plate covering the street or sidewalk has been moved.
|
4
|
-
</description></service><service><service_code>003</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sidewalk or Curb</group><service_name>Curb_or_Curb_Ramp_Defect</service_name><description>Sidewalk curb or ramp has problems such as cracking, missing pieces, holes, and/or chipped curb.
|
5
|
-
</description></service><service><service_code>004</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Litter Receptacles</group><service_name>Damaged_City_Can</service_name><description>Damage to a city garbage receptacle such as missing parts (lid, door, liner) or other physical damage.
|
6
|
-
</description></service><service><service_code>005</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sidewalk or Curb</group><service_name>Damaged_Side_Sewer_Vent_Cover</service_name><description>Damage to a side sewer vent cover with problems such as cracking, bending, rusting, or denting</description></service><service><service_code>006</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Tree Maintenance</group><service_name>Damaged_Tree</service_name><description>Damage to a city maintained tree. To check whether a tree is city maintained: http://bit.ly/6hsDk1</description></service><service><service_code>007</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Public - Bike_rack</service_name><description>Graffiti on a bike rack that does not contain racial slurs, profanity, or gang related language</description></service><service><service_code>008</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Public - News_rack</service_name><description>Graffiti on a news rack that does not contain racial slurs, profanity, or gang related language
|
7
|
-
</description></service><service><service_code>009</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Public - Parking_meter</service_name><description>Graffiti on a parking meter that does not contain racial slurs, profanity, or gang related language
|
8
|
-
</description></service><service><service_code>010</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Public - Pay_phone</service_name><description>Graffiti on a pay phone that does not contain racial slurs, profanity, or gang related language.
|
9
|
-
</description></service><service><service_code>011</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Private - Not_Offensive</service_name><description>Graffiti on a privately owned building or structure that does not contain racial slurs, profanity, or gang related language
|
10
|
-
</description></service><service><service_code>012</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Private - Offensive</service_name><description>Graffiti on a privately owned building or structure that contains racial slurs, profanity, or gang related language
|
11
|
-
</description></service><service><service_code>013</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Graffiti - Public - Other_enter_additional_details_below</service_name><description>Graffiti on public property (building, pole, sidewalk, hydrant, etc) with racial slurs, profanity, or gang related language
|
12
|
-
</description></service><service><service_code>015</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Illegal Dumping</group><service_name>Illegal_Dumping</service_name><description>Identify someone that has dumped or is dumping furniture or garbage onto the street or sidewalk. Violators will be cited
|
13
|
-
</description></service><service><service_code>016</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Tree Maintenance</group><service_name>Landscaping</service_name><description>Request maintenance on public property (except on park property) such as lawn mowing, bush or strip trimming and removal
|
14
|
-
</description></service><service><service_code>017</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street and Sidewalk Cleaning</group><service_name>Missed_Route_Mechanical_Sweeping</service_name><description>Street cleaning sweeper did not show up as scheduled according to the street cleaning signs
|
15
|
-
</description></service><service><service_code>018</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sidewalk or Curb</group><service_name>Missing_Side_Sewer_Vent_Cover</service_name><description>The 4" side sewer vent cover (http://bit.ly/57BlOv) is missing from the sidewalk
|
16
|
-
</description></service><service><service_code>019</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Overflowing City Receptacle or Dumpster</group><service_name>Overflowing_City_Receptacle_or_Dumpster</service_name><description>City receptacle is overflowing and/or has garbage on and around the container
|
17
|
-
</description></service><service><service_code>020</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Tree Maintenance</group><service_name>Overgrown_Tree</service_name><description>Request that a city maintained tree (except on park property) be trimmed. To check whether a tree is city maintained: http://bit.ly/6hsDk1
|
18
|
-
</description></service><service><service_code>021</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street Defects</group><service_name>Pavement_Defect</service_name><description>Defect on the street such as broken, cracked, and sinking asphalt or concrete
|
19
|
-
</description></service><service><service_code>022</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sewer Issues</group><service_name>Sewage_Back_Up Out_of_catch_basin</service_name><description>Sewage or dirty water coming out of a catchbasin (located at the corner of intersections)
|
20
|
-
</description></service><service><service_code>023</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sewer Issues</group><service_name>Side_Sewer_issues Water_coming_out</service_name><description>Sewage or odor coming out of a 4 inch side sewer (http://bit.ly/57BlOv) located on the sidewalk
|
21
|
-
</description></service><service><service_code>024</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sidewalk Cleaning</group><service_name>Sidewalk_Cleaning</service_name><description>Have garbage or human waste removed from the sidewalk and/or request services such as steam cleaning of sidewalks
|
22
|
-
</description></service><service><service_code>025</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sidewalk Defect</group><service_name>Sidewalk_Defect</service_name><description>Defect on the sidewalk such as broken, cracked, and/or sinking concrete
|
23
|
-
</description></service><service><service_code>026</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street Cleaning</group><service_name>Street_Cleaning</service_name><description>Request to have garbage or human waste removed from the street
|
24
|
-
</description></service><service><service_code>027</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Tree Maintenance</group><service_name>Damaging_Property</service_name><description>Tree is damaging property (except for parks) or housing structure. City will address problem if it is a city maintained tree otherwise the property owner is notified to correct the issue
|
25
|
-
</description></service><service><service_code>028</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Water_Main_Break</service_name><description>Street is flooding due to water coming from within the asphalt or from a catchbasin
|
26
|
-
</description></service><service><service_code>029</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Graffiti</group><service_name>Sign - Defaced</service_name><description>Graffiti on a street sign such as a stop sign, street name, and/or other parking and traffic signs
|
27
|
-
</description></service><service><service_code>030</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sewer Issues</group><service_name>Side_Sewer_issues Odor</service_name><description>Odor coming out of a 4 inch side sewer (http://bit.ly/57BlOv) located on the sidewalk.
|
28
|
-
</description></service><service><service_code>031</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sewer Issues</group><service_name>Sewage_Back_up Out_of_manhole_cover</service_name><description>Sewage or dirty water coming out of a manhole cover (typically located in the a street or alley)
|
29
|
-
</description></service><service><service_code>032</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Sewer Issues</group><service_name>Sewage_Back_up Outofsewervent4inch</service_name><description>Sewage or dirty water coming out of a sewer vent (located on the sidewalk)
|
30
|
-
</description></service><service><service_code>375</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street or Sidewalk</group><service_name>Damaged_Benches_on_Sidewalk</service_name><description>Report a damaged bench on city property.</description></service><service><service_code>376</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street or Sidewalk</group><service_name>Damaged_Bike_Rack</service_name><description>Report a damaged bike rack on city property.</description></service><service><service_code>377</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street or Sidewalk</group><service_name>Damaged_Kiosk_or_Public_Toilet</service_name><description>Report a damaged kiosk or public toilet on city property.</description></service><service><service_code>378</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street or Sidewalk</group><service_name>Damaged_News_Rack</service_name><description>Report a damaged news rack on city property.</description></service><service><service_code>379</service_code><metadata>false</metadata><type>realtime</type><keywords/><group>Street or Sidewalk</group><service_name>Damaged_Parking_Meter</service_name><description>Report a damaged parking meter on city property.</description></service></services>
|
data/spec/helper.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
unless ENV['CI']
|
2
|
-
require 'simplecov'
|
3
|
-
SimpleCov.start
|
4
|
-
end
|
5
|
-
require 'open311'
|
6
|
-
require 'rspec'
|
7
|
-
require 'webmock/rspec'
|
8
|
-
|
9
|
-
def fixture_path
|
10
|
-
File.expand_path("../fixtures", __FILE__)
|
11
|
-
end
|
12
|
-
|
13
|
-
def fixture(file)
|
14
|
-
File.new(fixture_path + '/' + file)
|
15
|
-
end
|
data/spec/open311_spec.rb
DELETED
@@ -1,178 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
describe Open311 do
|
4
|
-
after do
|
5
|
-
Open311.reset
|
6
|
-
end
|
7
|
-
|
8
|
-
describe ".respond_to?" do
|
9
|
-
it "should return true if method exists" do
|
10
|
-
Open311.respond_to?(:new, true).should be_true
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
describe ".new" do
|
15
|
-
it "should be a Open311::Client" do
|
16
|
-
Open311.new.should be_a Open311::Client
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
describe Open311, ".service_list" do
|
22
|
-
before do
|
23
|
-
Open311.configure do |config|
|
24
|
-
config.endpoint = 'http://api.dc.org/open311/v2_dev/'
|
25
|
-
config.jurisdiction = 'dc.gov'
|
26
|
-
end
|
27
|
-
stub_request(:get, 'http://api.dc.org/open311/v2_dev/services.xml').
|
28
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
29
|
-
to_return(:body => fixture('services.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should request the correct resource" do
|
33
|
-
Open311.service_list
|
34
|
-
a_request(:get, 'http://api.dc.org/open311/v2_dev/services.xml').
|
35
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
36
|
-
should have_been_made
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should return the correct results" do
|
40
|
-
services = Open311.service_list
|
41
|
-
services.should be_an Array
|
42
|
-
services.first.service_code.should == '001'
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe Open311, ".service_definition" do
|
47
|
-
before do
|
48
|
-
Open311.configure do |config|
|
49
|
-
config.endpoint = 'http://blasius.ws:3003/open311/'
|
50
|
-
config.jurisdiction = 'dc.gov'
|
51
|
-
end
|
52
|
-
stub_request(:get, 'http://blasius.ws:3003/open311/services/033.xml').
|
53
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
54
|
-
to_return(:body => fixture('service_definition.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should request the correct resource" do
|
58
|
-
Open311.service_definition('033')
|
59
|
-
a_request(:get, 'http://blasius.ws:3003/open311/services/033.xml').
|
60
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
61
|
-
should have_been_made
|
62
|
-
end
|
63
|
-
|
64
|
-
it "should return the correct results" do
|
65
|
-
service_def = Open311.service_definition('033')
|
66
|
-
service_def.should be_an Hash
|
67
|
-
service_def.service_code.should == "DMV66"
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
describe Open311, ".service_requests" do
|
72
|
-
before do
|
73
|
-
Open311.configure do |config|
|
74
|
-
config.endpoint = 'http://blasius.ws:3003/open311/'
|
75
|
-
config.jurisdiction = 'dc.gov'
|
76
|
-
end
|
77
|
-
stub_request(:get, 'http://blasius.ws:3003/open311/requests.xml').
|
78
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
79
|
-
to_return(:body => fixture('service_requests.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
80
|
-
end
|
81
|
-
|
82
|
-
it "should request the correct resource" do
|
83
|
-
Open311.service_requests
|
84
|
-
a_request(:get, 'http://blasius.ws:3003/open311/requests.xml').
|
85
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
86
|
-
should have_been_made
|
87
|
-
end
|
88
|
-
|
89
|
-
it "should return the correct results" do
|
90
|
-
services = Open311.service_requests
|
91
|
-
services.should be_an Array
|
92
|
-
services.first.first.service_request_id.should == '638344'
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
describe Open311, ".get_service_request" do
|
97
|
-
before do
|
98
|
-
Open311.configure do |config|
|
99
|
-
config.endpoint = 'http://blasius.ws:3003/open311/'
|
100
|
-
config.jurisdiction = 'dc.gov'
|
101
|
-
end
|
102
|
-
stub_request(:get, 'http://blasius.ws:3003/open311/requests/638344.xml').
|
103
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
104
|
-
to_return(:body => fixture('service_requests.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
105
|
-
end
|
106
|
-
|
107
|
-
it "should request the correct resource" do
|
108
|
-
Open311.get_service_request(638344)
|
109
|
-
a_request(:get, 'http://blasius.ws:3003/open311/requests/638344.xml').
|
110
|
-
with(:query => {:jurisdiction_id => 'dc.gov'}).
|
111
|
-
should have_been_made
|
112
|
-
end
|
113
|
-
|
114
|
-
it "should return the correct results" do
|
115
|
-
service_request = Open311.get_service_request(638344)
|
116
|
-
service_request.should be_an Array
|
117
|
-
service_request.first.service_request_id.should == '638344'
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
describe Open311, ".post_service_request" do
|
122
|
-
before do
|
123
|
-
Open311.configure do |config|
|
124
|
-
config.endpoint = 'http://blasius.ws:3003/open311/'
|
125
|
-
config.jurisdiction = 'dc.gov'
|
126
|
-
config.api_key = 'xyz'
|
127
|
-
end
|
128
|
-
|
129
|
-
stub_request(:post, 'blasius.ws:3003/open311/requests.xml').
|
130
|
-
to_return(:body => fixture('post_service_request.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
131
|
-
end
|
132
|
-
|
133
|
-
it "should return the correct results" do
|
134
|
-
service_request_params = {
|
135
|
-
:service_code => '001',
|
136
|
-
:address_string => '1234 5th street',
|
137
|
-
:email => 'smit222@sfgov.edu',
|
138
|
-
:device_id => 'tt222111',
|
139
|
-
:account_id => '12345',
|
140
|
-
:first_name => 'john',
|
141
|
-
:last_name => 'smith',
|
142
|
-
:phone => '111111111',
|
143
|
-
:description => 'A large sinkhole is destroying the street',
|
144
|
-
:media_url => 'http://farm5.static.flickr.com/4057/4660699337_9aa4541ce1_o.jpg',
|
145
|
-
:lat => '38.888486',
|
146
|
-
:long => '-77.020179',
|
147
|
-
}
|
148
|
-
service_request_response = Open311.post_service_request(service_request_params)
|
149
|
-
service_request_response.service_request_id.should == '293944'
|
150
|
-
end
|
151
|
-
end
|
152
|
-
|
153
|
-
describe Open311, ".request_id_from_token" do
|
154
|
-
|
155
|
-
before do
|
156
|
-
Open311.configure do |config|
|
157
|
-
config.endpoint = 'http://open311.sfgov.org/dev/v2/'
|
158
|
-
config.jurisdiction = 'sfgov.org'
|
159
|
-
end
|
160
|
-
stub_request(:get, 'http://open311.sfgov.org/dev/v2/tokens/12345.xml').
|
161
|
-
with(:query => {:jurisdiction_id => 'sfgov.org'}).
|
162
|
-
to_return(:body => fixture('request_id_from_token.xml'), :headers => {'Content-Type' => 'text/xml; charset=utf-8'})
|
163
|
-
end
|
164
|
-
|
165
|
-
it "should request the correct resource" do
|
166
|
-
Open311.request_id_from_token(12345)
|
167
|
-
a_request(:get, 'http://open311.sfgov.org/dev/v2/tokens/12345.xml').
|
168
|
-
with(:query => {:jurisdiction_id => 'sfgov.org'}).
|
169
|
-
should have_been_made
|
170
|
-
end
|
171
|
-
|
172
|
-
it "should return the correct result" do
|
173
|
-
service_request = Open311.request_id_from_token(12345)
|
174
|
-
service_request.service_request_id.should == '638344'
|
175
|
-
service_request.token.should == '12345'
|
176
|
-
end
|
177
|
-
|
178
|
-
end
|