igetui-ruby-nolock 1.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,128 @@
1
+ require 'minitest/autorun'
2
+ require './lib/igetui'
3
+
4
+ class PusherTest < MiniTest::Unit::TestCase
5
+
6
+ # before run test, you need to change the variables in setup method.
7
+ def setup
8
+ @app_id = 'YOUR APP ID'
9
+ @app_key = 'YOUR APP KEY'
10
+ @master_secret = 'YOUR MASTER SECRET'
11
+ @cid_1 = 'CLIENT ID ONE'
12
+ @cid_2 = 'CLIENT ID TWO'
13
+
14
+ @pusher = IGeTui.pusher(@app_id, @app_key, @master_secret)
15
+ @client_1 = IGeTui::Client.new(@cid_1)
16
+ @client_2 = IGeTui::Client.new(@cid_2)
17
+ end
18
+
19
+ def test_status
20
+ ret = @pusher.get_client_id_status(@cid_1)
21
+ assert_equal ret["result"], "Online"
22
+ end
23
+
24
+ def test_to_single_noty_pop_load
25
+ single_message = IGeTui::SingleMessage.new
26
+ single_message.data = noty_pop_load_template
27
+ ret = @pusher.push_message_to_single(single_message, @client_1)
28
+ assert_equal ret["result"], "ok"
29
+ end
30
+
31
+ def test_to_single_notification
32
+ single_message = IGeTui::SingleMessage.new
33
+ single_message.data = notification_template
34
+ ret = @pusher.push_message_to_single(single_message, @client_1)
35
+ assert_equal ret["result"], "ok"
36
+ end
37
+
38
+ def test_to_single_link_notification
39
+ single_message = IGeTui::SingleMessage.new
40
+ single_message.data = link_template
41
+ ret = @pusher.push_message_to_single(single_message, @client_1)
42
+ assert_equal ret["result"], "ok"
43
+ end
44
+
45
+ def test_to_single_transmission
46
+ single_message = IGeTui::SingleMessage.new
47
+ single_message.data = transmission_template
48
+ ret = @pusher.push_message_to_single(single_message, @client_1)
49
+ assert_equal ret["result"], "ok"
50
+ end
51
+
52
+ def test_to_list_transmission
53
+ list_message = IGeTui::ListMessage.new
54
+ list_message.data = transmission_template
55
+ client_list = [@client_1, @client_2]
56
+ content_id = @pusher.get_content_id(list_message)
57
+ ret = @pusher.push_message_to_list(content_id, client_list)
58
+ assert_equal ret["result"], "ok"
59
+ end
60
+
61
+ def test_to_app_notification
62
+ app_message = IGeTui::AppMessage.new
63
+ app_message.data = notification_template
64
+ app_message.app_id_list = [@app_id]
65
+ # app_message.province_list = ['浙江', '上海']
66
+ # app_message.tag_list = ['开心']
67
+ ret = @pusher.push_message_to_app(app_message)
68
+ assert_equal ret["result"], "ok"
69
+ end
70
+
71
+ private
72
+
73
+ def set_template_base_info(template)
74
+ template.logo = 'push.png'
75
+ template.logo_url = 'http://www.igetui.com/wp-content/uploads/2013/08/logo_getui1.png'
76
+ template.title = '测试标题'
77
+ template.text = '测试文本'
78
+ end
79
+
80
+ def link_template
81
+ template = IGeTui::LinkTemplate.new
82
+ set_template_base_info(template)
83
+ template.url = "http://www.baidu.com"
84
+ template.set_push_info("open", 4, "message", "")
85
+ template
86
+ end
87
+
88
+ def notification_template
89
+ template = IGeTui::NotificationTemplate.new
90
+ set_template_base_info(template)
91
+ template.set_push_info("open", 4, "message", "")
92
+ template
93
+ end
94
+
95
+ def transmission_template
96
+ template = IGeTui::TransmissionTemplate.new
97
+ # Notice: content should be string.
98
+ content = {
99
+ "action" => "notification",
100
+ "title" => "标题aaa",
101
+ "content" => "内容",
102
+ "type" => "Article",
103
+ "id" => "1234"
104
+ }
105
+
106
+ content = content.to_s.gsub(":", "").gsub("=>", ":")
107
+ template.transmission_content = content
108
+ puts template.transmission_content
109
+ template.set_push_info("test", 1, "test1", "")
110
+ template
111
+ end
112
+
113
+ # attr_accessor :load_icon, :load_title, :load_url
114
+ def noty_pop_load_template
115
+ template = IGeTui::NotyPopLoadTemplate.new
116
+ set_template_base_info(template)
117
+ template.pop_title = "弹框标题"
118
+ template.pop_text = "弹框内容"
119
+ template.pop_image = ""
120
+ template.pop_button_1 = "下载"
121
+ template.pop_button_2 = "取消"
122
+ template.load_icon = "file://icon.png"
123
+ template.load_title = "下载内容"
124
+ template.load_url = "http://gdown.baidu.com/data/wisegame/c95836e06c224f51/weixinxinqing_5.apk"
125
+ template
126
+ end
127
+
128
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: igetui-ruby-nolock
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.2.2
5
+ platform: ruby
6
+ authors:
7
+ - yone hsiung
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-06-21 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: ruby-sdk of igetui.com push notification service
14
+ email:
15
+ - 'QQ: 171842474'
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files:
19
+ - README.md
20
+ files:
21
+ - ".gitignore"
22
+ - Gemfile
23
+ - LICENSE
24
+ - LICENSE.txt
25
+ - README.md
26
+ - Rakefile
27
+ - igetui-ruby.gemspec
28
+ - lib/igetui.rb
29
+ - lib/igetui/client.rb
30
+ - lib/igetui/message.rb
31
+ - lib/igetui/pusher.rb
32
+ - lib/igetui/template.rb
33
+ - lib/igetui/template/base_template.rb
34
+ - lib/igetui/template/link_template.rb
35
+ - lib/igetui/template/notification_template.rb
36
+ - lib/igetui/template/noty_pop_load_template.rb
37
+ - lib/igetui/template/transmission_template.rb
38
+ - lib/igetui/validate.rb
39
+ - lib/igetui/version.rb
40
+ - lib/igetui_ruby.rb
41
+ - lib/protobuf/GtReq.pb.rb
42
+ - test/pusher_test.rb
43
+ homepage: https://github.com/YoneHsiung/igetui-ruby.git
44
+ licenses:
45
+ - MIT
46
+ metadata: {}
47
+ post_install_message:
48
+ rdoc_options: []
49
+ require_paths:
50
+ - lib
51
+ required_ruby_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ required_rubygems_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ requirements: []
62
+ rubyforge_project:
63
+ rubygems_version: 2.5.2
64
+ signing_key:
65
+ specification_version: 4
66
+ summary: igetui.com ruby sdk
67
+ test_files:
68
+ - test/pusher_test.rb