oneapi-ruby 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,3 @@
1
+ module OneApi
2
+ VERSION = "1.0.0"
3
+ end
@@ -0,0 +1,23 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'oneapi-ruby/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "oneapi-ruby"
8
+ spec.version = OneApi::VERSION
9
+ spec.authors = ["Tomo Krajina"]
10
+ spec.email = ["tkrajina@gmail.com"]
11
+ spec.description = %q{OneApi Ruby client}
12
+ spec.summary = %q{OneApi Ruby client}
13
+ spec.homepage = "https://github.com/infobip/oneapi-ruby"
14
+ spec.license = "Apache"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.3"
22
+ spec.add_development_dependency "rake"
23
+ end
data/test/test.rb ADDED
@@ -0,0 +1,69 @@
1
+ require 'minitest/autorun'
2
+ require 'oneapi/client'
3
+
4
+ class OneApiTest < MiniTest::Unit::TestCase
5
+
6
+ def test_empty
7
+ assert_equal OneApi::Utils.empty(0), true
8
+ assert_equal OneApi::Utils.empty(1), false
9
+ assert_equal OneApi::Utils.empty('aaa'), false
10
+ assert_equal OneApi::Utils.empty(0.0), true
11
+ assert_equal OneApi::Utils.empty([]), true
12
+ assert_equal OneApi::Utils.empty([1]), false
13
+ assert_equal OneApi::Utils.empty({}), true
14
+ assert_equal OneApi::Utils.empty({'a' => 1}), false
15
+ assert_equal OneApi::Utils.empty(''), true
16
+ end
17
+
18
+ def test_json_get
19
+ json = '{"requestError":{"serviceException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":[""]},"policyException":null}}'
20
+ request_error = OneApi::JSONUtils.get(json, 'requestError.serviceException.text')
21
+ assert_equal('Request URI missing required component(s): ', request_error)
22
+ end
23
+
24
+ def test_json_get_hash_result
25
+ json = '{"requestError":{"serviceException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":[""]},"policyException":null}}'
26
+ value = OneApi::JSONUtils.get(json, 'requestError.serviceException')
27
+ puts value.inspect
28
+ assert_equal(value, {"messageId"=>"SVC0002", "variables"=>[""], "text"=>"Request URI missing required component(s): "})
29
+ end
30
+
31
+ def test_json_get_array_in_path
32
+ json = '{"requestError":{"serviceException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":["abc", "cde"]},"policyException":null}}'
33
+ value = OneApi::JSONUtils.get(json, 'requestError.serviceException.variables.1')
34
+ assert_equal(value, "cde")
35
+ end
36
+
37
+ def test_json_get_with_or_paths
38
+ json = '{"requestError":{"serviceException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":["abc", "cde"]},"policyException":null}}'
39
+ value = OneApi::JSONUtils.get(json, 'requestError.serviceException.messageId | requestError.policyException.messageId')
40
+ assert_equal(value, "SVC0002")
41
+
42
+ json = '{"requestError":{"policyException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":["abc", "cde"]},"serviceException":null}}'
43
+ value = OneApi::JSONUtils.get(json, 'requestError.serviceException.messageId | requestError.policyException.messageId')
44
+ assert_equal(value, "SVC0002")
45
+ end
46
+
47
+ def test_exception_serialization
48
+ json = '{"requestError":{"serviceException":{"text":"Request URI missing required component(s): ","messageId":"SVC0002","variables":[""]},"policyException":null}}'
49
+
50
+ sms_exception = OneApi::Conversions.from_json(OneApi::OneApiError, json, nil)
51
+
52
+ assert(sms_exception)
53
+ assert_equal(sms_exception.message_id, 'SVC0002')
54
+ assert_equal(sms_exception.text, 'Request URI missing required component(s): ')
55
+ end
56
+
57
+ def test_exception_object_array
58
+ json = '{"deliveryInfoList":{"deliveryInfo":[{"address":null,"deliveryStatus":"DeliveryUncertain1"},{"address":null,"deliveryStatus":"DeliveryUncertain2"}],"resourceURL":"http://oneapi.infobip.com/1/smsmessaging/outbound/TODO/requests/28drx7ypaqr/deliveryInfos"}}'
59
+
60
+ object = OneApi::Conversions.from_json(OneApi::DeliveryInfoList, json, nil)
61
+
62
+ assert(object)
63
+ assert(object.delivery_info)
64
+ assert_equal(2, object.delivery_info.length)
65
+ assert_equal("DeliveryUncertain1", object.delivery_info[0].delivery_status)
66
+ assert_equal("DeliveryUncertain2", object.delivery_info[1].delivery_status)
67
+ end
68
+
69
+ end
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oneapi-ruby
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Tomo Krajina
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-04 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: OneApi Ruby client
42
+ email:
43
+ - tkrajina@gmail.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - .gitignore
49
+ - Gemfile
50
+ - LICENSE.txt
51
+ - README.md
52
+ - Rakefile
53
+ - examples/example_customer_profile.rb
54
+ - examples/example_get_hlr.rb
55
+ - examples/example_get_inbound_messages.rb
56
+ - examples/example_on_inbound_message.rb
57
+ - examples/example_send_hlr_and_wait_for_delivery_push.rb
58
+ - examples/example_send_message_and_check_delivery_status.rb
59
+ - examples/example_send_message_and_wait_for_delivery_push.rb
60
+ - lib/oneapi-ruby.rb
61
+ - lib/oneapi-ruby/client.rb
62
+ - lib/oneapi-ruby/models.rb
63
+ - lib/oneapi-ruby/objects.rb
64
+ - lib/oneapi-ruby/utils.rb
65
+ - lib/oneapi-ruby/version.rb
66
+ - oneapi-ruby.gemspec
67
+ - test/test.rb
68
+ homepage: https://github.com/infobip/oneapi-ruby
69
+ licenses:
70
+ - Apache
71
+ metadata: {}
72
+ post_install_message:
73
+ rdoc_options: []
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ required_rubygems_version: !ruby/object:Gem::Requirement
82
+ requirements:
83
+ - - '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ requirements: []
87
+ rubyforge_project:
88
+ rubygems_version: 2.0.3
89
+ signing_key:
90
+ specification_version: 4
91
+ summary: OneApi Ruby client
92
+ test_files:
93
+ - test/test.rb