urbanairship-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -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