bronto 0.0.1

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.
@@ -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