valdemaximus-conduit 1.0.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.1.0
@@ -19,17 +19,45 @@ module ValdeMaximus
19
19
  send('/phone_numbers', 'phone_number[]' => phone_numbers, :lazy => lazy.to_s)
20
20
  end
21
21
 
22
+ def status_of_phone_numbers(phone_numbers, date=nil)
23
+ get('/phone_numbers', {'phone_number[]' => phone_numbers, :date => date})
24
+ end
25
+
22
26
  private
27
+ def get(path, params={})
28
+ @http = Net::HTTP.new(@domain, @port)
29
+ @http.use_ssl = false
30
+
31
+ data = convert_hash_to_data(params)
32
+
33
+ @headers = {
34
+ 'Content-Type' => ValdeMaximus::UriUtil::CONTENT_TYPE
35
+ }
36
+
37
+ resp, data = @http.get2(path+"#{@format}?#{data}", @headers)
38
+ if @format == '.yml'
39
+ [resp, YAML::load(data)]
40
+ else
41
+ [resp, data]
42
+ end
43
+ end
44
+
23
45
  def send(path, params={})
24
46
  @http ||= Net::HTTP.new(@domain, @port)
25
47
  @http.use_ssl = false
26
48
 
27
- data = ValdeMaximus::UriUtil.to_url_param({:user_credentials => @creds}.merge(params))
49
+ data = convert_hash_to_data(params)
50
+
28
51
  @headers = {
29
52
  'Content-Type' => ValdeMaximus::UriUtil::CONTENT_TYPE
30
53
  }
31
54
 
32
55
  resp, data = @http.post2(path + @format, data, @headers)
56
+ if @format == '.yml'
57
+ [resp, YAML::load(data)]
58
+ else
59
+ [resp, data]
60
+ end
33
61
  end
34
62
 
35
63
  def assign_properties(p)
@@ -38,14 +66,22 @@ module ValdeMaximus
38
66
  @creds = p[:creds] unless p[:creds].nil?
39
67
  @format = ".#{p[:format].nil? ? "yml" : p[:format]}"
40
68
  end
69
+
70
+
71
+ def convert_hash_to_data(params)
72
+ params = {:user_credentials => @creds}.merge(params)
73
+ params.delete_if{|key, value| value.nil?}
74
+ data = ValdeMaximus::UriUtil.to_url_param(params)
75
+ end
41
76
  end
42
77
  end
43
78
 
44
79
  if __FILE__ == $0
45
80
  c = ValdeMaximus::Conduit.new(:format => 'yml', :domain => 'localhost', :port => 3000, :creds => 'f_Le6kzsCJi5tNP7rFpQ')
46
- res = c.send_message('hello world 12',
47
- ['8016946634, Tom Johnson',
48
- '8016946632, Little T Johnson',
49
- '8016946633, Big T Johnson'])
50
- puts res
81
+ c.status_of_phone_numbers(['8016946632', '8016025388'])
82
+ # res = c.send_message('hello world 12',
83
+ # ['8016946634, Tom Johnson',
84
+ # '8016946632, Little T Johnson',
85
+ # '8016946633, Big T Johnson'])
86
+ # puts res
51
87
  end
data/test/tc_conduit.rb CHANGED
@@ -4,16 +4,37 @@ require 'valdemaximus-conduit'
4
4
 
5
5
  class TestValdeMaximusConduit < Test::Unit::TestCase
6
6
  def test_message_with_phone_numbers
