urbanairship-ruby 1.0.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.
- checksums.yaml +7 -0
- data/README.markdown +397 -0
- data/Rakefile +8 -0
- data/lib/urbanairship/response.rb +33 -0
- data/lib/urbanairship.rb +200 -0
- data/spec/response_spec.rb +79 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/urbanairship_spec.rb +1088 -0
- metadata +98 -0
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Urbanairship::Response do
|
4
|
+
|
5
|
+
before do
|
6
|
+
FakeWeb.allow_net_connect = false
|
7
|
+
end
|
8
|
+
|
9
|
+
context "#code" do
|
10
|
+
subject { Urbanairship.register_device("new_device_token") }
|
11
|
+
|
12
|
+
before do
|
13
|
+
FakeWeb.register_uri(:put, "https://my_app_key:my_app_secret@go.urbanairship.com/api/device_tokens/new_device_token", :status => ["201", "Created"])
|
14
|
+
FakeWeb.register_uri(:put, /bad_key\:my_app_secret\@go\.urbanairship\.com/, :status => ["401", "Unauthorized"])
|
15
|
+
Urbanairship.application_secret = "my_app_secret"
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should be set correctly on new registraion token" do
|
19
|
+
Urbanairship.application_key = "my_app_key"
|
20
|
+
subject.code.should eql '201'
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should set correctly on unauthhorized" do
|
24
|
+
Urbanairship.application_key = "bad_key"
|
25
|
+
subject.code.should eql '401'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context "#success?" do
|
30
|
+
subject { Urbanairship.register_device("new_device_token") }
|
31
|
+
|
32
|
+
before do
|
33
|
+
FakeWeb.register_uri(:put, "https://my_app_key:my_app_secret@go.urbanairship.com/api/device_tokens/new_device_token", :status => ["201", "Created"])
|
34
|
+
FakeWeb.register_uri(:put, /bad_key\:my_app_secret\@go\.urbanairship\.com/, :status => ["401", "Unauthorized"])
|
35
|
+
Urbanairship.application_secret = "my_app_secret"
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should be true with good key" do
|
39
|
+
Urbanairship.application_key = "my_app_key"
|
40
|
+
subject.success?.should == true
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should be false with bad key" do
|
44
|
+
Urbanairship.application_key = "bad_key"
|
45
|
+
subject.success?.should == false
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
context "body array accessor" do
|
50
|
+
subject { Urbanairship.feedback(Time.now) }
|
51
|
+
|
52
|
+
before do
|
53
|
+
FakeWeb.register_uri(:get, /my_app_key\:my_master_secret\@go\.urbanairship.com\/api\/device_tokens\/feedback/, :status => ["200", "OK"], :body => "[{\"device_token\":\"token\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"},{\"device_token\":\"token2\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"}]")
|
54
|
+
Urbanairship.application_secret = "my_app_secret"
|
55
|
+
Urbanairship.application_key = "my_app_key"
|
56
|
+
Urbanairship.master_secret = "my_master_secret"
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should set up correct indexes" do
|
60
|
+
subject[0]['device_token'].should eql "token"
|
61
|
+
subject[1]['device_token'].should eql "token2"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
context "non array response" do
|
66
|
+
subject { Urbanairship.feedback(Time.now) }
|
67
|
+
|
68
|
+
before do
|
69
|
+
FakeWeb.register_uri(:get, /my_app_key\:my_master_secret\@go\.urbanairship.com\/api\/device_tokens\/feedback/, :status => ["200", "OK"], :body => "{\"device_token\":\"token\",\"marked_inactive_on\":\"2010-10-14T19:15:13Z\",\"alias\":\"my_alias\"}")
|
70
|
+
Urbanairship.application_secret = "my_app_secret"
|
71
|
+
Urbanairship.application_key = "my_app_key"
|
72
|
+
Urbanairship.master_secret = "my_master_secret"
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should set up correct keys" do
|
76
|
+
subject['device_token'].should eql "token"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'base64'
|
2
|
+
require 'fakeweb'
|
3
|
+
|
4
|
+
require File.join(File.dirname(__FILE__), '/../lib/urbanairship')
|
5
|
+
|
6
|
+
|
7
|
+
RSpec.configure do |config|
|
8
|
+
config.after(:each) do
|
9
|
+
# reset configuration
|
10
|
+
Urbanairship.application_key = nil
|
11
|
+
Urbanairship.application_secret = nil
|
12
|
+
Urbanairship.master_secret = nil
|
13
|
+
Urbanairship.logger = nil
|
14
|
+
|
15
|
+
FakeWeb.instance_variable_set("@last_request", nil)
|
16
|
+
end
|
17
|
+
end
|