mosaic-lyris 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +3 -0
- data/README +4 -0
- data/Rakefile +31 -0
- data/VERSION +1 -0
- data/init.rb +4 -0
- data/lib/lyris.rb +2 -0
- data/lib/mosaic/lyris.rb +12 -0
- data/lib/mosaic/lyris/demographic.rb +65 -0
- data/lib/mosaic/lyris/filter.rb +6 -0
- data/lib/mosaic/lyris/list.rb +73 -0
- data/lib/mosaic/lyris/message.rb +95 -0
- data/lib/mosaic/lyris/object.rb +227 -0
- data/lib/mosaic/lyris/partner.rb +6 -0
- data/lib/mosaic/lyris/record.rb +101 -0
- data/lib/mosaic/lyris/trigger.rb +113 -0
- data/lib/mosaic/lyris/upload.rb +89 -0
- data/lib/mosaic/lyris_mailer.rb +102 -0
- data/mosaic-lyris.gemspec +143 -0
- data/test/demographic_test.rb +176 -0
- data/test/filter_test.rb +6 -0
- data/test/http_responder.rb +88 -0
- data/test/list_test.rb +49 -0
- data/test/message_test.rb +6 -0
- data/test/partner_test.rb +6 -0
- data/test/record_test.rb +177 -0
- data/test/responses/demographic/add_error_name_already_exists.xml +2 -0
- data/test/responses/demographic/add_success_12345.xml +2 -0
- data/test/responses/demographic/query_all_success.xml +19 -0
- data/test/responses/demographic/query_enabled_details_success.xml +12 -0
- data/test/responses/demographic/query_enabled_success.xml +13 -0
- data/test/responses/list/add_error_name_already_exists.xml +2 -0
- data/test/responses/list/add_success_12345.xml +2 -0
- data/test/responses/list/delete_error_not_found_99999.xml +2 -0
- data/test/responses/list/delete_success_12345.xml +2 -0
- data/test/responses/list/query_list_data_success.xml +20 -0
- data/test/responses/record/add_error_email_already_exists.xml +2 -0
- data/test/responses/record/add_success.xml +2 -0
- data/test/responses/record/query_all_success.xml +94 -0
- data/test/responses/record/query_all_success_empty.xml +2 -0
- data/test/responses/record/query_all_success_page_1.xml +54 -0
- data/test/responses/record/query_all_success_page_2.xml +34 -0
- data/test/responses/record/query_all_success_page_3.xml +14 -0
- data/test/responses/record/query_email_error_not_found.xml +2 -0
- data/test/responses/record/query_email_success_active.xml +14 -0
- data/test/responses/record/query_email_success_admin_trashed.xml +14 -0
- data/test/responses/record/query_email_success_bounced.xml +14 -0
- data/test/responses/record/query_email_success_unsubscribed.xml +14 -0
- data/test/responses/record/update_error_not_found.xml +2 -0
- data/test/responses/record/update_success.xml +2 -0
- data/test/responses/triggers/fire_error_invalid_recipients.xml +2 -0
- data/test/responses/triggers/fire_error_invalid_trigger_id.xml +2 -0
- data/test/responses/triggers/fire_success.xml +2 -0
- data/test/test_helper.rb +68 -0
- data/test/trigger_test.rb +45 -0
- metadata +342 -0
@@ -0,0 +1,19 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET><TYPE>success</TYPE>
|
3
|
+
<RECORD><DATA type="name">enabled checkbox</DATA><DATA type="id">1</DATA><DATA type="type">Checkbox</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
4
|
+
<RECORD><DATA type="name">enabled date</DATA><DATA type="id">2</DATA><DATA type="type">Date</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
5
|
+
<RECORD><DATA type="name">enabled multiple checkbox</DATA><DATA type="id">3</DATA><DATA type="type">Multiple Checkbox</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
6
|
+
<RECORD><DATA type="name">enabled multiple select list</DATA><DATA type="id">4</DATA><DATA type="type">Multiple Select List</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
7
|
+
<RECORD><DATA type="name">enabled radio button</DATA><DATA type="id">5</DATA><DATA type="type">Radio Button</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
8
|
+
<RECORD><DATA type="name">enabled select list</DATA><DATA type="id">6</DATA><DATA type="type">Select List</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
9
|
+
<RECORD><DATA type="name">enabled text</DATA><DATA type="id">7</DATA><DATA type="type">Text</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
10
|
+
<RECORD><DATA type="name">enabled textarea</DATA><DATA type="id">8</DATA><DATA type="type">Textarea</DATA><DATA type="group">Custom</DATA><DATA type="state">enabled</DATA></RECORD>
|
11
|
+
<RECORD><DATA type="name">disabled checkbox</DATA><DATA type="id">11</DATA><DATA type="type">Checkbox</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
12
|
+
<RECORD><DATA type="name">disabled date</DATA><DATA type="id">12</DATA><DATA type="type">Date</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
13
|
+
<RECORD><DATA type="name">disabled multiple checkbox</DATA><DATA type="id">13</DATA><DATA type="type">Multiple Checkbox</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
14
|
+
<RECORD><DATA type="name">disabled multiple select list</DATA><DATA type="id">14</DATA><DATA type="type">Multiple Select List</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
15
|
+
<RECORD><DATA type="name">disabled radio button</DATA><DATA type="id">15</DATA><DATA type="type">Radio Button</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
16
|
+
<RECORD><DATA type="name">disabled select list</DATA><DATA type="id">16</DATA><DATA type="type">Select List</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
17
|
+
<RECORD><DATA type="name">disabled text</DATA><DATA type="id">17</DATA><DATA type="type">Text</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
18
|
+
<RECORD><DATA type="name">disabled textarea</DATA><DATA type="id">18</DATA><DATA type="type">Textarea</DATA><DATA type="group">Custom</DATA><DATA type="state">disabled</DATA></RECORD>
|
19
|
+
</DATASET>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD><DATA type="name">enabled checkbox</DATA><DATA type="id">1</DATA><DATA type="type">Checkbox</DATA></RECORD>
|
5
|
+
<RECORD><DATA type="name">enabled date</DATA><DATA type="id">2</DATA><DATA type="type">Date</DATA></RECORD>
|
6
|
+
<RECORD><DATA type="name">enabled multiple checkbox</DATA><DATA type="id">3</DATA><DATA type="type">Multiple Checkbox</DATA><DATA type="option">one</DATA><DATA type="option">two</DATA><DATA type="option">three</DATA><DATA type="option">four</DATA><DATA type="option">five</DATA></RECORD>
|
7
|
+
<RECORD><DATA type="name">enabled multiple select list</DATA><DATA type="id">4</DATA><DATA type="type">Multiple Select List</DATA><DATA type="option">one</DATA><DATA type="option">two</DATA><DATA type="option">three</DATA><DATA type="option">four</DATA><DATA type="option">five</DATA><DATA type="option">six</DATA><DATA type="option">seven</DATA><DATA type="option">eight</DATA><DATA type="option">nine</DATA><DATA type="option">ten</DATA></RECORD>
|
8
|
+
<RECORD><DATA type="name">enabled radio button</DATA><DATA type="id">5</DATA><DATA type="type">Radio Button</DATA><DATA type="option">one</DATA><DATA type="option">two</DATA><DATA type="option">three</DATA></RECORD>
|
9
|
+
<RECORD><DATA type="name">enabled select list</DATA><DATA type="id">6</DATA><DATA type="type">Select List</DATA><DATA type="option">one</DATA><DATA type="option">two</DATA><DATA type="option">three</DATA><DATA type="option">four</DATA><DATA type="option">five</DATA><DATA type="option">six</DATA><DATA type="option">seven</DATA><DATA type="option">eight</DATA></RECORD>
|
10
|
+
<RECORD><DATA type="name">enabled text</DATA><DATA type="id">7</DATA><DATA type="type">Text</DATA></RECORD>
|
11
|
+
<RECORD><DATA type="name">enabled textarea</DATA><DATA type="id">8</DATA><DATA type="type">Textarea</DATA></RECORD>
|
12
|
+
</DATASET>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD><DATA type="name">EMAIL_ADDRESS</DATA><DATA type="id">0</DATA><DATA type="type">EMAIL</DATA></RECORD>
|
5
|
+
<RECORD><DATA type="name">enabled checkbox</DATA><DATA type="id">1</DATA><DATA type="type">Checkbox</DATA></RECORD>
|
6
|
+
<RECORD><DATA type="name">enabled date</DATA><DATA type="id">2</DATA><DATA type="type">Date</DATA></RECORD>
|
7
|
+
<RECORD><DATA type="name">enabled multiple checkbox</DATA><DATA type="id">3</DATA><DATA type="type">Multiple Checkbox</DATA></RECORD>
|
8
|
+
<RECORD><DATA type="name">enabled multiple select list</DATA><DATA type="id">4</DATA><DATA type="type">Multiple Select List</DATA></RECORD>
|
9
|
+
<RECORD><DATA type="name">enabled radio button</DATA><DATA type="id">5</DATA><DATA type="type">Radio Button</DATA></RECORD>
|
10
|
+
<RECORD><DATA type="name">enabled select list</DATA><DATA type="id">6</DATA><DATA type="type">Select List</DATA></RECORD>
|
11
|
+
<RECORD><DATA type="name">enabled text</DATA><DATA type="id">7</DATA><DATA type="type">Text</DATA></RECORD>
|
12
|
+
<RECORD><DATA type="name">enabled textarea</DATA><DATA type="id">8</DATA><DATA type="type">Textarea</DATA></RECORD>
|
13
|
+
</DATASET>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="name" id="1">list one</DATA>
|
6
|
+
<DATA type="messages">11</DATA>
|
7
|
+
<DATA type="last-sent">Jan. 1, 2001</DATA>
|
8
|
+
<DATA type="members">1,111</DATA>
|
9
|
+
<DATA type="status">active</DATA>
|
10
|
+
<DATA type="cache-time">2001-01-01T01:01:01+00:00</DATA>
|
11
|
+
</RECORD>
|
12
|
+
<RECORD>
|
13
|
+
<DATA type="name" id="2">list two</DATA>
|
14
|
+
<DATA type="messages">22</DATA>
|
15
|
+
<DATA type="last-sent">Feb. 2, 2002</DATA>
|
16
|
+
<DATA type="members">2,222</DATA>
|
17
|
+
<DATA type="status">active</DATA>
|
18
|
+
<DATA type="cache-time">2002-02-02T02:02:02+00:00</DATA>
|
19
|
+
</RECORD>
|
20
|
+
</DATASET>
|
@@ -0,0 +1,94 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="email">one@one.not</DATA>
|
6
|
+
<DATA type="extra" id="proof">yes</DATA>
|
7
|
+
<DATA type="extra" id="trashed">n</DATA>
|
8
|
+
<DATA type="extra" id="uid">abcdef0001</DATA>
|
9
|
+
<DATA type="demographic" id="1">on</DATA>
|
10
|
+
<DATA type="demographic" id="2">01/02/03</DATA>
|
11
|
+
<DATA type="demographic" id="3">one</DATA>
|
12
|
+
<DATA type="demographic" id="3">three</DATA>
|
13
|
+
<DATA type="demographic" id="4">two</DATA>
|
14
|
+
<DATA type="demographic" id="4">four</DATA>
|
15
|
+
<DATA type="demographic" id="5">three</DATA>
|
16
|
+
<DATA type="demographic" id="6">six</DATA>
|
17
|
+
<DATA type="demographic" id="7">value for every demographic</DATA>
|
18
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Jan 2, 2003</DATA>
|
19
|
+
</RECORD>
|
20
|
+
<RECORD>
|
21
|
+
<DATA type="email">two@two.not</DATA>
|
22
|
+
<DATA type="extra" id="proof">yes</DATA>
|
23
|
+
<DATA type="extra" id="trashed">n</DATA>
|
24
|
+
<DATA type="extra" id="uid">abcdef0002</DATA>
|
25
|
+
<DATA type="demographic" id="1">on</DATA>
|
26
|
+
<DATA type="demographic" id="2">02/22/22</DATA>
|
27
|
+
<DATA type="demographic" id="5">three</DATA>
|
28
|
+
<DATA type="demographic" id="6">six</DATA>
|
29
|
+
<DATA type="demographic" id="7">no value for multiple selection demographics</DATA>
|
30
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Feb 22, 1922</DATA>
|
31
|
+
</RECORD>
|
32
|
+
<RECORD>
|
33
|
+
<DATA type="email">three@three.not</DATA>
|
34
|
+
<DATA type="extra" id="proof">yes</DATA>
|
35
|
+
<DATA type="extra" id="trashed">n</DATA>
|
36
|
+
<DATA type="extra" id="uid">abcdef0003</DATA>
|
37
|
+
<DATA type="demographic" id="1">on</DATA>
|
38
|
+
<DATA type="demographic" id="2">03/03/33</DATA>
|
39
|
+
<DATA type="demographic" id="3">one</DATA>
|
40
|
+
<DATA type="demographic" id="3">three</DATA>
|
41
|
+
<DATA type="demographic" id="4">two</DATA>
|
42
|
+
<DATA type="demographic" id="4">four</DATA>
|
43
|
+
<DATA type="demographic" id="5">three</DATA>
|
44
|
+
<DATA type="demographic" id="6">six</DATA>
|
45
|
+
<DATA type="demographic" id="7">every attribute enabled</DATA>
|
46
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Mar 3, 1933</DATA>
|
47
|
+
</RECORD>
|
48
|
+
<RECORD>
|
49
|
+
<DATA type="email">four@four.not</DATA>
|
50
|
+
<DATA type="extra" id="proof">yes</DATA>
|
51
|
+
<DATA type="extra" id="trashed">n</DATA>
|
52
|
+
<DATA type="extra" id="uid">abcdef0004</DATA>
|
53
|
+
</RECORD>
|
54
|
+
<RECORD>
|
55
|
+
<DATA type="email">five@five.not</DATA>
|
56
|
+
<DATA type="extra" id="trashed">n</DATA>
|
57
|
+
<DATA type="extra" id="uid">abcdef0005</DATA>
|
58
|
+
<DATA type="demographic" id="7">active</DATA>
|
59
|
+
</RECORD>
|
60
|
+
<RECORD>
|
61
|
+
<DATA type="email">six@six.not</DATA>
|
62
|
+
<DATA type="extra" id="state">admin</DATA>
|
63
|
+
<DATA type="extra" id="statedate">2006-06-01</DATA>
|
64
|
+
<DATA type="extra" id="trashed">y</DATA>
|
65
|
+
<DATA type="extra" id="uid">abcdef0006</DATA>
|
66
|
+
<DATA type="demographic" id="7">trashed by administrator</DATA>
|
67
|
+
</RECORD>
|
68
|
+
<RECORD>
|
69
|
+
<DATA type="email">seven@seven.not</DATA>
|
70
|
+
<DATA type="extra" id="state">unsubscribed</DATA>
|
71
|
+
<DATA type="extra" id="statedate">2007-07-01</DATA>
|
72
|
+
<DATA type="extra" id="trashed">y</DATA>
|
73
|
+
<DATA type="extra" id="uid">abcdef0007</DATA>
|
74
|
+
<DATA type="demographic" id="7">unsubscribed</DATA>
|
75
|
+
</RECORD>
|
76
|
+
<RECORD>
|
77
|
+
<DATA type="email">eight@eight.not</DATA>
|
78
|
+
<DATA type="extra" id="state">bounced</DATA>
|
79
|
+
<DATA type="extra" id="statedate">2008-08-01</DATA>
|
80
|
+
<DATA type="extra" id="trashed">y</DATA>
|
81
|
+
<DATA type="extra" id="uid">abcdef0008</DATA>
|
82
|
+
<DATA type="demographic" id="7">bounced</DATA>
|
83
|
+
</RECORD>
|
84
|
+
<RECORD>
|
85
|
+
<DATA type="email">nine@nine.not</DATA>
|
86
|
+
<DATA type="extra" id="trashed">n</DATA>
|
87
|
+
<DATA type="extra" id="uid">abcdef0009</DATA>
|
88
|
+
</RECORD>
|
89
|
+
<RECORD>
|
90
|
+
<DATA type="email">ten@ten.not</DATA>
|
91
|
+
<DATA type="extra" id="trashed">n</DATA>
|
92
|
+
<DATA type="extra" id="uid">abcdef0010</DATA>
|
93
|
+
</RECORD>
|
94
|
+
</DATASET>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="email">one@one.not</DATA>
|
6
|
+
<DATA type="extra" id="proof">yes</DATA>
|
7
|
+
<DATA type="extra" id="trashed">n</DATA>
|
8
|
+
<DATA type="extra" id="uid">abcdef0001</DATA>
|
9
|
+
<DATA type="demographic" id="1">on</DATA>
|
10
|
+
<DATA type="demographic" id="2">01/02/03</DATA>
|
11
|
+
<DATA type="demographic" id="3">one</DATA>
|
12
|
+
<DATA type="demographic" id="3">three</DATA>
|
13
|
+
<DATA type="demographic" id="4">two</DATA>
|
14
|
+
<DATA type="demographic" id="4">four</DATA>
|
15
|
+
<DATA type="demographic" id="5">three</DATA>
|
16
|
+
<DATA type="demographic" id="6">six</DATA>
|
17
|
+
<DATA type="demographic" id="7">value for every demographic</DATA>
|
18
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Jan 2, 2003</DATA>
|
19
|
+
</RECORD>
|
20
|
+
<RECORD>
|
21
|
+
<DATA type="email">two@two.not</DATA>
|
22
|
+
<DATA type="extra" id="proof">yes</DATA>
|
23
|
+
<DATA type="extra" id="trashed">n</DATA>
|
24
|
+
<DATA type="extra" id="uid">abcdef0002</DATA>
|
25
|
+
<DATA type="demographic" id="1">on</DATA>
|
26
|
+
<DATA type="demographic" id="2">02/22/22</DATA>
|
27
|
+
<DATA type="demographic" id="5">three</DATA>
|
28
|
+
<DATA type="demographic" id="6">six</DATA>
|
29
|
+
<DATA type="demographic" id="7">no value for multiple selection demographics</DATA>
|
30
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Feb 22, 1922</DATA>
|
31
|
+
</RECORD>
|
32
|
+
<RECORD>
|
33
|
+
<DATA type="email">three@three.not</DATA>
|
34
|
+
<DATA type="extra" id="proof">yes</DATA>
|
35
|
+
<DATA type="extra" id="trashed">n</DATA>
|
36
|
+
<DATA type="extra" id="uid">abcdef0003</DATA>
|
37
|
+
<DATA type="demographic" id="1">on</DATA>
|
38
|
+
<DATA type="demographic" id="2">03/03/33</DATA>
|
39
|
+
<DATA type="demographic" id="3">one</DATA>
|
40
|
+
<DATA type="demographic" id="3">three</DATA>
|
41
|
+
<DATA type="demographic" id="4">two</DATA>
|
42
|
+
<DATA type="demographic" id="4">four</DATA>
|
43
|
+
<DATA type="demographic" id="5">three</DATA>
|
44
|
+
<DATA type="demographic" id="6">six</DATA>
|
45
|
+
<DATA type="demographic" id="7">every attribute enabled</DATA>
|
46
|
+
<DATA type="demographic" id="8">the date value in demographic 2 should be Mar 3, 1933</DATA>
|
47
|
+
</RECORD>
|
48
|
+
<RECORD>
|
49
|
+
<DATA type="email">four@four.not</DATA>
|
50
|
+
<DATA type="extra" id="proof">yes</DATA>
|
51
|
+
<DATA type="extra" id="trashed">n</DATA>
|
52
|
+
<DATA type="extra" id="uid">abcdef0004</DATA>
|
53
|
+
</RECORD>
|
54
|
+
</DATASET>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="email">five@five.not</DATA>
|
6
|
+
<DATA type="extra" id="trashed">n</DATA>
|
7
|
+
<DATA type="extra" id="uid">abcdef0005</DATA>
|
8
|
+
<DATA type="demographic" id="7">active</DATA>
|
9
|
+
</RECORD>
|
10
|
+
<RECORD>
|
11
|
+
<DATA type="email">six@six.not</DATA>
|
12
|
+
<DATA type="extra" id="state">admin</DATA>
|
13
|
+
<DATA type="extra" id="statedate">2006-06-01</DATA>
|
14
|
+
<DATA type="extra" id="trashed">y</DATA>
|
15
|
+
<DATA type="extra" id="uid">abcdef0006</DATA>
|
16
|
+
<DATA type="demographic" id="7">trashed by administrator</DATA>
|
17
|
+
</RECORD>
|
18
|
+
<RECORD>
|
19
|
+
<DATA type="email">seven@seven.not</DATA>
|
20
|
+
<DATA type="extra" id="state">unsubscribed</DATA>
|
21
|
+
<DATA type="extra" id="statedate">2007-07-01</DATA>
|
22
|
+
<DATA type="extra" id="trashed">y</DATA>
|
23
|
+
<DATA type="extra" id="uid">abcdef0007</DATA>
|
24
|
+
<DATA type="demographic" id="7">unsubscribed</DATA>
|
25
|
+
</RECORD>
|
26
|
+
<RECORD>
|
27
|
+
<DATA type="email">eight@eight.not</DATA>
|
28
|
+
<DATA type="extra" id="state">bounced</DATA>
|
29
|
+
<DATA type="extra" id="statedate">2008-08-01</DATA>
|
30
|
+
<DATA type="extra" id="trashed">y</DATA>
|
31
|
+
<DATA type="extra" id="uid">abcdef0008</DATA>
|
32
|
+
<DATA type="demographic" id="7">bounced</DATA>
|
33
|
+
</RECORD>
|
34
|
+
</DATASET>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="email">nine@nine.not</DATA>
|
6
|
+
<DATA type="extra" id="trashed">n</DATA>
|
7
|
+
<DATA type="extra" id="uid">abcdef0009</DATA>
|
8
|
+
</RECORD>
|
9
|
+
<RECORD>
|
10
|
+
<DATA type="email">ten@ten.not</DATA>
|
11
|
+
<DATA type="extra" id="trashed">n</DATA>
|
12
|
+
<DATA type="extra" id="uid">abcdef0010</DATA>
|
13
|
+
</RECORD>
|
14
|
+
</DATASET>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="extra" id="state">active</DATA>
|
6
|
+
<DATA type="extra" id="joindate">2001-01-11 01:01:01</DATA>
|
7
|
+
<DATA type="extra" id="proof">yes</DATA>
|
8
|
+
<DATA type="extra" id="trashed">n</DATA>
|
9
|
+
<DATA type="extra" id="uid">abcdef1111</DATA>
|
10
|
+
<DATA type="extra" id="email">active@email.not</DATA>
|
11
|
+
<DATA type="demographic" id="2">01/11/81</DATA>
|
12
|
+
<DATA type="demographic" id="7">this email is active</DATA>
|
13
|
+
</RECORD>
|
14
|
+
</DATASET>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="extra" id="state">admin</DATA>
|
6
|
+
<DATA type="extra" id="statedate">2009-11-17</DATA>
|
7
|
+
<DATA type="extra" id="joindate">2002-02-12 02:02:02</DATA>
|
8
|
+
<DATA type="extra" id="trashed">y</DATA>
|
9
|
+
<DATA type="extra" id="uid">abcdef2222</DATA>
|
10
|
+
<DATA type="extra" id="email">admin.trashed@email.not</DATA>
|
11
|
+
<DATA type="demographic" id="2">02/12/82</DATA>
|
12
|
+
<DATA type="demographic" id="7">this email is admin trashed</DATA>
|
13
|
+
</RECORD>
|
14
|
+
</DATASET>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="extra" id="state">bounced</DATA>
|
6
|
+
<DATA type="extra" id="statedate">2009-11-17</DATA>
|
7
|
+
<DATA type="extra" id="joindate">2003-03-13 03:03:03</DATA>
|
8
|
+
<DATA type="extra" id="trashed">y</DATA>
|
9
|
+
<DATA type="extra" id="uid">abcdef3333</DATA>
|
10
|
+
<DATA type="extra" id="email">bounced@email.not</DATA>
|
11
|
+
<DATA type="demographic" id="2">03/13/93</DATA>
|
12
|
+
<DATA type="demographic" id="7">this email is bounced</DATA>
|
13
|
+
</RECORD>
|
14
|
+
</DATASET>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
2
|
+
<DATASET>
|
3
|
+
<TYPE>success</TYPE>
|
4
|
+
<RECORD>
|
5
|
+
<DATA type="extra" id="state">unsubscribed</DATA>
|
6
|
+
<DATA type="extra" id="statedate">2009-11-17</DATA>
|
7
|
+
<DATA type="extra" id="joindate">2004-04-14 04:04:04</DATA>
|
8
|
+
<DATA type="extra" id="trashed">y</DATA>
|
9
|
+
<DATA type="extra" id="uid">abcdef4444</DATA>
|
10
|
+
<DATA type="extra" id="email">unsubscribed@email.not</DATA>
|
11
|
+
<DATA type="demographic" id="2">04/14/94</DATA>
|
12
|
+
<DATA type="demographic" id="7">this email is unsubscribed</DATA>
|
13
|
+
</RECORD>
|
14
|
+
</DATASET>
|
data/test/test_helper.rb
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'mocha/setup'
|
3
|
+
|
4
|
+
require 'active_support/core_ext/time/calculations'
|
5
|
+
|
6
|
+
require File.join(File.dirname(__FILE__),'http_responder')
|
7
|
+
|
8
|
+
require File.join(File.dirname(__FILE__),'..','lib','mosaic','lyris.rb')
|
9
|
+
|
10
|
+
begin
|
11
|
+
config_path = File.expand_path("../config.yml", __FILE__)
|
12
|
+
Mosaic::Lyris::Object.configuration = YAML.load_file(config_path)
|
13
|
+
rescue Errno::ENOENT => e
|
14
|
+
STDERR.puts "WARNING: For tests to succeed, you must set valid configuration parameters in '#{config_path}'"
|
15
|
+
STDERR.puts "Sample configuration..."
|
16
|
+
STDERR.puts <<SAMPLECONFIG
|
17
|
+
server: 'www.elabs6.com'
|
18
|
+
site_id: 99999999
|
19
|
+
password: 'xxxxxxxx'
|
20
|
+
SAMPLECONFIG
|
21
|
+
STDERR.puts
|
22
|
+
raise
|
23
|
+
end
|
24
|
+
|
25
|
+
Time.zone_default = ActiveSupport::TimeZone['Eastern Time (US & Canada)']
|
26
|
+
|
27
|
+
Net::HTTP.block_requests
|
28
|
+
|
29
|
+
def lyris_response(file, type, activity, input = nil)
|
30
|
+
conditions = { :type => type, :activity => activity }
|
31
|
+
conditions[:input] = input if input
|
32
|
+
Net::HTTP.respond_to :post, '/API/mailing_list.html', File.join(File.dirname(__FILE__),'responses',type,file), conditions
|
33
|
+
end
|
34
|
+
|
35
|
+
# list requests
|
36
|
+
lyris_response 'add_success_12345.xml', 'list', 'add', %r(<DATA type="name">new list</DATA>)m
|
37
|
+
lyris_response 'add_error_name_already_exists.xml', 'list', 'add', %r(<DATA type="name">duplicate list</DATA>)m
|
38
|
+
lyris_response 'delete_error_not_found_99999.xml', 'list', 'delete', %r(<MLID>99999</MLID>)m
|
39
|
+
lyris_response 'delete_success_12345.xml', 'list', 'delete', %r(<MLID>12345</MLID>)m
|
40
|
+
lyris_response 'query_list_data_success.xml', 'list', 'query-listdata'
|
41
|
+
|
42
|
+
# demographic requests
|
43
|
+
lyris_response 'add_success_12345.xml', 'demographic', 'add', %r(<MLID>.*?</MLID>.*?<DATA type=".*?">new .*?</DATA>)m
|
44
|
+
lyris_response 'add_error_name_already_exists.xml', 'demographic', 'add', %r(<MLID>.*?</MLID>.*?<DATA type="text">duplicate text</DATA>)m
|
45
|
+
lyris_response 'query_all_success.xml', 'demographic', 'query-all', %r(<MLID>.*?</MLID>)m
|
46
|
+
lyris_response 'query_enabled_success.xml', 'demographic', 'query-enabled', %r(<MLID>.*?</MLID>)m
|
47
|
+
lyris_response 'query_enabled_details_success.xml', 'demographic', 'query-enabled-details', %r(<MLID>.*?</MLID>)m
|
48
|
+
|
49
|
+
# record requests
|
50
|
+
lyris_response 'query_all_success.xml', 'record', 'query-listdata', %r(<MLID>1</MLID>)m
|
51
|
+
lyris_response 'query_all_success_empty.xml', 'record', 'query-listdata', %r(<MLID>2</MLID>)m
|
52
|
+
lyris_response 'query_all_success_page_1.xml', 'record', 'query-listdata', %r(<MLID>3</MLID>.*?<DATA type="extra" id="page">1</DATA>)m
|
53
|
+
lyris_response 'query_all_success_page_2.xml', 'record', 'query-listdata', %r(<MLID>3</MLID>.*?<DATA type="extra" id="page">2</DATA>)m
|
54
|
+
lyris_response 'query_all_success_page_3.xml', 'record', 'query-listdata', %r(<MLID>3</MLID>.*?<DATA type="extra" id="page">3</DATA>)m
|
55
|
+
lyris_response 'add_success.xml', 'record', 'add', %r(<MLID>1</MLID>.*?<DATA type="email">new@email.not</DATA>)m
|
56
|
+
lyris_response 'add_error_email_already_exists.xml', 'record', 'add', %r(<MLID>1</MLID>.*?<DATA type="email">duplicate@email.not</DATA>)m
|
57
|
+
lyris_response 'query_email_error_not_found.xml', 'record', 'query-data', %r(<MLID>1</MLID>.*?<DATA type="email">missing@email.not</DATA>)m
|
58
|
+
lyris_response 'query_email_success_active.xml', 'record', 'query-data', %r(<MLID>1</MLID>.*?<DATA type="email">active@email.not</DATA>)m
|
59
|
+
lyris_response 'query_email_success_admin_trashed.xml', 'record', 'query-data', %r(<MLID>1</MLID>.*?<DATA type="email">admin.trashed@email.not</DATA>)m
|
60
|
+
lyris_response 'query_email_success_bounced.xml', 'record', 'query-data', %r(<MLID>1</MLID>.*?<DATA type="email">bounced@email.not</DATA>)m
|
61
|
+
lyris_response 'query_email_success_unsubscribed.xml', 'record', 'query-data', %r(<MLID>1</MLID>.*?<DATA type="email">unsubscribed@email.not</DATA>)m
|
62
|
+
lyris_response 'update_error_not_found.xml', 'record', 'update', %r(<MLID>1</MLID>.*?<DATA type="email">missing@email.not</DATA>)m
|
63
|
+
lyris_response 'update_success.xml', 'record', 'update', %r(<MLID>1</MLID>.*?<DATA type="email">active@email.not</DATA>)m
|
64
|
+
|
65
|
+
# trigger requests
|
66
|
+
lyris_response 'fire_error_invalid_trigger_id.xml', 'triggers', 'fire-trigger', %r(<MLID>1</MLID>.*?<DATA type="extra" id="trigger_id">666</DATA>)m
|
67
|
+
lyris_response 'fire_error_invalid_recipients.xml', 'triggers', 'fire-trigger', %r(<MLID>1</MLID>.*?<DATA type="extra" id="trigger_id">1</DATA>.*?<DATA type="extra" id="recipients">invalid@email.not</DATA>)m
|
68
|
+
lyris_response 'fire_success.xml', 'triggers', 'fire-trigger', %r(<MLID>1</MLID>.*?<DATA type="extra" id="trigger_id">1</DATA>.*?<DATA type="extra" id="recipients">one@email.not,two@email.not,three@email.not</DATA>)m
|