7
- c = ValdeMaximus::Conduit.new(:format => 'plain', :domain => 'localhost', :port => 3000, :creds => 'rQMX3kaae9CBtdNWp7U9')
8
- res = c.send_message('hello world 2',
9
- ['8016946632'])
10
- assert_equal('SUCCESS', res[1])
7
+ c = ValdeMaximus::Conduit.new(:format => 'yml', :domain => 'localhost', :port => 3000, :creds => 'rQMX3kaae9CBtdNWp7U9')
8
+ res, data = c.send_message('hello world 2', ['8016946632'])
9
+ assert_equal(200, data[:code])
10
+ assert_equal('SUCCESS', data[:message])
11
+
12
+ res, data = c.send_message('hello world 3', ['18016946632'])
13
+ assert_equal(200, data[:code])
14
+ assert_equal('SUCCESS', data[:message])
15
+
16
+ res, data = c.send_message('hello world 4', ['80169466323'])
17
+ assert_equal(400, data[:code])
18
+ assert_equal('FAILURE', data[:message])
19
+
20
+ res, data = c.send_message('hello world 5', ['180169466323'])
21
+ assert_equal(400, data[:code])
22
+ assert_equal('FAILURE', data[:message])
11
23
  end
12
24
 
13
25
  def test_create_phone_numbers
14
- c = ValdeMaximus::Conduit.new(:format => 'plain', :domain => 'localhost', :port => 3000, :creds => 'rQMX3kaae9CBtdNWp7U9')
15
- res = c.add_phone_numbers(['8016946632', '8016025388'])
16
- assert_equal('SUCCESS', res[1])
26
+ c = ValdeMaximus::Conduit.new(:format => 'yml', :domain => 'localhost', :port => 3000, :creds => 'rQMX3kaae9CBtdNWp7U9')
27
+
28
+ res, data = c.add_phone_numbers(['8016946632', '8016025388'])
29
+ assert_equal(202, data[:code])
30
+ assert_equal('ACCEPTED', data[:message])
31
+
32
+ res, data = c.add_phone_numbers(['8016946632', '18016025388'])
33
+ assert_equal(400, data[:code])
34
+ assert_equal('FAILURE', data[:message])
35
+
36
+ res, data = c.add_phone_numbers(['18016946632', '8016025388'])
37
+ assert_equal('FAILURE', data[:message])
17
38
  end
18
39
 
19
40
  # def test_message_with_node_id
@@ -30,4 +51,32 @@ class TestValdeMaximusConduit < Test::Unit::TestCase
30
51
  # '8016946633, Michael'], 1000000)
31
52
  # assert_equal('FAILURE', res[1])
32
53
  # end
54
+
55
+ def test_status_of_phone_numbers
56
+ c = ValdeMaximus::Conduit.new(:format => 'yml', :domain => 'localhost', :port => 3000, :creds => 'rQMX3kaae9CBtdNWp7U9')
57
+
58
+ res, data = c.status_of_phone_numbers(['6669990003', '6669990002'])
59
+ assert_equal(409, data[:code])
60
+ assert_equal('CONFLICT', data[:message])
61
+
62
+ res, data = c.add_phone_numbers(['6669990001'])
63
+
64
+ res, data = c.status_of_phone_numbers(['6669990001', '6669990003'])
65
+ assert_equal(409, data[:code])
66
+ assert_equal('CONFLICT', data[:message])
67
+
68
+ res, data = c.status_of_phone_numbers(['66699900011', '6669990002'])
69
+ assert_equal(400, data[:code])
70
+ assert_equal('FAILURE', data[:message])
71
+
72
+ res, data = c.add_phone_numbers(['6669990001', '6669990002'])
73
+
74
+ res, data = c.status_of_phone_numbers(['6669990001', '6669990002'])
75
+ assert_equal(206, data[:code])
76
+ assert_equal('PARTIAL', data[:message])
77
+
78
+ res, data = c.status_of_phone_numbers(['8016946632', '8016025388'])
79
+ assert_equal(200, data[:code])
80
+ assert_equal('SUCCESS', data[:message])
81
+ end
33
82
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{valdemaximus-conduit}
8
- s.version = "1.0.0"
8
+ s.version = "1.1.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Tom Johnson"]
12
- s.date = %q{2010-01-23}
12
+ s.date = %q{2010-02-03}
13
13
  s.description = %q{A Library to programmatically interface with portal}
14
14
  s.email = %q{valde.maximus@gmail.com}
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valdemaximus-conduit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Johnson
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-23 00:00:00 -07:00
12
+ date: 2010-02-03 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency