bronto 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,80 @@
1
+ require 'test_helper'
2
+
3
+ class FieldTest < Test::Unit::TestCase
4
+ context "" do
5
+ setup do
6
+ @field = Bronto::Field.new(name: "test_field", label: "Test Field", type: "text", visibility: "private")
7
+ end
8
+
9
+ teardown do
10
+ reset_all
11
+ end
12
+
13
+ should "create a new field" do
14
+ assert_equal nil, @field.id
15
+
16
+ @field.save
17
+
18
+ assert_not_nil @field.id
19
+ assert_equal 0, @field.errors.count
20
+ end
21
+
22
+ should "get error on duplicate field" do
23
+ @field.save
24
+
25
+ f2 = Bronto::Field.new(name: "test_field", label: "Test Field 2", type: "text", visibility: "private")
26
+ f2.save
27
+
28
+ assert_equal nil, f2.id
29
+ assert_equal 1, f2.errors.count
30
+ assert_equal "402", f2.errors.messages.keys.first
31
+ end
32
+
33
+ should "destroy a field" do
34
+ @field.save
35
+
36
+ assert_nothing_raised do
37
+ @field.destroy
38
+ end
39
+ end
40
+
41
+ should "find all fields" do
42
+ @field.save
43
+
44
+ fields = Bronto::Field.find
45
+
46
+ assert_equal 1, fields.count
47
+ assert_equal @field.id, fields.first.id
48
+
49
+ f2 = Bronto::Field.new(name: "test_field_2", label: "Test Field 2", type: "text", visibility: "private")
50
+ f2.save
51
+
52
+ assert_not_nil f2.id
53
+
54
+ fields = Bronto::Field.find
55
+
56
+ assert_equal 2, fields.count
57
+ end
58
+
59
+ should "find a specific field" do
60
+ @field.save
61
+
62
+ filter = Bronto::Filter.new
63
+ filter.add_filter("name", "StartsWith", "test")
64
+
65
+ fields = Bronto::Field.find(filter)
66
+
67
+ assert_equal 1, fields.count
68
+ assert_equal @field.id, fields.first.id
69
+
70
+ filter = Bronto::Filter.new
71
+ filter.add_filter("id", @field.id)
72
+
73
+ fields = Bronto::Field.find(filter)
74
+
75
+ assert_equal 1, fields.count
76
+ assert_equal @field.id, fields.first.id
77
+ end
78
+
79
+ end
80
+ end
data/test/list_test.rb ADDED
@@ -0,0 +1,136 @@
1
+ require 'test_helper'
2
+
3
+ class ListTest < Test::Unit::TestCase
4
+ context "" do
5
+ setup do
6
+ @list = Bronto::List.new(name: "test_list", label: "Test List", visibility: "private")
7
+ end
8
+
9
+ teardown do
10
+ reset_all
11
+ end
12
+
13
+ should "create a new list" do
14
+ assert_equal nil, @list.id
15
+
16
+ @list.save
17
+
18
+ assert_not_nil @list.id
19
+ assert_equal 0, @list.errors.count
20
+ end
21
+
22
+ should "get error on duplicate list" do
23
+ @list.save
24
+
25
+ l2 = Bronto::List.new(name: "test_list", label: "Test List 2", visibility: "private")
26
+ l2.save
27
+
28
+ assert_equal nil, l2.id
29
+ assert_equal 1, l2.errors.count
30
+ assert_equal "502", l2.errors.messages.keys.first
31
+ end
32
+
33
+ should "destroy a list" do
34
+ @list.save
35
+
36
+ assert_nothing_raised do
37
+ @list.destroy
38
+ end
39
+ end
40
+
41
+ should "find all lists" do
42
+ @list.save
43
+
44
+ lists = Bronto::List.find
45
+
46
+ assert_equal 1, lists.count
47
+ assert_equal @list.id, lists.first.id
48
+
49
+ l2 = Bronto::List.new(name: "test_list_2", label: "Test List 2", visibility: "private")
50
+ l2.save
51
+
52
+ assert_not_nil l2.id
53
+
54
+ lists = Bronto::List.find
55
+
56
+ assert_equal 2, lists.count
57
+ end
58
+
59
+ should "find a specific list" do
60
+ @list.save
61
+
62
+ filter = Bronto::Filter.new
63
+ filter.add_filter("name", "StartsWith", "test")
64
+
65
+ lists = Bronto::List.find(filter)
66
+
67
+ assert_equal 1, lists.count
68
+ assert_equal @list.id, lists.first.id
69
+
70
+ filter = Bronto::Filter.new
71
+ filter.add_filter("id", @list.id)
72
+
73
+ lists = Bronto::List.find(filter)
74
+
75
+ assert_equal 1, lists.count
76
+ assert_equal @list.id, lists.first.id
77
+ end
78
+
79
+ should "add to list" do
80
+ @list.save
81
+
82
+ assert_equal 0, @list.errors.count
83
+
84
+ contact = Bronto::Contact.new(email: "#{Time.now.to_i}-#{rand(1000)}@example.com", status: "active")
85
+ contact.save
86
+ assert_equal 0, contact.errors.count
87
+
88
+ assert_equal 0, @list.active_count
89
+
90
+ assert @list.add_to_list(contact)
91
+ @list.reload
92
+ assert_equal 1, @list.active_count
93
+ end
94
+
95
+ should "remove from list" do
96
+ @list.save
97
+ assert_equal 0, @list.errors.count
98
+
99
+ contact = Bronto::Contact.new(email: "#{Time.now.to_i}-#{rand(1000)}@example.com", status: "active")
100
+ contact.save
101
+ assert_equal 0, contact.errors.count
102
+
103
+ contact2 = Bronto::Contact.new(email: "#{Time.now.to_i}-#{rand(1000)}@example.com", status: "active")
104
+ contact2.save
105
+ assert_equal 0, contact2.errors.count
106
+
107
+ assert @list.add_to_list(contact, contact2)
108
+ @list.reload
109
+ assert_equal 2, @list.active_count
110
+
111
+ assert @list.remove_from_list(contact)
112
+ @list.reload
113
+ assert_equal 1, @list.active_count
114
+ end
115
+
116
+ should "clear list" do
117
+ @list.save
118
+
119
+ contact = Bronto::Contact.new(email: "#{Time.now.to_i}-#{rand(1000)}@example.com", status: "active")
120
+ contact.save
121
+ assert_equal 0, contact.errors.count
122
+
123
+ contact2 = Bronto::Contact.new(email: "#{Time.now.to_i}-#{rand(1000)}@example.com", status: "active")
124
+ contact2.save
125
+ assert_equal 0, contact2.errors.count
126
+
127
+ assert @list.add_to_list(contact, contact2)
128
+ @list.reload
129
+ assert_equal 2, @list.active_count
130
+
131
+ assert Bronto::List.clear_lists(@list)
132
+ @list.reload
133
+ assert_equal 0, @list.active_count
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,83 @@
1
+ require 'test_helper'
2
+
3
+ class MessageTest < Test::Unit::TestCase
4
+ context "" do
5
+ setup do
6
+ @message = Bronto::Message.new(name: "Test Message")
7
+ @message.add_content("html", "HTML Subject", "HTML Content")
8
+ @message.add_content("text", "Text Subject", "Text Content")
9
+ end
10
+
11
+ teardown do
12
+ reset_all
13
+ end
14
+
15
+ should "create a new message" do
16
+ assert_equal nil, @message.id
17
+
18
+ @message.save
19
+
20
+ assert_not_nil @message.id
21
+ assert_equal 0, @message.errors.count
22
+ end
23
+
24
+ should "get error on duplicate message" do
25
+ @message.save
26
+
27
+ m2 = Bronto::Message.new(name: "Test Message")
28
+ m2.save
29
+
30
+ assert_equal nil, m2.id
31
+ assert_equal 1, m2.errors.count
32
+ assert_equal "615", m2.errors.messages.keys.first
33
+ end
34
+
35
+ should "destroy a message" do
36
+ @message.save
37
+
38
+ assert_nothing_raised do
39
+ @message.destroy
40
+ end
41
+ end
42
+
43
+ should "find all messages" do
44
+ @message.save
45
+
46
+ messages = Bronto::Message.find
47
+
48
+ assert_equal 1, messages.count
49
+ assert_equal @message.id, messages.first.id
50
+
51
+ m2 = Bronto::Message.new(name: "Test Message 2")
52
+ m2.save
53
+
54
+ assert_not_nil m2.id
55
+
56
+ messages = Bronto::Message.find
57
+
58
+ assert_equal 2, messages.count
59
+ end
60
+
61
+ should "find a specific message" do
62
+ @message.save
63
+
64
+ m2 = Bronto::Message.new(name: "Test Message 2")
65
+ m2.save
66
+
67
+ filter = Bronto::Filter.new
68
+ filter.add_filter("name", "StartsWith", "Test")
69
+
70
+ messages = Bronto::Message.find(filter)
71
+
72
+ assert_equal 2, messages.count
73
+
74
+ filter = Bronto::Filter.new
75
+ filter.add_filter("id", @message.id)
76
+
77
+ messages = Bronto::Message.find(filter)
78
+
79
+ assert_equal 1, messages.count
80
+ assert_equal @message.id, messages.first.id
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,25 @@
1
+ require 'test/unit'
2
+ require 'turn'
3
+ require 'shoulda'
4
+
5
+ require 'bronto'
6
+ Bronto::Base.api_key = ""
7
+
8
+ Savon.configure { |config| config.log = false }
9
+
10
+ HTTPI.log = false
11
+
12
+ def log_savon(&block)
13
+ Savon.configure { |config| config.log = true }
14
+ block.call()
15
+ Savon.configure { |config| config.log = false }
16
+ end
17
+
18
+ def reset_all
19
+ types = [Bronto::Contact, Bronto::Field, Bronto::List, Bronto::Message]
20
+
21
+ types.each do |type|
22
+ objs = type.find
23
+ type.destroy(objs) if objs.count > 0
24
+ end
25
+ end
metadata ADDED
@@ -0,0 +1,138 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bronto
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ version: 0.0.1
10
+ platform: ruby
11
+ authors:
12
+ - Martin Gordon
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2012-05-29 00:00:00 -04:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: savon
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ - !ruby/object:Gem::Dependency
33
+ name: debugger
34
+ prerelease: false
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ segments:
40
+ - 0
41
+ version: "0"
42
+ type: :development
43
+ version_requirements: *id002
44
+ - !ruby/object:Gem::Dependency
45
+ name: turn
46
+ prerelease: false
47
+ requirement: &id003 !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ segments:
52
+ - 0
53
+ version: "0"
54
+ type: :development
55
+ version_requirements: *id003
56
+ - !ruby/object:Gem::Dependency
57
+ name: shoulda
58
+ prerelease: false
59
+ requirement: &id004 !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ type: :development
67
+ version_requirements: *id004
68
+ description: A Ruby wrapper for the Bronto SOAP API
69
+ email:
70
+ - martingordon@gmail.com
71
+ executables: []
72
+
73
+ extensions: []
74
+
75
+ extra_rdoc_files: []
76
+
77
+ files:
78
+ - .gitignore
79
+ - Gemfile
80
+ - LICENSE
81
+ - README.md
82
+ - Rakefile
83
+ - bronto.gemspec
84
+ - lib/bronto.rb
85
+ - lib/bronto/base.rb
86
+ - lib/bronto/contact.rb
87
+ - lib/bronto/delivery.rb
88
+ - lib/bronto/field.rb
89
+ - lib/bronto/filter.rb
90
+ - lib/bronto/list.rb
91
+ - lib/bronto/message.rb
92
+ - lib/bronto/version.rb
93
+ - lib/core_ext/array.rb
94
+ - lib/core_ext/object.rb
95
+ - lib/core_ext/string.rb
96
+ - test/contact_test.rb
97
+ - test/delivery_test.rb
98
+ - test/field_test.rb
99
+ - test/list_test.rb
100
+ - test/message_test.rb
101
+ - test/test_helper.rb
102
+ has_rdoc: true
103
+ homepage: ""
104
+ licenses: []
105
+
106
+ post_install_message:
107
+ rdoc_options: []
108
+
109
+ require_paths:
110
+ - lib
111
+ required_ruby_version: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ segments:
116
+ - 0
117
+ version: "0"
118
+ required_rubygems_version: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ segments:
123
+ - 0
124
+ version: "0"
125
+ requirements: []
126
+
127
+ rubyforge_project:
128
+ rubygems_version: 1.3.6
129
+ signing_key:
130
+ specification_version: 3
131
+ summary: A Ruby wrapper for the Bronto SOAP API
132
+ test_files:
133
+ - test/contact_test.rb
134
+ - test/delivery_test.rb
135
+ - test/field_test.rb
136
+ - test/list_test.rb
137
+ - test/message_test.rb
138
+ - test/test_helper.rb