one_signal 1.1.0 → 1.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.
- checksums.yaml +4 -4
- data/CHANGELOG.txt +4 -0
- data/README.md +17 -1
- data/lib/one_signal/app.rb +16 -14
- data/lib/one_signal/notification.rb +21 -11
- data/lib/one_signal/one_signal.rb +10 -14
- data/lib/one_signal/player.rb +32 -16
- data/lib/one_signal/version.rb +1 -1
- data/test/app_test.rb +47 -6
- data/test/notification_test.rb +64 -8
- data/test/one_signal_test.rb +17 -14
- data/test/player_test.rb +96 -11
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 39e3129d534bb2ff23d4ea7f30883ba5542b5d74
|
4
|
+
data.tar.gz: 325c87cd5d9326f3148901b549e80608a603ac8b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8e27d6a7c6e3b5568b6fb62a9caa11c17e73fcddae107d3388d822a9d9485cb08b5b93f3dad323c574c2944f4cd2a7ba8802a7139d767e4f8634c5663f38c76d
|
7
|
+
data.tar.gz: 462d24d61957420d0cee81fba85537ba6256c13c944e163b3a46b0a4a804ac6337cbae187943de1c8b69a57213cd3ed249dddd759f9e6af5f251c0015402bb6e
|
data/CHANGELOG.txt
CHANGED
data/README.md
CHANGED
@@ -26,7 +26,7 @@ To run it:
|
|
26
26
|
|
27
27
|
## Documentation
|
28
28
|
|
29
|
-
Specify your User Auth key to deal with Apps
|
29
|
+
Specify your User Auth key to deal with Apps:
|
30
30
|
|
31
31
|
```ruby
|
32
32
|
OneSignal::OneSignal.user_auth_key = YOUR_USER_AUTH_KEY
|
@@ -41,6 +41,22 @@ OneSignal::OneSignal.api_key = YOUR_API_KEY
|
|
41
41
|
Then call the following methods on the `App`, `Player` and `Notification` classes.
|
42
42
|
The `params` argument in those methods is a ruby hash and the accepted/required keys for this hash are documented in the [OneSignal API documentation](https://documentation.onesignal.com/docs/server-api-overview)
|
43
43
|
|
44
|
+
Each method also accepts an optional `opts` hash that allows you to specify the `user_auth_key`/`api_key` on a per method basis:
|
45
|
+
|
46
|
+
```ruby
|
47
|
+
app_1_api_key = "fake api key 1"
|
48
|
+
app_2_api_key = "fake api key 2"
|
49
|
+
|
50
|
+
# by default, method calls will use app_1_api_key
|
51
|
+
OneSignal::OneSignal.api_key = app_1_api_key
|
52
|
+
|
53
|
+
# get player with id "123" in app_1
|
54
|
+
OneSignal::Player.get(id: "123")
|
55
|
+
|
56
|
+
# get player with id "456" in app_2
|
57
|
+
OneSignal::Player.get(id: "123", opts: {auth_key: app_2_api_key})
|
58
|
+
```
|
59
|
+
|
44
60
|
The return value of each method is a `Net::HTTPResponse`.
|
45
61
|
|
46
62
|
### Apps
|
data/lib/one_signal/app.rb
CHANGED
@@ -2,12 +2,14 @@ module OneSignal
|
|
2
2
|
|
3
3
|
class App < OneSignal
|
4
4
|
|
5
|
-
def self.all(params: {})
|
5
|
+
def self.all(params: {}, opts: {})
|
6
|
+
opts[:auth_key] ||= @@user_auth_key
|
7
|
+
|
6
8
|
uri_string = @@base_uri
|
7
9
|
uri_string += "/apps"
|
8
10
|
uri = URI.parse(uri_string)
|
9
11
|
|
10
|
-
response = send_get_request(uri: uri, params: params)
|
12
|
+
response = send_get_request(uri: uri, params: params, opts: opts)
|
11
13
|
|
12
14
|
ensure_http_status(response: response,
|
13
15
|
status: '200',
|
@@ -18,13 +20,15 @@ module OneSignal
|
|
18
20
|
return response
|
19
21
|
end
|
20
22
|
|
21
|
-
def self.get(id: "")
|
23
|
+
def self.get(id: "", opts: {})
|
24
|
+
opts[:auth_key] ||= @@user_auth_key
|
25
|
+
|
22
26
|
uri_string = @@base_uri
|
23
27
|
uri_string += "/apps"
|
24
28
|
uri_string += "/#{id}"
|
25
29
|
uri = URI.parse(uri_string)
|
26
30
|
|
27
|
-
response = send_get_request(uri: uri, params: nil)
|
31
|
+
response = send_get_request(uri: uri, params: nil, opts: opts)
|
28
32
|
|
29
33
|
ensure_http_status(response: response,
|
30
34
|
status: '200',
|
@@ -35,12 +39,14 @@ module OneSignal
|
|
35
39
|
return response
|
36
40
|
end
|
37
41
|
|
38
|
-
def self.create(params: {})
|
42
|
+
def self.create(params: {}, opts: {})
|
43
|
+
opts[:auth_key] ||= @@user_auth_key
|
44
|
+
|
39
45
|
uri_string = @@base_uri
|
40
46
|
uri_string += "/apps"
|
41
47
|
uri = URI.parse(uri_string)
|
42
48
|
|
43
|
-
response = send_post_request(uri: uri, body: params)
|
49
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
44
50
|
|
45
51
|
ensure_http_status(response: response,
|
46
52
|
status: '200',
|
@@ -51,13 +57,15 @@ module OneSignal
|
|
51
57
|
return response
|
52
58
|
end
|
53
59
|
|
54
|
-
def self.update(id: "", params: {})
|
60
|
+
def self.update(id: "", params: {}, opts: {})
|
61
|
+
opts[:auth_key] ||= @@user_auth_key
|
62
|
+
|
55
63
|
uri_string = @@base_uri
|
56
64
|
uri_string += "/apps"
|
57
65
|
uri_string += "/#{id}"
|
58
66
|
uri = URI.parse(uri_string)
|
59
67
|
|
60
|
-
response = send_put_request(uri: uri, body: params)
|
68
|
+
response = send_put_request(uri: uri, body: params, opts: opts)
|
61
69
|
|
62
70
|
ensure_http_status(response: response,
|
63
71
|
status: '200',
|
@@ -68,12 +76,6 @@ module OneSignal
|
|
68
76
|
return response
|
69
77
|
end
|
70
78
|
|
71
|
-
private
|
72
|
-
|
73
|
-
def self.auth_key
|
74
|
-
return @@user_auth_key
|
75
|
-
end
|
76
|
-
|
77
79
|
end
|
78
80
|
|
79
81
|
end
|
@@ -2,12 +2,14 @@ module OneSignal
|
|
2
2
|
|
3
3
|
class Notification < OneSignal
|
4
4
|
|
5
|
-
def self.all(params: {})
|
5
|
+
def self.all(params: {}, opts: {})
|
6
|
+
opts[:auth_key] ||= @@api_key
|
7
|
+
|
6
8
|
uri_string = @@base_uri
|
7
9
|
uri_string += "/notifications"
|
8
10
|
uri = URI.parse(uri_string)
|
9
11
|
|
10
|
-
response = send_get_request(uri: uri, params: params)
|
12
|
+
response = send_get_request(uri: uri, params: params, opts: opts)
|
11
13
|
|
12
14
|
ensure_http_status(response: response,
|
13
15
|
status: '200',
|
@@ -18,13 +20,15 @@ module OneSignal
|
|
18
20
|
return response
|
19
21
|
end
|
20
22
|
|
21
|
-
def self.get(id: "", params: {})
|
23
|
+
def self.get(id: "", params: {}, opts: {})
|
24
|
+
opts[:auth_key] ||= @@api_key
|
25
|
+
|
22
26
|
uri_string = @@base_uri
|
23
27
|
uri_string += "/notifications"
|
24
28
|
uri_string += "/#{id}"
|
25
29
|
uri = URI.parse(uri_string)
|
26
30
|
|
27
|
-
response = send_get_request(uri: uri, params: params)
|
31
|
+
response = send_get_request(uri: uri, params: params, opts: opts)
|
28
32
|
|
29
33
|
ensure_http_status(response: response,
|
30
34
|
status: '200',
|
@@ -35,12 +39,14 @@ module OneSignal
|
|
35
39
|
return response
|
36
40
|
end
|
37
41
|
|
38
|
-
def self.create(params: {})
|
42
|
+
def self.create(params: {}, opts: {})
|
43
|
+
opts[:auth_key] ||= @@api_key
|
44
|
+
|
39
45
|
uri_string = @@base_uri
|
40
46
|
uri_string += "/notifications"
|
41
47
|
uri = URI.parse(uri_string)
|
42
|
-
|
43
|
-
response = send_post_request(uri: uri, body: params)
|
48
|
+
|
49
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
44
50
|
|
45
51
|
if response.code != '200'
|
46
52
|
handle_error(uri: uri, params: params, response: response)
|
@@ -49,13 +55,15 @@ module OneSignal
|
|
49
55
|
return response
|
50
56
|
end
|
51
57
|
|
52
|
-
def self.update(id: "", params: {})
|
58
|
+
def self.update(id: "", params: {}, opts: {})
|
59
|
+
opts[:auth_key] ||= @@api_key
|
60
|
+
|
53
61
|
uri_string = @@base_uri
|
54
62
|
uri_string += "/notifications"
|
55
63
|
uri_string += "/#{id}"
|
56
64
|
uri = URI.parse(uri_string)
|
57
65
|
|
58
|
-
response = send_put_request(uri: uri, body: params)
|
66
|
+
response = send_put_request(uri: uri, body: params, opts: opts)
|
59
67
|
|
60
68
|
ensure_http_status(response: response,
|
61
69
|
status: '200',
|
@@ -66,13 +74,15 @@ module OneSignal
|
|
66
74
|
return response
|
67
75
|
end
|
68
76
|
|
69
|
-
def self.delete(id: "", params: {})
|
77
|
+
def self.delete(id: "", params: {}, opts: {})
|
78
|
+
opts[:auth_key] ||= @@api_key
|
79
|
+
|
70
80
|
uri_string = @@base_uri
|
71
81
|
uri_string += "/notifications"
|
72
82
|
uri_string += "/#{id}"
|
73
83
|
uri = URI.parse(uri_string)
|
74
84
|
|
75
|
-
response = send_delete_request(uri: uri, params: params)
|
85
|
+
response = send_delete_request(uri: uri, params: params, opts: opts)
|
76
86
|
|
77
87
|
ensure_http_status(response: response,
|
78
88
|
status: '200',
|
@@ -53,48 +53,48 @@ module OneSignal
|
|
53
53
|
return http
|
54
54
|
end
|
55
55
|
|
56
|
-
def self.send_post_request(uri: nil, body: nil)
|
56
|
+
def self.send_post_request(uri: nil, body: nil, opts: {})
|
57
57
|
return nil if uri.nil?
|
58
58
|
|
59
59
|
request = Net::HTTP::Post.new(uri.request_uri)
|
60
60
|
request.body = body.to_json
|
61
|
-
request = request_with_headers(request: request)
|
61
|
+
request = request_with_headers(request: request, opts: opts)
|
62
62
|
|
63
63
|
http = http_object(uri: uri)
|
64
64
|
|
65
65
|
return http.request(request)
|
66
66
|
end
|
67
67
|
|
68
|
-
def self.send_delete_request(uri: nil, params: {})
|
68
|
+
def self.send_delete_request(uri: nil, params: {}, opts: {})
|
69
69
|
return nil if uri.nil?
|
70
70
|
|
71
71
|
uri.query = URI.encode_www_form(params) unless params.nil?
|
72
72
|
request = Net::HTTP::Delete.new(uri.request_uri)
|
73
|
-
request = request_with_headers(request: request)
|
73
|
+
request = request_with_headers(request: request, opts: opts)
|
74
74
|
|
75
75
|
http = http_object(uri: uri)
|
76
76
|
|
77
77
|
return http.request(request)
|
78
78
|
end
|
79
79
|
|
80
|
-
def self.send_put_request(uri: nil, body: nil)
|
80
|
+
def self.send_put_request(uri: nil, body: nil, opts: {})
|
81
81
|
return nil if uri.nil?
|
82
82
|
|
83
83
|
request = Net::HTTP::Put.new(uri.request_uri)
|
84
84
|
request.body = body.to_json
|
85
|
-
request = request_with_headers(request: request)
|
85
|
+
request = request_with_headers(request: request, opts: opts)
|
86
86
|
|
87
87
|
http = http_object(uri: uri)
|
88
88
|
|
89
89
|
return http.request(request)
|
90
90
|
end
|
91
91
|
|
92
|
-
def self.send_get_request(uri: nil, params: {})
|
92
|
+
def self.send_get_request(uri: nil, params: {}, opts: {})
|
93
93
|
return nil if uri.nil?
|
94
94
|
|
95
95
|
uri.query = URI.encode_www_form(params) unless params.nil?
|
96
96
|
request = Net::HTTP::Get.new(uri.request_uri)
|
97
|
-
request = request_with_headers(request: request)
|
97
|
+
request = request_with_headers(request: request, opts: opts)
|
98
98
|
|
99
99
|
http = http_object(uri: uri)
|
100
100
|
|
@@ -116,18 +116,14 @@ module OneSignal
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
-
def self.request_with_headers(request: nil)
|
119
|
+
def self.request_with_headers(request: nil, opts: {})
|
120
120
|
return nil if request.nil?
|
121
121
|
|
122
122
|
request.add_field("Content-Type", "application/json")
|
123
|
-
request.add_field("Authorization", "Basic #{
|
123
|
+
request.add_field("Authorization", "Basic #{opts[:auth_key]}")
|
124
124
|
return request
|
125
125
|
end
|
126
126
|
|
127
|
-
def self.auth_key
|
128
|
-
return @@api_key
|
129
|
-
end
|
130
|
-
|
131
127
|
end
|
132
128
|
|
133
129
|
end
|
data/lib/one_signal/player.rb
CHANGED
@@ -2,12 +2,14 @@ module OneSignal
|
|
2
2
|
|
3
3
|
class Player < OneSignal
|
4
4
|
|
5
|
-
def self.csv_export(params: {})
|
5
|
+
def self.csv_export(params: {}, opts: {})
|
6
|
+
opts[:auth_key] ||= @@api_key
|
7
|
+
|
6
8
|
uri_string = @@base_uri
|
7
9
|
uri_string += "/players/csv_export"
|
8
10
|
uri = URI.parse(uri_string)
|
9
11
|
|
10
|
-
response = send_post_request(uri: uri, body: params)
|
12
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
11
13
|
|
12
14
|
ensure_http_status(response: response,
|
13
15
|
status: '200',
|
@@ -18,12 +20,14 @@ module OneSignal
|
|
18
20
|
return response
|
19
21
|
end
|
20
22
|
|
21
|
-
def self.all(params: {})
|
23
|
+
def self.all(params: {}, opts: {})
|
24
|
+
opts[:auth_key] ||= @@api_key
|
25
|
+
|
22
26
|
uri_string = @@base_uri
|
23
27
|
uri_string += "/players"
|
24
28
|
uri = URI.parse(uri_string)
|
25
29
|
|
26
|
-
response = send_get_request(uri: uri, params: params)
|
30
|
+
response = send_get_request(uri: uri, params: params, opts: opts)
|
27
31
|
|
28
32
|
ensure_http_status(response: response,
|
29
33
|
status: '200',
|
@@ -34,13 +38,15 @@ module OneSignal
|
|
34
38
|
return response
|
35
39
|
end
|
36
40
|
|
37
|
-
def self.get(id: "")
|
41
|
+
def self.get(id: "", opts: {})
|
42
|
+
opts[:auth_key] ||= @@api_key
|
43
|
+
|
38
44
|
uri_string = @@base_uri
|
39
45
|
uri_string += "/players"
|
40
46
|
uri_string += "/#{id}"
|
41
47
|
uri = URI.parse(uri_string)
|
42
48
|
|
43
|
-
response = send_get_request(uri: uri, params: nil)
|
49
|
+
response = send_get_request(uri: uri, params: nil, opts: opts)
|
44
50
|
|
45
51
|
ensure_http_status(response: response,
|
46
52
|
status: '200',
|
@@ -51,12 +57,14 @@ module OneSignal
|
|
51
57
|
return response
|
52
58
|
end
|
53
59
|
|
54
|
-
def self.create(params: {})
|
60
|
+
def self.create(params: {}, opts: {})
|
61
|
+
opts[:auth_key] ||= @@api_key
|
62
|
+
|
55
63
|
uri_string = @@base_uri
|
56
64
|
uri_string += "/players"
|
57
65
|
uri = URI.parse(uri_string)
|
58
66
|
|
59
|
-
response = send_post_request(uri: uri, body: params)
|
67
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
60
68
|
|
61
69
|
ensure_http_status(response: response,
|
62
70
|
status: '200',
|
@@ -67,14 +75,16 @@ module OneSignal
|
|
67
75
|
return response
|
68
76
|
end
|
69
77
|
|
70
|
-
def self.create_session(id: "", params: {})
|
78
|
+
def self.create_session(id: "", params: {}, opts: {})
|
79
|
+
opts[:auth_key] ||= @@api_key
|
80
|
+
|
71
81
|
uri_string = @@base_uri
|
72
82
|
uri_string += "/players"
|
73
83
|
uri_string += "/#{id}"
|
74
84
|
uri_string += "/on_session"
|
75
85
|
uri = URI.parse(uri_string)
|
76
86
|
|
77
|
-
response = send_post_request(uri: uri, body: params)
|
87
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
78
88
|
|
79
89
|
ensure_http_status(response: response,
|
80
90
|
status: '200',
|
@@ -85,14 +95,16 @@ module OneSignal
|
|
85
95
|
return response
|
86
96
|
end
|
87
97
|
|
88
|
-
def self.create_purchase(id: "", params: {})
|
98
|
+
def self.create_purchase(id: "", params: {}, opts: {})
|
99
|
+
opts[:auth_key] ||= @@api_key
|
100
|
+
|
89
101
|
uri_string = @@base_uri
|
90
102
|
uri_string += "/players"
|
91
103
|
uri_string += "/#{id}"
|
92
104
|
uri_string += "/on_purchase"
|
93
105
|
uri = URI.parse(uri_string)
|
94
106
|
|
95
|
-
response = send_post_request(uri: uri, body: params)
|
107
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
96
108
|
|
97
109
|
ensure_http_status(response: response,
|
98
110
|
status: '200',
|
@@ -103,14 +115,16 @@ module OneSignal
|
|
103
115
|
return response
|
104
116
|
end
|
105
117
|
|
106
|
-
def self.create_focus(id: "", params: {})
|
118
|
+
def self.create_focus(id: "", params: {}, opts: {})
|
119
|
+
opts[:auth_key] ||= @@api_key
|
120
|
+
|
107
121
|
uri_string = @@base_uri
|
108
122
|
uri_string += "/players"
|
109
123
|
uri_string += "/#{id}"
|
110
124
|
uri_string += "/on_focus"
|
111
125
|
uri = URI.parse(uri_string)
|
112
126
|
|
113
|
-
response = send_post_request(uri: uri, body: params)
|
127
|
+
response = send_post_request(uri: uri, body: params, opts: opts)
|
114
128
|
|
115
129
|
ensure_http_status(response: response,
|
116
130
|
status: '200',
|
@@ -121,13 +135,15 @@ module OneSignal
|
|
121
135
|
return response
|
122
136
|
end
|
123
137
|
|
124
|
-
def self.update(id: "", params: {})
|
138
|
+
def self.update(id: "", params: {}, opts: {})
|
139
|
+
opts[:auth_key] ||= @@api_key
|
140
|
+
|
125
141
|
uri_string = @@base_uri
|
126
142
|
uri_string += "/players"
|
127
143
|
uri_string += "/#{id}"
|
128
144
|
uri = URI.parse(uri_string)
|
129
145
|
|
130
|
-
response = send_put_request(uri: uri, body: params)
|
146
|
+
response = send_put_request(uri: uri, body: params, opts: opts)
|
131
147
|
|
132
148
|
ensure_http_status(response: response,
|
133
149
|
status: '200',
|
data/lib/one_signal/version.rb
CHANGED
data/test/app_test.rb
CHANGED
@@ -15,40 +15,81 @@ class AppTest < MiniTest::Test
|
|
15
15
|
widget: "acme"
|
16
16
|
}
|
17
17
|
|
18
|
-
@user_auth_key = "fake user auth key"
|
19
|
-
|
18
|
+
@user_auth_key = "fake user auth key 123"
|
19
|
+
@user_auth_key_2 = "fake user auth key 456"
|
20
|
+
@opts = {
|
21
|
+
key1: "value1",
|
22
|
+
key2: "vaue2",
|
23
|
+
auth_key: @user_auth_key_2
|
24
|
+
}
|
25
|
+
@default_opts = {
|
26
|
+
auth_key: @user_auth_key
|
27
|
+
}
|
28
|
+
OneSignal::OneSignal.user_auth_key = @user_auth_key
|
20
29
|
end
|
21
30
|
|
22
31
|
def test_all
|
23
32
|
response = mock_response_ok
|
24
33
|
OneSignal::OneSignal.expects(:send_get_request)
|
25
|
-
.with(uri: @all_uri, params: @params)
|
34
|
+
.with(uri: @all_uri, params: @params, opts: @default_opts)
|
26
35
|
.returns(response)
|
27
36
|
assert_equal response, OneSignal::App.all(params: @params)
|
28
37
|
end
|
29
38
|
|
39
|
+
def test_all_with_auth_key
|
40
|
+
response = mock_response_ok
|
41
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
42
|
+
.with(uri: @all_uri, params: @params, opts: @opts)
|
43
|
+
.returns(response)
|
44
|
+
assert_equal response, OneSignal::App.all(params: @params, opts: @opts)
|
45
|
+
end
|
46
|
+
|
30
47
|
def test_get
|
31
48
|
response = mock_response_ok
|
32
49
|
OneSignal::OneSignal.expects(:send_get_request)
|
33
|
-
.with(uri: @get_uri, params: nil)
|
50
|
+
.with(uri: @get_uri, params: nil, opts: @default_opts)
|
34
51
|
.returns(response)
|
35
52
|
assert_equal response, OneSignal::App.get(id: @app_id)
|
36
53
|
end
|
37
54
|
|
55
|
+
def test_get_with_auth_key
|
56
|
+
response = mock_response_ok
|
57
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
58
|
+
.with(uri: @get_uri, params: nil, opts: @opts)
|
59
|
+
.returns(response)
|
60
|
+
assert_equal response, OneSignal::App.get(id: @app_id, opts: @opts)
|
61
|
+
end
|
62
|
+
|
38
63
|
def test_create
|
39
64
|
response = mock_response_ok
|
40
65
|
OneSignal::OneSignal.expects(:send_post_request)
|
41
|
-
.with(uri: @create_uri, body: @params)
|
66
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
42
67
|
.returns(response)
|
43
68
|
assert_equal response, OneSignal::App.create(params: @params)
|
44
69
|
end
|
45
70
|
|
71
|
+
def test_create_with_auth_key
|
72
|
+
response = mock_response_ok
|
73
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
74
|
+
.with(uri: @create_uri, body: @params, opts: @opts)
|
75
|
+
.returns(response)
|
76
|
+
assert_equal response, OneSignal::App.create(params: @params, opts: @opts)
|
77
|
+
end
|
78
|
+
|
46
79
|
def test_update
|
47
80
|
response = mock_response_ok
|
48
81
|
OneSignal::OneSignal.expects(:send_put_request)
|
49
|
-
.with(uri: @update_uri, body: @params)
|
82
|
+
.with(uri: @update_uri, body: @params, opts: @default_opts)
|
50
83
|
.returns(response)
|
51
84
|
assert_equal response, OneSignal::App.update(id: @app_id, params: @params)
|
52
85
|
end
|
53
86
|
|
87
|
+
def test_update_with_auth_key
|
88
|
+
response = mock_response_ok
|
89
|
+
OneSignal::OneSignal.expects(:send_put_request)
|
90
|
+
.with(uri: @update_uri, body: @params, opts: @opts)
|
91
|
+
.returns(response)
|
92
|
+
assert_equal response, OneSignal::App.update(id: @app_id, params: @params, opts: @opts)
|
93
|
+
end
|
94
|
+
|
54
95
|
end
|
data/test/notification_test.rb
CHANGED
@@ -10,35 +10,63 @@ class NotificationTest < MiniTest::Test
|
|
10
10
|
@delete_uri = URI.parse(base_url + "/#{@notification_id}")
|
11
11
|
@all_uri = URI.parse(base_url)
|
12
12
|
@get_uri = URI.parse(base_url + "/#{@notification_id}")
|
13
|
+
@api_key = "fake api key 123"
|
14
|
+
@api_key_2 = "fake api key 456"
|
13
15
|
@params = {
|
14
16
|
foo: "bar",
|
15
17
|
widget: "acme"
|
16
18
|
}
|
17
|
-
@
|
19
|
+
@opts = {
|
20
|
+
key1: "value1",
|
21
|
+
key2: "vaue2",
|
22
|
+
auth_key: @api_key_2
|
23
|
+
}
|
24
|
+
@default_opts = {
|
25
|
+
auth_key: @api_key
|
26
|
+
}
|
18
27
|
OneSignal::OneSignal.api_key = @api_key
|
19
28
|
end
|
20
29
|
|
21
30
|
def test_all
|
22
31
|
response = mock_response_ok
|
23
32
|
OneSignal::OneSignal.expects(:send_get_request)
|
24
|
-
.with(uri: @all_uri, params: @params)
|
33
|
+
.with(uri: @all_uri, params: @params, opts: @default_opts)
|
25
34
|
.returns(response)
|
26
35
|
assert_equal response, OneSignal::Notification.all(params: @params)
|
27
36
|
end
|
28
37
|
|
38
|
+
def test_all_with_auth_key
|
39
|
+
response = mock_response_ok
|
40
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
41
|
+
.with(uri: @all_uri, params: @params, opts: @opts)
|
42
|
+
.returns(response)
|
43
|
+
assert_equal response, OneSignal::Notification.all(params: @params,
|
44
|
+
opts: @opts)
|
45
|
+
end
|
46
|
+
|
29
47
|
def test_get
|
30
48
|
response = mock_response_ok
|
31
49
|
OneSignal::OneSignal.expects(:send_get_request)
|
32
|
-
.with(uri: @get_uri, params: @params)
|
50
|
+
.with(uri: @get_uri, params: @params, opts: @default_opts)
|
33
51
|
.returns(response)
|
34
52
|
assert_equal response, OneSignal::Notification.get(id: @notification_id,
|
35
53
|
params: @params)
|
36
54
|
end
|
37
55
|
|
56
|
+
def test_get_with_auth_key
|
57
|
+
response = mock_response_ok
|
58
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
59
|
+
.with(uri: @get_uri, params: @params, opts: @opts)
|
60
|
+
.returns(response)
|
61
|
+
assert_equal response, OneSignal::Notification.get(id: @notification_id,
|
62
|
+
params: @params,
|
63
|
+
opts: @opts)
|
64
|
+
end
|
65
|
+
|
38
66
|
def test_create_raises_onesignal_error
|
39
67
|
response = mock_response_ko
|
40
68
|
OneSignal::OneSignal.expects(:send_post_request)
|
41
|
-
.with(uri: @create_uri, body: @params)
|
69
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
42
70
|
.returns(response)
|
43
71
|
assert_raises OneSignal::OneSignalError do
|
44
72
|
OneSignal::Notification.create(params: @params)
|
@@ -48,7 +76,7 @@ class NotificationTest < MiniTest::Test
|
|
48
76
|
def test_create_raises_no_recipients_error
|
49
77
|
response = mock_response_no_recipients
|
50
78
|
OneSignal::OneSignal.expects(:send_post_request)
|
51
|
-
.with(uri: @create_uri, body: @params)
|
79
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
52
80
|
.returns(response)
|
53
81
|
assert_raises OneSignal::NoRecipientsError do
|
54
82
|
OneSignal::Notification.create(params: @params)
|
@@ -58,27 +86,55 @@ class NotificationTest < MiniTest::Test
|
|
58
86
|
def test_create
|
59
87
|
response = mock_response_ok
|
60
88
|
OneSignal::OneSignal.expects(:send_post_request)
|
61
|
-
.with(uri: @create_uri, body: @params)
|
89
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
62
90
|
.returns(response)
|
63
91
|
assert_equal response, OneSignal::Notification.create(params: @params)
|
64
92
|
end
|
65
93
|
|
94
|
+
def test_create_with_auth_key
|
95
|
+
response = mock_response_ok
|
96
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
97
|
+
.with(uri: @create_uri, body: @params, opts: @opts)
|
98
|
+
.returns(response)
|
99
|
+
assert_equal response, OneSignal::Notification.create(params: @params, opts: @opts)
|
100
|
+
end
|
101
|
+
|
66
102
|
def test_update
|
67
103
|
response = mock_response_ok
|
68
104
|
OneSignal::OneSignal.expects(:send_put_request)
|
69
|
-
.with(uri: @update_uri, body: @params)
|
105
|
+
.with(uri: @update_uri, body: @params, opts: @default_opts)
|
70
106
|
.returns(response)
|
71
107
|
assert_equal response, OneSignal::Notification.update(id: @notification_id,
|
72
108
|
params: @params)
|
73
109
|
end
|
74
110
|
|
111
|
+
def test_update_with_auth_key
|
112
|
+
response = mock_response_ok
|
113
|
+
OneSignal::OneSignal.expects(:send_put_request)
|
114
|
+
.with(uri: @update_uri, body: @params, opts: @opts)
|
115
|
+
.returns(response)
|
116
|
+
assert_equal response, OneSignal::Notification.update(id: @notification_id,
|
117
|
+
params: @params,
|
118
|
+
opts: @opts)
|
119
|
+
end
|
120
|
+
|
75
121
|
def test_delete
|
76
122
|
response = mock_response_ok
|
77
123
|
OneSignal::OneSignal.expects(:send_delete_request)
|
78
|
-
.with(uri: @delete_uri, params: @params)
|
124
|
+
.with(uri: @delete_uri, params: @params, opts: @default_opts)
|
79
125
|
.returns(response)
|
80
126
|
assert_equal response, OneSignal::Notification.delete(id: @notification_id,
|
81
127
|
params: @params)
|
82
128
|
end
|
83
129
|
|
130
|
+
def test_delete_with_auth_key
|
131
|
+
response = mock_response_ok
|
132
|
+
OneSignal::OneSignal.expects(:send_delete_request)
|
133
|
+
.with(uri: @delete_uri, params: @params, opts: @opts)
|
134
|
+
.returns(response)
|
135
|
+
assert_equal response, OneSignal::Notification.delete(id: @notification_id,
|
136
|
+
params: @params,
|
137
|
+
opts: @opts)
|
138
|
+
end
|
139
|
+
|
84
140
|
end
|
data/test/one_signal_test.rb
CHANGED
@@ -6,6 +6,7 @@ class OneSignalTest < MiniTest::Test
|
|
6
6
|
@api_key = "fake_api_123"
|
7
7
|
@body = "fake body"
|
8
8
|
@params = {foo: 'bar', widget: 'acme'}
|
9
|
+
@opts = {auth_key: @api_key}
|
9
10
|
@uri = URI.parse("https://www.example.com/foo/bar")
|
10
11
|
@default_timeout = 30
|
11
12
|
end
|
@@ -16,11 +17,11 @@ class OneSignalTest < MiniTest::Test
|
|
16
17
|
OneSignal::OneSignal.read_timeout = @default_timeout
|
17
18
|
end
|
18
19
|
|
19
|
-
def build_mock_request(body: nil)
|
20
|
+
def build_mock_request(body: nil, auth_key: nil)
|
20
21
|
request = mock()
|
21
22
|
request.expects(:body=).with(body.to_json) unless body.nil?
|
22
23
|
request.expects(:add_field).with("Content-Type", "application/json")
|
23
|
-
request.expects(:add_field).with("Authorization", "Basic #{
|
24
|
+
request.expects(:add_field).with("Authorization", "Basic #{auth_key}")
|
24
25
|
return request
|
25
26
|
end
|
26
27
|
|
@@ -67,7 +68,7 @@ class OneSignalTest < MiniTest::Test
|
|
67
68
|
|
68
69
|
def test_send_post_request
|
69
70
|
# test request creation
|
70
|
-
request = build_mock_request(body: @body)
|
71
|
+
request = build_mock_request(body: @body, auth_key: @api_key)
|
71
72
|
Net::HTTP::Post.expects(:new).with(@uri.request_uri).returns(request)
|
72
73
|
|
73
74
|
# test http object creation
|
@@ -78,8 +79,9 @@ class OneSignalTest < MiniTest::Test
|
|
78
79
|
response = mock()
|
79
80
|
http.expects(:request).with(request).returns(response)
|
80
81
|
|
81
|
-
OneSignal::OneSignal.
|
82
|
-
|
82
|
+
assert_equal response, OneSignal::OneSignal.send_post_request(uri: @uri,
|
83
|
+
body: @body,
|
84
|
+
opts: @opts)
|
83
85
|
end
|
84
86
|
|
85
87
|
def test_send_delete_request
|
@@ -87,7 +89,7 @@ class OneSignalTest < MiniTest::Test
|
|
87
89
|
expected_uri.query = URI.encode_www_form(@params)
|
88
90
|
|
89
91
|
# test request creation
|
90
|
-
request = build_mock_request
|
92
|
+
request = build_mock_request(auth_key: @api_key)
|
91
93
|
Net::HTTP::Delete.expects(:new).with(expected_uri.request_uri).returns(request)
|
92
94
|
|
93
95
|
# test http object creation
|
@@ -98,14 +100,14 @@ class OneSignalTest < MiniTest::Test
|
|
98
100
|
response = mock()
|
99
101
|
http.expects(:request).with(request).returns(response)
|
100
102
|
|
101
|
-
OneSignal::OneSignal.api_key = @api_key
|
102
103
|
assert_equal response, OneSignal::OneSignal.send_delete_request(uri: @uri,
|
103
|
-
|
104
|
+
params: @params,
|
105
|
+
opts: @opts)
|
104
106
|
end
|
105
107
|
|
106
108
|
def test_send_put_request
|
107
109
|
# test request creation
|
108
|
-
request = build_mock_request(body: @body)
|
110
|
+
request = build_mock_request(body: @body, auth_key: @api_key)
|
109
111
|
Net::HTTP::Put.expects(:new).with(@uri.request_uri).returns(request)
|
110
112
|
|
111
113
|
# test http object creation
|
@@ -116,8 +118,9 @@ class OneSignalTest < MiniTest::Test
|
|
116
118
|
response = mock()
|
117
119
|
http.expects(:request).with(request).returns(response)
|
118
120
|
|
119
|
-
OneSignal::OneSignal.
|
120
|
-
|
121
|
+
assert_equal response, OneSignal::OneSignal.send_put_request(uri: @uri,
|
122
|
+
body: @body,
|
123
|
+
opts: @opts)
|
121
124
|
end
|
122
125
|
|
123
126
|
def test_send_get_request
|
@@ -125,7 +128,7 @@ class OneSignalTest < MiniTest::Test
|
|
125
128
|
expected_uri.query = URI.encode_www_form(@params)
|
126
129
|
|
127
130
|
# test request creation
|
128
|
-
request = build_mock_request
|
131
|
+
request = build_mock_request(auth_key: @api_key)
|
129
132
|
Net::HTTP::Get.expects(:new).with(expected_uri.request_uri).returns(request)
|
130
133
|
|
131
134
|
# test http object creation
|
@@ -136,9 +139,9 @@ class OneSignalTest < MiniTest::Test
|
|
136
139
|
response = mock()
|
137
140
|
http.expects(:request).with(request).returns(response)
|
138
141
|
|
139
|
-
OneSignal::OneSignal.api_key = @api_key
|
140
142
|
assert_equal response, OneSignal::OneSignal.send_get_request(uri: @uri,
|
141
|
-
params: @params
|
143
|
+
params: @params,
|
144
|
+
opts: @opts)
|
142
145
|
end
|
143
146
|
|
144
147
|
end
|
data/test/player_test.rb
CHANGED
@@ -18,14 +18,23 @@ class PlayerTest < MiniTest::Test
|
|
18
18
|
foo: "bar",
|
19
19
|
widget: "acme"
|
20
20
|
}
|
21
|
-
@api_key = "fake api key"
|
21
|
+
@api_key = "fake api key 123"
|
22
|
+
@api_key_2 = "fake api key 456"
|
23
|
+
@opts = {
|
24
|
+
key1: "value1",
|
25
|
+
key2: "vaue2",
|
26
|
+
auth_key: @api_key_2
|
27
|
+
}
|
28
|
+
@default_opts = {
|
29
|
+
auth_key: @api_key
|
30
|
+
}
|
22
31
|
OneSignal::OneSignal.api_key = @api_key
|
23
32
|
end
|
24
33
|
|
25
34
|
def test_create_raises_error
|
26
35
|
response = mock_response_ko
|
27
36
|
OneSignal::OneSignal.expects(:send_post_request)
|
28
|
-
.with(uri: @create_uri, body: @params)
|
37
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
29
38
|
.returns(response)
|
30
39
|
assert_raises OneSignal::OneSignalError do
|
31
40
|
OneSignal::Player.create(params: @params)
|
@@ -35,39 +44,71 @@ class PlayerTest < MiniTest::Test
|
|
35
44
|
def test_csv_export
|
36
45
|
response = mock_response_ok
|
37
46
|
OneSignal::OneSignal.expects(:send_post_request)
|
38
|
-
.with(uri: @csv_export_uri, body: @params)
|
47
|
+
.with(uri: @csv_export_uri, body: @params, opts: @default_opts)
|
39
48
|
.returns(response)
|
40
49
|
assert_equal response, OneSignal::Player.csv_export(params: @params)
|
41
50
|
end
|
42
51
|
|
52
|
+
def test_csv_export_with_auth_key
|
53
|
+
response = mock_response_ok
|
54
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
55
|
+
.with(uri: @csv_export_uri, body: @params, opts: @opts)
|
56
|
+
.returns(response)
|
57
|
+
assert_equal response, OneSignal::Player.csv_export(params: @params, opts: @opts)
|
58
|
+
end
|
59
|
+
|
43
60
|
def test_all
|
44
61
|
response = mock_response_ok
|
45
62
|
OneSignal::OneSignal.expects(:send_get_request)
|
46
|
-
.with(uri: @all_uri, params: @params)
|
63
|
+
.with(uri: @all_uri, params: @params, opts: @default_opts)
|
47
64
|
.returns(response)
|
48
65
|
assert_equal response, OneSignal::Player.all(params: @params)
|
49
66
|
end
|
50
67
|
|
68
|
+
def test_all_with_auth_key
|
69
|
+
response = mock_response_ok
|
70
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
71
|
+
.with(uri: @all_uri, params: @params, opts: @opts)
|
72
|
+
.returns(response)
|
73
|
+
assert_equal response, OneSignal::Player.all(params: @params, opts: @opts)
|
74
|
+
end
|
75
|
+
|
51
76
|
def test_get
|
52
77
|
response = mock_response_ok
|
53
78
|
OneSignal::OneSignal.expects(:send_get_request)
|
54
|
-
.with(uri: @get_uri, params: nil)
|
79
|
+
.with(uri: @get_uri, params: nil, opts: @default_opts)
|
55
80
|
.returns(response)
|
56
81
|
assert_equal response, OneSignal::Player.get(id: @player_id)
|
57
82
|
end
|
58
83
|
|
84
|
+
def test_get_with_auth_key
|
85
|
+
response = mock_response_ok
|
86
|
+
OneSignal::OneSignal.expects(:send_get_request)
|
87
|
+
.with(uri: @get_uri, params: nil, opts: @opts)
|
88
|
+
.returns(response)
|
89
|
+
assert_equal response, OneSignal::Player.get(id: @player_id, opts: @opts)
|
90
|
+
end
|
91
|
+
|
59
92
|
def test_create
|
60
93
|
response = mock_response_ok
|
61
94
|
OneSignal::OneSignal.expects(:send_post_request)
|
62
|
-
.with(uri: @create_uri, body: @params)
|
95
|
+
.with(uri: @create_uri, body: @params, opts: @default_opts)
|
63
96
|
.returns(response)
|
64
97
|
assert_equal response, OneSignal::Player.create(params: @params)
|
65
98
|
end
|
66
99
|
|
100
|
+
def test_create_with_auth_key
|
101
|
+
response = mock_response_ok
|
102
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
103
|
+
.with(uri: @create_uri, body: @params, opts: @opts)
|
104
|
+
.returns(response)
|
105
|
+
assert_equal response, OneSignal::Player.create(params: @params, opts: @opts)
|
106
|
+
end
|
107
|
+
|
67
108
|
def test_update_raises_error
|
68
109
|
response = mock_response_ko
|
69
110
|
OneSignal::OneSignal.expects(:send_put_request)
|
70
|
-
.with(uri: @update_uri, body: @params)
|
111
|
+
.with(uri: @update_uri, body: @params, opts: @default_opts)
|
71
112
|
.returns(response)
|
72
113
|
assert_raises OneSignal::OneSignalError do
|
73
114
|
OneSignal::Player.update(id: @player_id, params: @params)
|
@@ -77,36 +118,80 @@ class PlayerTest < MiniTest::Test
|
|
77
118
|
def test_update
|
78
119
|
response = mock_response_ok
|
79
120
|
OneSignal::OneSignal.expects(:send_put_request)
|
80
|
-
.with(uri: @update_uri, body: @params)
|
121
|
+
.with(uri: @update_uri, body: @params, opts: @default_opts)
|
81
122
|
.returns(response)
|
82
123
|
assert_equal response, OneSignal::Player.update(id: @player_id, params: @params)
|
83
124
|
end
|
84
125
|
|
126
|
+
def test_update_with_auth_key
|
127
|
+
response = mock_response_ok
|
128
|
+
OneSignal::OneSignal.expects(:send_put_request)
|
129
|
+
.with(uri: @update_uri, body: @params, opts: @opts)
|
130
|
+
.returns(response)
|
131
|
+
assert_equal response, OneSignal::Player.update(id: @player_id,
|
132
|
+
params: @params,
|
133
|
+
opts: @opts)
|
134
|
+
end
|
135
|
+
|
85
136
|
def test_create_session
|
86
137
|
response = mock_response_ok
|
87
138
|
OneSignal::OneSignal.expects(:send_post_request)
|
88
|
-
.with(uri: @create_session_uri, body: @params)
|
139
|
+
.with(uri: @create_session_uri, body: @params, opts: @default_opts)
|
89
140
|
.returns(response)
|
90
141
|
assert_equal response, OneSignal::Player.create_session(id: @player_id,
|
91
142
|
params: @params)
|
92
143
|
end
|
93
144
|
|
145
|
+
def test_create_session_with_auth_key
|
146
|
+
response = mock_response_ok
|
147
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
148
|
+
.with(uri: @create_session_uri, body: @params, opts: @opts)
|
149
|
+
.returns(response)
|
150
|
+
assert_equal response, OneSignal::Player.create_session(id: @player_id,
|
151
|
+
params: @params,
|
152
|
+
opts: @opts)
|
153
|
+
end
|
154
|
+
|
94
155
|
def test_create_purchase
|
95
156
|
response = mock_response_ok
|
96
157
|
OneSignal::OneSignal.expects(:send_post_request)
|
97
|
-
.with(uri: @create_purchase_uri,
|
158
|
+
.with(uri: @create_purchase_uri,
|
159
|
+
body: @params,
|
160
|
+
opts: @default_opts)
|
98
161
|
.returns(response)
|
99
162
|
assert_equal response, OneSignal::Player.create_purchase(id: @player_id,
|
100
163
|
params: @params)
|
101
164
|
end
|
102
165
|
|
166
|
+
def test_create_purchase_with_auth_key
|
167
|
+
response = mock_response_ok
|
168
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
169
|
+
.with(uri: @create_purchase_uri,
|
170
|
+
body: @params,
|
171
|
+
opts: @opts)
|
172
|
+
.returns(response)
|
173
|
+
assert_equal response, OneSignal::Player.create_purchase(id: @player_id,
|
174
|
+
params: @params,
|
175
|
+
opts: @opts)
|
176
|
+
end
|
177
|
+
|
103
178
|
def test_create_focus
|
104
179
|
response = mock_response_ok
|
105
180
|
OneSignal::OneSignal.expects(:send_post_request)
|
106
|
-
.with(uri: @create_focus_uri, body: @params)
|
181
|
+
.with(uri: @create_focus_uri, body: @params, opts: @default_opts)
|
107
182
|
.returns(response)
|
108
183
|
assert_equal response, OneSignal::Player.create_focus(id: @player_id,
|
109
184
|
params: @params)
|
110
185
|
end
|
111
186
|
|
187
|
+
def test_create_focus_with_auth_key
|
188
|
+
response = mock_response_ok
|
189
|
+
OneSignal::OneSignal.expects(:send_post_request)
|
190
|
+
.with(uri: @create_focus_uri, body: @params, opts: @opts)
|
191
|
+
.returns(response)
|
192
|
+
assert_equal response, OneSignal::Player.create_focus(id: @player_id,
|
193
|
+
params: @params,
|
194
|
+
opts: @opts)
|
195
|
+
end
|
196
|
+
|
112
197
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: one_signal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Balthazar
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-04-
|
11
|
+
date: 2016-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|