active_campaign 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/active_campaign/client.rb +15 -10
- data/lib/active_campaign/configurable.rb +8 -1
- data/lib/active_campaign/default.rb +12 -0
- data/lib/active_campaign/version.rb +1 -1
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_sync/when_successful/returns_1_for_result_code.json +1 -0
- data/spec/cassettes/ActiveCampaign_Client_Contacts/_contact_view/can_find_contact_by_id.json +1 -0
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_list/can_find_a_list_of_lists.json +1 -0
- data/spec/cassettes/ActiveCampaign_Client_Lists/_list_view/can_find_lists_by_id.json +1 -0
- data/spec/client/contacts_spec.rb +23 -22
- data/spec/client/lists_spec.rb +24 -28
- data/spec/spec_helper.rb +23 -73
- metadata +9 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8398a60d8813e841f5afa215ffeb6066a4ff395d
|
4
|
+
data.tar.gz: afa4838934daf586899e694c9713a891c240d937
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 82e27167097b9400cc7ef1b8af42b6dc21b674ab53789a1a9d65903d74ef7e058e156834bb8b14d8e6712312eeff0c0ddbb89a4384eb3bc227d74774862c2622
|
7
|
+
data.tar.gz: 34b35346dac58e002fcc86e882cd1edccab5b92375b8efaa457ec11f11e89bca187603f57ad3de17acb9d771554a054483caa978a804af3c8002fef9db670082
|
@@ -17,12 +17,6 @@ module ActiveCampaign
|
|
17
17
|
instance_variable_set(:"@#{key}", options[key] ||
|
18
18
|
ActiveCampaign.instance_variable_get(:"@#{key}"))
|
19
19
|
end
|
20
|
-
|
21
|
-
unless debug
|
22
|
-
HTTPI.log = false
|
23
|
-
HTTPI.log_level = :info
|
24
|
-
HTTPI.logger = Rails.logger
|
25
|
-
end
|
26
20
|
end
|
27
21
|
|
28
22
|
# Compares client options to a Hash of requested options
|
@@ -55,6 +49,7 @@ module ActiveCampaign
|
|
55
49
|
|
56
50
|
def request(method, api_method, data)
|
57
51
|
req = create_request method, api_method, data
|
52
|
+
|
58
53
|
response = HTTPI.send(method, req)
|
59
54
|
response = JSON.parse(response.body)
|
60
55
|
normalize(response)
|
@@ -64,15 +59,25 @@ module ActiveCampaign
|
|
64
59
|
def create_request(method, api_method, options = {})
|
65
60
|
request = HTTPI::Request.new :url => File.join(api_endpoint, api_path)
|
66
61
|
request.headers = {"User-Agent" => user_agent}
|
67
|
-
request.query =
|
62
|
+
request.query = query(method, api_method, options)
|
63
|
+
request.body = options.to_query if method == :post
|
64
|
+
|
65
|
+
request
|
66
|
+
end
|
67
|
+
|
68
|
+
def query(method, api_method, options = {})
|
69
|
+
q = options.delete(:query) { Hash.new }
|
70
|
+
q.merge!({
|
68
71
|
:api_key => api_key,
|
69
72
|
:api_action => api_method.to_s,
|
70
73
|
:api_output => api_output
|
71
|
-
}
|
74
|
+
})
|
72
75
|
|
73
|
-
|
76
|
+
if method == :get
|
77
|
+
q.merge!(options)
|
78
|
+
end
|
74
79
|
|
75
|
-
|
80
|
+
q
|
76
81
|
end
|
77
82
|
|
78
83
|
def normalize(response)
|
@@ -10,7 +10,9 @@ module ActiveCampaign
|
|
10
10
|
:api_output,
|
11
11
|
:api_endpoint,
|
12
12
|
:user_agent,
|
13
|
-
:
|
13
|
+
:log,
|
14
|
+
:log_level,
|
15
|
+
:logger,
|
14
16
|
:mash,
|
15
17
|
]
|
16
18
|
|
@@ -35,6 +37,11 @@ module ActiveCampaign
|
|
35
37
|
ActiveCampaign::Configurable.keys.each do |key|
|
36
38
|
instance_variable_set(:"@#{key}", ActiveCampaign::Default.options[key])
|
37
39
|
end
|
40
|
+
|
41
|
+
HTTPI.logger = self.logger if self.logger
|
42
|
+
HTTPI.log = self.log
|
43
|
+
HTTPI.log_level = self.log_level
|
44
|
+
|
38
45
|
self
|
39
46
|
end
|
40
47
|
alias setup reset!
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"post","uri":"\u003CAPI_ENDPOINT\u003Eadmin/api.php?api_action=contact_sync\u0026api_key=\u003CAPI_KEY\u003E\u0026api_output=json","body":{"encoding":"US-ASCII","base64_string":"ZW1haWw9bWhlbnJpeG9uJTQwbWUuY29tJmZpcnN0X25hbWU9TWlrYWVsJmlk\nPTEmaW5zdGFudHJlc3BvbmRlcnMlNUIxJTVEPTEmaXA0PTEyNy4wLjAuMSZs\nYXN0X25hbWU9SGVucmlrc3NvbiZwJTVCMSU1RD0xJnF1ZXJ5JTVCbGlzdGlk\nJTVEPTEmc3RhdHVzJTVCMSU1RD0x\n"},"headers":{"User-Agent":["ActiveCampaign Ruby Gem 0.1.3"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"X-Powered-By":["PHP/5.3.3"],"Set-Cookie":["PHPSESSID=eub036nutku58dgp7tctml34p4; path=/; Secure","em_acp_globalauth_cookie=cdb9730a7400f13b7fc0e8e8a8689d611; path=/; domain=casinosaga.activehosted.com; secure","em_acp_globalauth_cookie=deleted; expires=Tue, 16-Oct-2012 19:30:10 GMT; path=/; domain=casinosaga.activehosted.com; secure"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Pragma":["no-cache"],"Content-Type":["application/json; charset=utf-8"],"Cache-Control":["no-store, max-age=0, must-revalidate"],"Transfer-Encoding":["chunked"],"Date":["Wed, 16 Oct 2013 19:30:11 GMT"],"Server":["lighttpd/1.4.31"],"Connection":["Keep-alive"],"Keep-Alive":["timeout=15, max=100"],"Via":["1.1 ID-0001242756263011 uproxy-3"]},"body":{"encoding":"UTF-8","base64_string":"eyJzdWJzY3JpYmVyX2lkIjoyLCJzZW5kbGFzdF9zaG91bGQiOjAsInNlbmRs\nYXN0X2RpZCI6MCwicmVzdWx0X2NvZGUiOjEsInJlc3VsdF9tZXNzYWdlIjoi\nQ29udGFjdCB1cGRhdGVkIiwicmVzdWx0X291dHB1dCI6Impzb24ifQ==\n"},"http_version":null},"recorded_at":"Wed, 16 Oct 2013 19:30:11 GMT"}],"recorded_with":"VCR 2.6.0"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"\u003CAPI_ENDPOINT\u003Eadmin/api.php?api_action=contact_view\u0026api_key=\u003CAPI_KEY\u003E\u0026api_output=json\u0026id=2","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["ActiveCampaign Ruby Gem 0.1.3"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"X-Powered-By":["PHP/5.3.3"],"Set-Cookie":["PHPSESSID=3c8269482jo6boi8h2qik5s9b4; path=/; Secure","em_acp_globalauth_cookie=cdb9730a7400f13b7fc0e8e8a8689d611; path=/; domain=casinosaga.activehosted.com; secure","em_acp_globalauth_cookie=deleted; expires=Tue, 16-Oct-2012 19:31:02 GMT; path=/; domain=casinosaga.activehosted.com; secure"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Pragma":["no-cache"],"Content-Type":["application/json; charset=utf-8"],"Cache-Control":["no-store, max-age=0, must-revalidate"],"Transfer-Encoding":["chunked"],"Date":["Wed, 16 Oct 2013 19:31:03 GMT"],"Server":["lighttpd/1.4.31"],"Connection":["Keep-alive"],"Keep-Alive":["timeout=15, max=100"],"Via":["1.1 ID-0001242756263011 uproxy-5"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6IjIiLCJzdWJzY3JpYmVyaWQiOiIyIiwibGlzdGlkIjoiMiIsImZv\ncm1pZCI6IjAiLCJzZGF0ZSI6IjIwMTMtMTAtMTYgMTM6MjQ6MDEiLCJ1ZGF0\nZSI6IjIwMTMtMTAtMTYgMTQ6MjA6NTciLCJzdGF0dXMiOiIyIiwicmVzcG9u\nZGVyIjoiMSIsInN5bmMiOiIwIiwidW5zdWJyZWFzb24iOm51bGwsInVuc3Vi\nY2FtcGFpZ25pZCI6IjAiLCJ1bnN1Ym1lc3NhZ2VpZCI6IjAiLCJmaXJzdF9u\nYW1lIjoiTWlrYWVsIiwibGFzdF9uYW1lIjoiSGVucmlrc3NvbiIsImlwNF9z\ndWIiOiIyMTMwNzA2NDMzIiwic291cmNlaWQiOiI0Iiwic291cmNlaWRfYXV0\nb3N5bmMiOiIwIiwiaXA0X2xhc3QiOiIyMTMwNzA2NDMzIiwiaXA0X3Vuc3Vi\nIjoiMCIsImNkYXRlIjoiMjAxMy0xMC0xNiAxMzoyMzo1OCIsImVtYWlsIjoi\nbWhlbnJpeG9uQG1lLmNvbSIsImJvdW5jZWRfaGFyZCI6IjAiLCJib3VuY2Vk\nX3NvZnQiOiIwIiwiYm91bmNlZF9kYXRlIjpudWxsLCJpcCI6IjAuMC4wLjAi\nLCJ1YSI6bnVsbCwiaGFzaCI6ImM1N2E3ZTNiYjNjOGE2YmNjYzU0ZWQ0YjRi\nM2ZiODNiIiwic29jaWFsZGF0YV9sYXN0Y2hlY2siOm51bGwsImVtYWlsX2xv\nY2FsIjoiIiwiZW1haWxfZG9tYWluIjoiIiwicmF0aW5nIjoiLTEuMDAiLCJn\ncmF2YXRhciI6IjEiLCJkZWxldGVkIjoiMCIsImxpZCI6IjMiLCJpcDQiOiIx\nMjcuMC4wLjEiLCJuYW1lIjoiTWlrYWVsIEhlbnJpa3Nzb24iLCJhX3Vuc3Vi\nX2RhdGUiOiIyMDEzLTEwLTE2IiwiYV91bnN1Yl90aW1lIjoiMTQ6MjA6NTci\nLCJsaXN0cyI6eyIyIjp7ImlkIjoiMyIsInN1YnNjcmliZXJpZCI6IjIiLCJs\naXN0aWQiOiIyIiwiZm9ybWlkIjoiMCIsInNkYXRlIjoiMjAxMy0xMC0xNiAx\nMzoyNDowMSIsInVkYXRlIjoiMjAxMy0xMC0xNiAxNDoyMDo1NyIsInN0YXR1\ncyI6IjIiLCJyZXNwb25kZXIiOiIxIiwic3luYyI6IjAiLCJ1bnN1YnJlYXNv\nbiI6bnVsbCwidW5zdWJjYW1wYWlnbmlkIjoiMCIsInVuc3VibWVzc2FnZWlk\nIjoiMCIsImZpcnN0X25hbWUiOiJNaWthZWwiLCJsYXN0X25hbWUiOiJIZW5y\naWtzc29uIiwiaXA0X3N1YiI6IjIxMzA3MDY0MzMiLCJzb3VyY2VpZCI6IjQi\nLCJzb3VyY2VpZF9hdXRvc3luYyI6IjAiLCJpcDRfbGFzdCI6IjIxMzA3MDY0\nMzMiLCJpcDRfdW5zdWIiOiIwIiwibGlzdG5hbWUiOiJwbGF5ZXJzX25vIn0s\nIjEiOnsiaWQiOiI0Iiwic3Vic2NyaWJlcmlkIjoiMiIsImxpc3RpZCI6IjEi\nLCJmb3JtaWQiOiIwIiwic2RhdGUiOiIyMDEzLTEwLTE2IDEzOjQ4OjU3Iiwi\ndWRhdGUiOm51bGwsInN0YXR1cyI6IjEiLCJyZXNwb25kZXIiOiIxIiwic3lu\nYyI6IjAiLCJ1bnN1YnJlYXNvbiI6bnVsbCwidW5zdWJjYW1wYWlnbmlkIjoi\nMCIsInVuc3VibWVzc2FnZWlkIjoiMCIsImZpcnN0X25hbWUiOiJNaWthZWwi\nLCJsYXN0X25hbWUiOiJIZW5yaWtzc29uIiwiaXA0X3N1YiI6IjAiLCJzb3Vy\nY2VpZCI6IjQiLCJzb3VyY2VpZF9hdXRvc3luYyI6IjAiLCJpcDRfbGFzdCI6\nIjAiLCJpcDRfdW5zdWIiOiIwIiwibGlzdG5hbWUiOiJwbGF5ZXJzX3N2In19\nLCJsaXN0c2xpc3QiOiIyLTEiLCJmaWVsZHMiOnsiMyI6eyJpZCI6IjMiLCJ0\naXRsZSI6IkF2YXRhciIsImRlc2NyaXB0IjpudWxsLCJ0eXBlIjoiaGlkZGVu\nIiwiaXNyZXF1aXJlZCI6IjAiLCJwZXJzdGFnIjoiQVZBVEFSIiwiZGVmdmFs\nIjoiMSIsInNob3dfaW5fbGlzdCI6IjEiLCJyb3dzIjoiMCIsImNvbHMiOiIw\nIiwidmlzaWJsZSI6IjEiLCJzZXJ2aWNlIjoiIiwidmFsIjpudWxsLCJyZWxp\nZCI6IjAiLCJkYXRhaWQiOiIwIiwiZWxlbWVudCI6ImhpZGRlbiIsInRhZyI6\nIiVBVkFUQVIlIn0sIjE0Ijp7ImlkIjoiMTQiLCJ0aXRsZSI6IlVzZXJuYW1l\nIiwiZGVzY3JpcHQiOm51bGwsInR5cGUiOiJoaWRkZW4iLCJpc3JlcXVpcmVk\nIjoiMCIsInBlcnN0YWciOiJVU0VSTkFNRSIsImRlZnZhbCI6IiIsInNob3df\naW5fbGlzdCI6IjEiLCJyb3dzIjoiMCIsImNvbHMiOiIwIiwidmlzaWJsZSI6\nIjAiLCJzZXJ2aWNlIjoiIiwidmFsIjpudWxsLCJyZWxpZCI6IjAiLCJkYXRh\naWQiOiIwIiwiZWxlbWVudCI6ImhpZGRlbiIsInRhZyI6IiVVU0VSTkFNRSUi\nfSwiOSI6eyJpZCI6IjkiLCJ0aXRsZSI6IkJhbGFuY2UiLCJkZXNjcmlwdCI6\nbnVsbCwidHlwZSI6ImhpZGRlbiIsImlzcmVxdWlyZWQiOiIwIiwicGVyc3Rh\nZyI6IkJBTEFOQ0UiLCJkZWZ2YWwiOiIiLCJzaG93X2luX2xpc3QiOiIxIiwi\ncm93cyI6IjAiLCJjb2xzIjoiMCIsInZpc2libGUiOiIwIiwic2VydmljZSI6\nIiIsInZhbCI6IjEwMCIsInJlbGlkIjoiMCIsImRhdGFpZCI6IjEiLCJlbGVt\nZW50IjoiaGlkZGVuIiwidGFnIjoiJUJBTEFOQ0UlIn0sIjIiOnsiaWQiOiIy\nIiwidGl0bGUiOiJCaXJ0aGRhdGUiLCJkZXNjcmlwdCI6bnVsbCwidHlwZSI6\nImhpZGRlbiIsImlzcmVxdWlyZWQiOiIwIiwicGVyc3RhZyI6IkJJUlRIREFU\nRSIsImRlZnZhbCI6IiIsInNob3dfaW5fbGlzdCI6IjEiLCJyb3dzIjoiMCIs\nImNvbHMiOiIwIiwidmlzaWJsZSI6IjAiLCJzZXJ2aWNlIjoiIiwidmFsIjpu\ndWxsLCJyZWxpZCI6IjAiLCJkYXRhaWQiOiIwIiwiZWxlbWVudCI6ImhpZGRl\nbiIsInRhZyI6IiVCSVJUSERBVEUlIn0sIjUiOnsiaWQiOiI1IiwidGl0bGUi\nOiJCb251c2FidXNlciIsImRlc2NyaXB0IjpudWxsLCJ0eXBlIjoiaGlkZGVu\nIiwiaXNyZXF1aXJlZCI6IjAiLCJwZXJzdGFnIjoiQk9OVVNBQlVTRVIiLCJk\nZWZ2YWwiOiIiLCJzaG93X2luX2xpc3QiOiIxIiwicm93cyI6IjAiLCJjb2xz\nIjoiMCIsInZpc2libGUiOiIwIiwic2VydmljZSI6IiIsInZhbCI6bnVsbCwi\ncmVsaWQiOiIwIiwiZGF0YWlkIjoiMCIsImVsZW1lbnQiOiJoaWRkZW4iLCJ0\nYWciOiIlQk9OVVNBQlVTRVIlIn0sIjExIjp7ImlkIjoiMTEiLCJ0aXRsZSI6\nIkNvbmZpcm1hdGlvbnRva2VuIiwiZGVzY3JpcHQiOm51bGwsInR5cGUiOiJo\naWRkZW4iLCJpc3JlcXVpcmVkIjoiMCIsInBlcnN0YWciOiJDT05GSVJNQVRJ\nT05UT0tFTiIsImRlZnZhbCI6IiIsInNob3dfaW5fbGlzdCI6IjEiLCJyb3dz\nIjoiMCIsImNvbHMiOiIwIiwidmlzaWJsZSI6IjEiLCJzZXJ2aWNlIjoiIiwi\ndmFsIjpudWxsLCJyZWxpZCI6IjAiLCJkYXRhaWQiOiIwIiwiZWxlbWVudCI6\nImhpZGRlbiIsInRhZyI6IiVDT05GSVJNQVRJT05UT0tFTiUifSwiNCI6eyJp\nZCI6IjQiLCJ0aXRsZSI6IkNvdW50cnkiLCJkZXNjcmlwdCI6bnVsbCwidHlw\nZSI6ImhpZGRlbiIsImlzcmVxdWlyZWQiOiIwIiwicGVyc3RhZyI6IkNPVU5U\nUlkiLCJkZWZ2YWwiOiIiLCJzaG93X2luX2xpc3QiOiIxIiwicm93cyI6IjAi\nLCJjb2xzIjoiMCIsInZpc2libGUiOiIwIiwic2VydmljZSI6IiIsInZhbCI6\nbnVsbCwicmVsaWQiOiIwIiwiZGF0YWlkIjoiMCIsImVsZW1lbnQiOiJoaWRk\nZW4iLCJ0YWciOiIlQ09VTlRSWSUifSwiMTAiOnsiaWQiOiIxMCIsInRpdGxl\nIjoiUGFzc3dvcmR0b2tlbiIsImRlc2NyaXB0IjpudWxsLCJ0eXBlIjoiaGlk\nZGVuIiwiaXNyZXF1aXJlZCI6IjAiLCJwZXJzdGFnIjoiUEFTU1dPUkRUT0tF\nTiIsImRlZnZhbCI6IiIsInNob3dfaW5fbGlzdCI6IjEiLCJyb3dzIjoiMCIs\nImNvbHMiOiIwIiwidmlzaWJsZSI6IjEiLCJzZXJ2aWNlIjoiIiwidmFsIjpu\ndWxsLCJyZWxpZCI6IjAiLCJkYXRhaWQiOiIwIiwiZWxlbWVudCI6ImhpZGRl\nbiIsInRhZyI6IiVQQVNTV09SRFRPS0VOJSJ9LCI2Ijp7ImlkIjoiNiIsInRp\ndGxlIjoiUHJvZ3Jlc3Nwb2ludHMiLCJkZXNjcmlwdCI6bnVsbCwidHlwZSI6\nImhpZGRlbiIsImlzcmVxdWlyZWQiOiIwIiwicGVyc3RhZyI6IlBST0dSRVNT\nUE9JTlRTIiwiZGVmdmFsIjoiIiwic2hvd19pbl9saXN0IjoiMSIsInJvd3Mi\nOiIwIiwiY29scyI6IjAiLCJ2aXNpYmxlIjoiMSIsInNlcnZpY2UiOiIiLCJ2\nYWwiOm51bGwsInJlbGlkIjoiMCIsImRhdGFpZCI6IjAiLCJlbGVtZW50Ijoi\naGlkZGVuIiwidGFnIjoiJVBST0dSRVNTUE9JTlRTJSJ9LCIxMyI6eyJpZCI6\nIjEzIiwidGl0bGUiOiJSZWdpc3RyYXRpb25kYXRlIiwiZGVzY3JpcHQiOm51\nbGwsInR5cGUiOiJoaWRkZW4iLCJpc3JlcXVpcmVkIjoiMCIsInBlcnN0YWci\nOiJSRUdJU1RSQVRJT05EQVRFIiwiZGVmdmFsIjoiIiwic2hvd19pbl9saXN0\nIjoiMSIsInJvd3MiOiIwIiwiY29scyI6IjAiLCJ2aXNpYmxlIjoiMCIsInNl\ncnZpY2UiOiIiLCJ2YWwiOm51bGwsInJlbGlkIjoiMCIsImRhdGFpZCI6IjAi\nLCJlbGVtZW50IjoiaGlkZGVuIiwidGFnIjoiJVJFR0lTVFJBVElPTkRBVEUl\nIn0sIjEyIjp7ImlkIjoiMTIiLCJ0aXRsZSI6IlRvdGFsZGVwb3NpdCIsImRl\nc2NyaXB0IjpudWxsLCJ0eXBlIjoiaGlkZGVuIiwiaXNyZXF1aXJlZCI6IjAi\nLCJwZXJzdGFnIjoiVE9UQUxERVBPU0lUIiwiZGVmdmFsIjoiIiwic2hvd19p\nbl9saXN0IjoiMSIsInJvd3MiOiIwIiwiY29scyI6IjAiLCJ2aXNpYmxlIjoi\nMCIsInNlcnZpY2UiOiIiLCJ2YWwiOm51bGwsInJlbGlkIjoiMCIsImRhdGFp\nZCI6IjAiLCJlbGVtZW50IjoiaGlkZGVuIiwidGFnIjoiJVRPVEFMREVQT1NJ\nVCUifSwiOCI6eyJpZCI6IjgiLCJ0aXRsZSI6IlRvdGFsbG9zcyIsImRlc2Ny\naXB0IjpudWxsLCJ0eXBlIjoiaGlkZGVuIiwiaXNyZXF1aXJlZCI6IjAiLCJw\nZXJzdGFnIjoiVE9UQUxMT1NTIiwiZGVmdmFsIjoiIiwic2hvd19pbl9saXN0\nIjoiMSIsInJvd3MiOiIwIiwiY29scyI6IjAiLCJ2aXNpYmxlIjoiMCIsInNl\ncnZpY2UiOiIiLCJ2YWwiOm51bGwsInJlbGlkIjoiMCIsImRhdGFpZCI6IjAi\nLCJlbGVtZW50IjoiaGlkZGVuIiwidGFnIjoiJVRPVEFMTE9TUyUifSwiNyI6\neyJpZCI6IjciLCJ0aXRsZSI6IlhQIiwiZGVzY3JpcHQiOm51bGwsInR5cGUi\nOiJoaWRkZW4iLCJpc3JlcXVpcmVkIjoiMCIsInBlcnN0YWciOiJYUCIsImRl\nZnZhbCI6IiIsInNob3dfaW5fbGlzdCI6IjEiLCJyb3dzIjoiMCIsImNvbHMi\nOiIwIiwidmlzaWJsZSI6IjEiLCJzZXJ2aWNlIjoiIiwidmFsIjpudWxsLCJy\nZWxpZCI6IjAiLCJkYXRhaWQiOiIwIiwiZWxlbWVudCI6ImhpZGRlbiIsInRh\nZyI6IiVYUCUifX0sImFjdGlvbnMiOltdLCJjYW1wYWlnbl9oaXN0b3J5Ijpb\nXSwiYm91bmNlcyI6eyJtYWlsaW5nIjpbXSwibWFpbGluZ3MiOjAsInJlc3Bv\nbmRlciI6W10sInJlc3BvbmRlcnMiOjB9LCJib3VuY2VzY250IjowLCJyZXN1\nbHRfY29kZSI6MSwicmVzdWx0X21lc3NhZ2UiOiJTdWNjZXNzOiBTb21ldGhp\nbmcgaXMgcmV0dXJuZWQiLCJyZXN1bHRfb3V0cHV0IjoianNvbiJ9\n"},"http_version":null},"recorded_at":"Wed, 16 Oct 2013 19:31:03 GMT"}],"recorded_with":"VCR 2.6.0"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"\u003CAPI_ENDPOINT\u003Eadmin/api.php?api_action=list_list\u0026api_key=\u003CAPI_KEY\u003E\u0026api_output=json\u0026ids=all","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["ActiveCampaign Ruby Gem 0.1.3"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"X-Powered-By":["PHP/5.3.3"],"Set-Cookie":["PHPSESSID=0pelvglhm8t0n9ds59aemhu211; path=/; Secure","em_acp_globalauth_cookie=cdb9730a7400f13b7fc0e8e8a8689d611; path=/; domain=casinosaga.activehosted.com; secure","em_acp_globalauth_cookie=deleted; expires=Tue, 16-Oct-2012 19:23:27 GMT; path=/; domain=casinosaga.activehosted.com; secure"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Pragma":["no-cache"],"Content-Type":["application/json; charset=utf-8"],"Cache-Control":["no-store, max-age=0, must-revalidate"],"Transfer-Encoding":["chunked"],"Date":["Wed, 16 Oct 2013 19:23:28 GMT"],"Server":["lighttpd/1.4.31"],"Connection":["Keep-alive"],"Keep-Alive":["timeout=15, max=100"],"Via":["1.1 ID-0001242756263011 uproxy-3"]},"body":{"encoding":"UTF-8","base64_string":"eyIwIjp7ImlkIjoiMSIsIm5hbWUiOiJwbGF5ZXJzX3N2IiwiY2RhdGUiOiIy\nMDEzLTEwLTE2IDA0OjMwOjAxIiwicHJpdmF0ZSI6IjAiLCJ1c2VyaWQiOiIx\nIiwic3Vic2NyaWJlcl9jb3VudCI6MX0sIjEiOnsiaWQiOiIyIiwibmFtZSI6\nInBsYXllcnNfbm8iLCJjZGF0ZSI6IjIwMTMtMTAtMTYgMDQ6MzA6NDMiLCJw\ncml2YXRlIjoiMCIsInVzZXJpZCI6IjEiLCJzdWJzY3JpYmVyX2NvdW50Ijow\nfSwiMiI6eyJpZCI6IjMiLCJuYW1lIjoicGxheWVyc19maSIsImNkYXRlIjoi\nMjAxMy0xMC0xNiAwNDozMToyMiIsInByaXZhdGUiOiIwIiwidXNlcmlkIjoi\nMSIsInN1YnNjcmliZXJfY291bnQiOjB9LCIzIjp7ImlkIjoiNCIsIm5hbWUi\nOiJwbGF5ZXJzX2VuIiwiY2RhdGUiOiIyMDEzLTEwLTE2IDA0OjMxOjQ4Iiwi\ncHJpdmF0ZSI6IjAiLCJ1c2VyaWQiOiIxIiwic3Vic2NyaWJlcl9jb3VudCI6\nMH0sInJlc3VsdF9jb2RlIjoxLCJyZXN1bHRfbWVzc2FnZSI6IlN1Y2Nlc3M6\nIFNvbWV0aGluZyBpcyByZXR1cm5lZCIsInJlc3VsdF9vdXRwdXQiOiJqc29u\nIn0=\n"},"http_version":null},"recorded_at":"Wed, 16 Oct 2013 19:23:28 GMT"}],"recorded_with":"VCR 2.6.0"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"http_interactions":[{"request":{"method":"get","uri":"\u003CAPI_ENDPOINT\u003Eadmin/api.php?api_action=list_view\u0026api_key=\u003CAPI_KEY\u003E\u0026api_output=json\u0026id=1","body":{"encoding":"US-ASCII","base64_string":""},"headers":{"User-Agent":["ActiveCampaign Ruby Gem 0.1.3"],"Accept-Encoding":["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"],"Accept":["*/*"]}},"response":{"status":{"code":200,"message":"OK"},"headers":{"X-Powered-By":["PHP/5.3.3"],"Set-Cookie":["PHPSESSID=mll68on7a38r2sggkbpdck0ku0; path=/; Secure","em_acp_globalauth_cookie=cdb9730a7400f13b7fc0e8e8a8689d611; path=/; domain=casinosaga.activehosted.com; secure","em_acp_globalauth_cookie=deleted; expires=Tue, 16-Oct-2012 19:23:25 GMT; path=/; domain=casinosaga.activehosted.com; secure"],"Expires":["Thu, 19 Nov 1981 08:52:00 GMT"],"Pragma":["no-cache"],"Content-Type":["application/json; charset=utf-8"],"Cache-Control":["no-store, max-age=0, must-revalidate"],"Transfer-Encoding":["chunked"],"Date":["Wed, 16 Oct 2013 19:23:26 GMT"],"Server":["lighttpd/1.4.31"],"Connection":["Keep-alive"],"Keep-Alive":["timeout=15, max=100"],"Via":["1.1 ID-0001242756263011 uproxy-2"]},"body":{"encoding":"UTF-8","base64_string":"eyJpZCI6IjEiLCJzdHJpbmdpZCI6InBsYXllcnNfc3YiLCJ1c2VyaWQiOiIx\nIiwibmFtZSI6InBsYXllcnNfc3YiLCJjZGF0ZSI6IjIwMTMtMTAtMTYgMDQ6\nMzA6MDEiLCJwX3VzZV90cmFja2luZyI6IjEiLCJwX3VzZV9hbmFseXRpY3Nf\ncmVhZCI6IjAiLCJwX3VzZV9hbmFseXRpY3NfbGluayI6IjAiLCJwX3VzZV90\nd2l0dGVyIjoiMCIsInBfdXNlX2ZhY2Vib29rIjoiMCIsInBfZW1iZWRfaW1h\nZ2UiOiIxIiwicF91c2VfY2FwdGNoYSI6IjEiLCJzZW5kX2xhc3RfYnJvYWRj\nYXN0IjoiMCIsInByaXZhdGUiOiIwIiwiYW5hbHl0aWNzX2RvbWFpbnMiOm51\nbGwsImFuYWx5dGljc19zb3VyY2UiOiIiLCJhbmFseXRpY3NfdWEiOiIiLCJ0\nd2l0dGVyX3Rva2VuIjoiIiwidHdpdHRlcl90b2tlbl9zZWNyZXQiOiIiLCJm\nYWNlYm9va19zZXNzaW9uIjpudWxsLCJjYXJib25jb3B5IjpudWxsLCJzdWJz\nY3JpcHRpb25fbm90aWZ5IjpudWxsLCJ1bnN1YnNjcmlwdGlvbl9ub3RpZnki\nOm51bGwsInJlcXVpcmVfbmFtZSI6IjAiLCJnZXRfdW5zdWJzY3JpYmVfcmVh\nc29uIjoiMCIsInRvX25hbWUiOiJTdWJzY3JpYmVyIiwib3B0aW5vcHRvdXQi\nOiIxIiwic2VuZGVyX25hbWUiOiJDYXNpbm8gU2FnYSBMaW1pdGVkIiwic2Vu\nZGVyX2FkZHIxIjoiQ2VudHJhbCBCdXNpbmVzcyBDZW50cmUiLCJzZW5kZXJf\nYWRkcjIiOiJNZGluYSBSb2FkIiwic2VuZGVyX2NpdHkiOiJaZWJidWciLCJz\nZW5kZXJfc3RhdGUiOiIiLCJzZW5kZXJfemlwIjoiWkJHIDkwMTUiLCJzZW5k\nZXJfY291bnRyeSI6Ik1hbHRhIiwic2VuZGVyX3Bob25lIjoiIiwic2VuZGVy\nX3VybCI6Imh0dHA6XC9cL3d3dy5jYXNpbm9zYWdhLmNvbSIsInNlbmRlcl9y\nZW1pbmRlciI6IkR1IFx1MDBlNHIgbWVkbGVtIGhvcyBDYXNpbm9TYWdhLmNv\nbSwgZlx1MDBmNnIgYXR0IFx1MDBlNG5kcmEgaW5zdFx1MDBlNGxsbmluZ2Fy\nLCB2XHUwMGU0bmxpZ2VuIGxvZ2dhIGluIHBcdTAwZTUgZGl0dCBrb250by4i\nLCJmdWxsYWRkcmVzcyI6IkNhc2lubyBTYWdhIExpbWl0ZWQsIENlbnRyYWwg\nQnVzaW5lc3MgQ2VudHJlIE1kaW5hIFJvYWQsIFplYmJ1ZywgIFpCRyA5MDE1\nLCBNYWx0YSIsIm9wdGlubWVzc2FnZWlkIjowLCJvcHRvdXRjb25mIjoiMCIs\nImRlbGV0ZXN0YW1wIjpudWxsLCJsaXN0aWQiOiIxIiwicF9hZG1pbiI6IjEi\nLCJwX2xpc3RfYWRkIjoiMSIsInBfbGlzdF9lZGl0IjoiMSIsInBfbGlzdF9k\nZWxldGUiOiIxIiwicF9saXN0X3N5bmMiOiIxIiwicF9saXN0X2ZpbHRlciI6\nIjEiLCJwX21lc3NhZ2VfYWRkIjoiMSIsInBfbWVzc2FnZV9lZGl0IjoiMSIs\nInBfbWVzc2FnZV9kZWxldGUiOiIxIiwicF9tZXNzYWdlX3NlbmQiOiIxIiwi\ncF9zdWJzY3JpYmVyX2FkZCI6IjEiLCJwX3N1YnNjcmliZXJfZWRpdCI6IjEi\nLCJwX3N1YnNjcmliZXJfZGVsZXRlIjoiMSIsInBfc3Vic2NyaWJlcl9pbXBv\ncnQiOiIxIiwicF9zdWJzY3JpYmVyX2FwcHJvdmUiOiIxIiwibHVzZXJpZCI6\nIjEiLCJmaWVsZHMiOltdLCJncm91cHMiOnsiMyI6eyJpZCI6IjMiLCJ0aXRs\nZSI6IkFkbWluIiwiZGVzY3JpcHQiOiJUaGlzIGlzIGEgZ3JvdXAgZm9yIGFk\nbWluIHVzZXJzIChwZW9wbGUgdGhhdCBjYW4gbWFuYWdlIGNvbnRlbnQpIiwi\ndW5zdWJzY3JpYmVsaW5rIjoiMCIsIm9wdGluY29uZmlybSI6IjAiLCJwX2Fk\nbWluIjoiMSIsInBnX2xpc3RfYWRkIjoiMSIsInBnX2xpc3RfZWRpdCI6IjEi\nLCJwZ19saXN0X2RlbGV0ZSI6IjEiLCJwZ19saXN0X2hlYWRlcnMiOiIxIiwi\ncGdfbGlzdF9lbWFpbGFjY291bnQiOiIxIiwicGdfbGlzdF9ib3VuY2UiOiIx\nIiwicGdfbWVzc2FnZV9hZGQiOiIxIiwicGdfbWVzc2FnZV9lZGl0IjoiMSIs\nInBnX21lc3NhZ2VfZGVsZXRlIjoiMSIsInBnX21lc3NhZ2Vfc2VuZCI6IjEi\nLCJwZ19zdWJzY3JpYmVyX2FkZCI6IjEiLCJwZ19zdWJzY3JpYmVyX2VkaXQi\nOiIxIiwicGdfc3Vic2NyaWJlcl9kZWxldGUiOiIxIiwicGdfc3Vic2NyaWJl\ncl9pbXBvcnQiOiIxIiwicGdfc3Vic2NyaWJlcl9hcHByb3ZlIjoiMSIsInBn\nX3N1YnNjcmliZXJfZXhwb3J0IjoiMSIsInBnX3N1YnNjcmliZXJfc3luYyI6\nIjEiLCJwZ19zdWJzY3JpYmVyX2ZpbHRlcnMiOiIxIiwicGdfc3Vic2NyaWJl\ncl9hY3Rpb25zIjoiMSIsInBnX3N1YnNjcmliZXJfZmllbGRzIjoiMSIsInBn\nX3VzZXJfYWRkIjoiMSIsInBnX3VzZXJfZWRpdCI6IjEiLCJwZ191c2VyX2Rl\nbGV0ZSI6IjEiLCJwZ19ncm91cF9hZGQiOiIxIiwicGdfZ3JvdXBfZWRpdCI6\nIjEiLCJwZ19ncm91cF9kZWxldGUiOiIxIiwicGdfdGVtcGxhdGVfYWRkIjoi\nMSIsInBnX3RlbXBsYXRlX2VkaXQiOiIxIiwicGdfdGVtcGxhdGVfZGVsZXRl\nIjoiMSIsInBnX3BlcnNvbmFsaXphdGlvbl9hZGQiOiIxIiwicGdfcGVyc29u\nYWxpemF0aW9uX2VkaXQiOiIxIiwicGdfcGVyc29uYWxpemF0aW9uX2RlbGV0\nZSI6IjEiLCJwZ19mb3JtX2VkaXQiOiIxIiwicGdfcmVwb3J0c19jYW1wYWln\nbiI6IjEiLCJwZ19yZXBvcnRzX2xpc3QiOiIxIiwicGdfcmVwb3J0c191c2Vy\nIjoiMSIsInBnX3JlcG9ydHNfdHJlbmQiOiIxIiwicGdfc3RhcnR1cF9yZXBv\ncnRzIjoiMSIsInBnX3N0YXJ0dXBfZ2V0dGluZ3N0YXJ0ZWQiOiIxIiwic2Rh\ndGUiOiIyMDEzLTEwLTE2IDAzOjQ1OjM0IiwicmVxX2FwcHJvdmFsIjoiMCIs\nInJlcV9hcHByb3ZhbF8xc3QiOiIyIiwicmVxX2FwcHJvdmFsX25vdGlmeSI6\nIiIsInNvY2lhbGRhdGEiOiIwIiwibGlzdGlkIjoiMSIsImdyb3VwaWQiOiIz\nIiwicF9saXN0X2FkZCI6IjAiLCJwX2xpc3RfZWRpdCI6IjAiLCJwX2xpc3Rf\nZGVsZXRlIjoiMCIsInBfbGlzdF9zeW5jIjoiMSIsInBfbGlzdF9maWx0ZXIi\nOiIxIiwicF9tZXNzYWdlX2FkZCI6IjEiLCJwX21lc3NhZ2VfZWRpdCI6IjEi\nLCJwX21lc3NhZ2VfZGVsZXRlIjoiMSIsInBfbWVzc2FnZV9zZW5kIjoiMSIs\nInBfc3Vic2NyaWJlcl9hZGQiOiIxIiwicF9zdWJzY3JpYmVyX2VkaXQiOiIx\nIiwicF9zdWJzY3JpYmVyX2RlbGV0ZSI6IjEiLCJwX3N1YnNjcmliZXJfaW1w\nb3J0IjoiMSIsInBfc3Vic2NyaWJlcl9hcHByb3ZlIjoiMSJ9LCIxIjp7Imlk\nIjoiMSIsInRpdGxlIjoiVmlzaXRvciIsImRlc2NyaXB0IjoiVGhpcyBpcyBh\nIGdyb3VwIGZvciBzaXRlIHZpc2l0b3JzIChwZW9wbGUgdGhhdCBhcmUgbm90\nIGxvZ2dlZCBpbikiLCJ1bnN1YnNjcmliZWxpbmsiOiIwIiwib3B0aW5jb25m\naXJtIjoiMCIsInBfYWRtaW4iOiIwIiwicGdfbGlzdF9hZGQiOiIwIiwicGdf\nbGlzdF9lZGl0IjoiMCIsInBnX2xpc3RfZGVsZXRlIjoiMCIsInBnX2xpc3Rf\naGVhZGVycyI6IjAiLCJwZ19saXN0X2VtYWlsYWNjb3VudCI6IjAiLCJwZ19s\naXN0X2JvdW5jZSI6IjAiLCJwZ19tZXNzYWdlX2FkZCI6IjAiLCJwZ19tZXNz\nYWdlX2VkaXQiOiIwIiwicGdfbWVzc2FnZV9kZWxldGUiOiIwIiwicGdfbWVz\nc2FnZV9zZW5kIjoiMCIsInBnX3N1YnNjcmliZXJfYWRkIjoiMCIsInBnX3N1\nYnNjcmliZXJfZWRpdCI6IjAiLCJwZ19zdWJzY3JpYmVyX2RlbGV0ZSI6IjAi\nLCJwZ19zdWJzY3JpYmVyX2ltcG9ydCI6IjAiLCJwZ19zdWJzY3JpYmVyX2Fw\ncHJvdmUiOiIwIiwicGdfc3Vic2NyaWJlcl9leHBvcnQiOiIwIiwicGdfc3Vi\nc2NyaWJlcl9zeW5jIjoiMCIsInBnX3N1YnNjcmliZXJfZmlsdGVycyI6IjAi\nLCJwZ19zdWJzY3JpYmVyX2FjdGlvbnMiOiIwIiwicGdfc3Vic2NyaWJlcl9m\naWVsZHMiOiIwIiwicGdfdXNlcl9hZGQiOiIwIiwicGdfdXNlcl9lZGl0Ijoi\nMCIsInBnX3VzZXJfZGVsZXRlIjoiMCIsInBnX2dyb3VwX2FkZCI6IjAiLCJw\nZ19ncm91cF9lZGl0IjoiMCIsInBnX2dyb3VwX2RlbGV0ZSI6IjAiLCJwZ190\nZW1wbGF0ZV9hZGQiOiIwIiwicGdfdGVtcGxhdGVfZWRpdCI6IjAiLCJwZ190\nZW1wbGF0ZV9kZWxldGUiOiIwIiwicGdfcGVyc29uYWxpemF0aW9uX2FkZCI6\nIjAiLCJwZ19wZXJzb25hbGl6YXRpb25fZWRpdCI6IjAiLCJwZ19wZXJzb25h\nbGl6YXRpb25fZGVsZXRlIjoiMCIsInBnX2Zvcm1fZWRpdCI6IjAiLCJwZ19y\nZXBvcnRzX2NhbXBhaWduIjoiMCIsInBnX3JlcG9ydHNfbGlzdCI6IjAiLCJw\nZ19yZXBvcnRzX3VzZXIiOiIwIiwicGdfcmVwb3J0c190cmVuZCI6IjAiLCJw\nZ19zdGFydHVwX3JlcG9ydHMiOiIwIiwicGdfc3RhcnR1cF9nZXR0aW5nc3Rh\ncnRlZCI6IjAiLCJzZGF0ZSI6IjIwMTMtMTAtMTYgMDM6NDU6MzQiLCJyZXFf\nYXBwcm92YWwiOiIwIiwicmVxX2FwcHJvdmFsXzFzdCI6IjIiLCJyZXFfYXBw\ncm92YWxfbm90aWZ5IjoiIiwic29jaWFsZGF0YSI6IjAiLCJsaXN0aWQiOiIx\nIiwiZ3JvdXBpZCI6IjEiLCJwX2xpc3RfYWRkIjoiMCIsInBfbGlzdF9lZGl0\nIjoiMCIsInBfbGlzdF9kZWxldGUiOiIwIiwicF9saXN0X3N5bmMiOiIwIiwi\ncF9saXN0X2ZpbHRlciI6IjAiLCJwX21lc3NhZ2VfYWRkIjoiMCIsInBfbWVz\nc2FnZV9lZGl0IjoiMCIsInBfbWVzc2FnZV9kZWxldGUiOiIwIiwicF9tZXNz\nYWdlX3NlbmQiOiIwIiwicF9zdWJzY3JpYmVyX2FkZCI6IjAiLCJwX3N1YnNj\ncmliZXJfZWRpdCI6IjAiLCJwX3N1YnNjcmliZXJfZGVsZXRlIjoiMCIsInBf\nc3Vic2NyaWJlcl9pbXBvcnQiOiIwIiwicF9zdWJzY3JpYmVyX2FwcHJvdmUi\nOiIwIn19LCJncm91cHNDbnQiOjIsImJvdW5jZXMiOlt7ImlkIjoiMSIsInVz\nZXJpZCI6IjEiLCJ0eXBlIjoicGlwZSIsImVtYWlsIjoiYm91bmNlLTcwNTc2\nQHMxLmFjZW1zMi5jb20iLCJob3N0IjpudWxsLCJwb3J0IjoiMTEwIiwidXNl\nciI6bnVsbCwicGFzcyI6bnVsbCwibWV0aG9kIjoiIiwibGltaXRfaGFyZCI6\nIjEiLCJsaW1pdF9zb2Z0IjoiMyIsImVtYWlsc19wZXJfYmF0Y2giOiIxMjAi\nfV0sImFuYWx5dGljc19kb21haW5zX2xpc3QiOltdLCJmYWNlYm9va19vYXV0\naF9sb2dvdXRfdXJsIjoiIiwiZmFjZWJvb2tfb2F1dGhfbG9naW5fdXJsIjoi\naHR0cHM6XC9cL3d3dy5mYWNlYm9vay5jb21cL2RpYWxvZ1wvb2F1dGg/Y2xp\nZW50X2lkPTExODUwNjQ4MTU1NTA5MyZyZWRpcmVjdF91cmk9aHR0cHMlM0El\nMkYlMkZjYXNpbm9zYWdhLmFjdGl2ZWhvc3RlZC5jb20lMkZhZG1pbiUyRm1h\naW4ucGhwJTNGYWN0aW9uJTNEbGlzdCUyNmZvcm1pZCUzRDEmc2NvcGU9cHVi\nbGlzaF9zdHJlYW0sbWFuYWdlX3BhZ2VzIiwiZmFjZWJvb2tfb2F1dGhfbWUi\nOm51bGwsInJlc3VsdF9jb2RlIjoxLCJyZXN1bHRfbWVzc2FnZSI6IlN1Y2Nl\nc3M6IFNvbWV0aGluZyBpcyByZXR1cm5lZCIsInJlc3VsdF9vdXRwdXQiOiJq\nc29uIn0=\n"},"http_version":null},"recorded_at":"Wed, 16 Oct 2013 19:23:27 GMT"}],"recorded_with":"VCR 2.6.0"}
|
@@ -1,36 +1,37 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
|
-
describe ActiveCampaign::Client::Contacts do
|
4
|
+
describe ActiveCampaign::Client::Contacts, :vcr do
|
5
5
|
|
6
6
|
initialize_new_client
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
8
|
+
describe ".contact_sync" do
|
9
|
+
context "when successful" do
|
10
|
+
let(:params) do
|
11
|
+
{
|
12
|
+
query: { listid: 1 },
|
13
|
+
id: 1,
|
14
|
+
email: 'mhenrixon@me.com',
|
15
|
+
first_name: 'Mikael',
|
16
|
+
last_name: 'Henriksson',
|
17
|
+
"p" => {"1" => 1},
|
18
|
+
"status" => {"1" => 1},
|
19
|
+
"instantresponders" => {"1" => 1},
|
20
|
+
ip4: '127.0.0.1',
|
21
|
+
}.stringify_keys
|
22
|
+
end
|
20
23
|
|
21
|
-
|
22
|
-
to_return json_response("contact_sync.json")
|
24
|
+
subject(:response) { @client.contact_sync params }
|
23
25
|
|
24
|
-
|
26
|
+
it "returns 1 for result_code" do
|
27
|
+
expect(response.result_code).to eq 1
|
28
|
+
end
|
29
|
+
end
|
25
30
|
end
|
26
31
|
|
27
32
|
describe ".contact_view" do
|
28
|
-
it "
|
29
|
-
|
30
|
-
with(email: "mikael@zoolutions.se").
|
31
|
-
to_return json_response("contact_view.json")
|
32
|
-
|
33
|
-
contact = @client.contact_view(email: "mikael@zoolutions.se")
|
33
|
+
it "can find contact by id" do
|
34
|
+
contact = @client.contact_view id: 2
|
34
35
|
expect(contact.first_name).to eq "Mikael"
|
35
36
|
expect(contact.last_name).to eq "Henriksson"
|
36
37
|
end
|
data/spec/client/lists_spec.rb
CHANGED
@@ -1,44 +1,40 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
|
-
describe ActiveCampaign::Client::Lists do
|
4
|
+
describe ActiveCampaign::Client::Lists, :vcr do
|
5
5
|
|
6
6
|
initialize_new_client
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
8
|
+
# it "add a list", :vcr do
|
9
|
+
# params = {
|
10
|
+
# "id" => 1,
|
11
|
+
# "email" => 'mhenrixon@me.com',
|
12
|
+
# "name"=> 'Mikael',
|
13
|
+
# "last_name" => 'Henriksson',
|
14
|
+
# "p[1]" => 1,
|
15
|
+
# "status[1]" => 1,
|
16
|
+
# "instantresponders[1]" => 1,
|
17
|
+
# "field[%BALANCE%,0]" => 100,
|
18
|
+
# "ip4" => '127.0.0.1',
|
19
|
+
# "status[2]" => 2,
|
20
|
+
# "listid" => 1
|
21
|
+
# }.stringify_keys
|
22
|
+
|
23
|
+
# list = ActiveCampaign.list_add params
|
24
|
+
# end
|
25
25
|
|
26
26
|
describe ".list_view" do
|
27
|
-
it "
|
28
|
-
stub_get("list_view", id: 1).
|
29
|
-
to_return json_response("list_view.json")
|
30
|
-
|
27
|
+
it "can find lists by id" do
|
31
28
|
list = @client.list_view id: 1
|
32
|
-
expect(list.name).to eq "
|
29
|
+
expect(list.name).to eq "players_sv"
|
33
30
|
end
|
31
|
+
end
|
34
32
|
|
35
|
-
|
36
|
-
|
37
|
-
# stub_get("list_view", name: "Swedish Players").
|
38
|
-
# to_return json_response("list_view.json")
|
33
|
+
describe ".list_list" do
|
34
|
+
it "can find a list of lists" do
|
39
35
|
|
40
36
|
lists = @client.list_list "ids" => 'all'
|
41
|
-
expect(lists.results[0].name).to eq "
|
37
|
+
expect(lists.results[0].name).to eq "players_sv"
|
42
38
|
end
|
43
39
|
end
|
44
40
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'simplecov'
|
2
2
|
require 'coveralls'
|
3
|
+
require 'pry'
|
3
4
|
require "codeclimate-test-reporter"
|
4
5
|
formatters = [SimpleCov::Formatter::HTMLFormatter, Coveralls::SimpleCov::Formatter]
|
5
6
|
|
@@ -31,7 +32,11 @@ require 'vcr'
|
|
31
32
|
VCR.configure do |c|
|
32
33
|
c.configure_rspec_metadata!
|
33
34
|
c.filter_sensitive_data('<API_KEY>') do
|
34
|
-
|
35
|
+
ENV['ACTIVE_CAMPAIGN_API_KEY']
|
36
|
+
end
|
37
|
+
|
38
|
+
c.filter_sensitive_data('<API_ENDPOINT>') do
|
39
|
+
ENV['ACTIVE_CAMPAIGN_API_ENDPOINT']
|
35
40
|
end
|
36
41
|
|
37
42
|
c.default_cassette_options = {
|
@@ -39,97 +44,42 @@ VCR.configure do |c|
|
|
39
44
|
# TODO: Track down UTF-8 issue and remove
|
40
45
|
preserve_exact_body_bytes: true,
|
41
46
|
decode_compressed_response: true,
|
42
|
-
record: ENV['
|
47
|
+
record: ENV['CI'] ? :none : :once
|
43
48
|
}
|
44
49
|
c.cassette_library_dir = 'spec/cassettes'
|
45
50
|
c.hook_into :webmock
|
46
51
|
c.ignore_hosts 'codeclimate.com'
|
47
52
|
end
|
48
53
|
|
49
|
-
def
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
def a_get(url, options = {})
|
54
|
-
a_request(:get, active_campaign_url(url, options))
|
55
|
-
end
|
56
|
-
|
57
|
-
def a_patch(url, options = {})
|
58
|
-
a_request(:patch, active_campaign_url(url, options))
|
59
|
-
end
|
60
|
-
|
61
|
-
def a_post(url, options = {})
|
62
|
-
a_request(:post, active_campaign_url(url, options))
|
63
|
-
end
|
64
|
-
|
65
|
-
def a_put(url, options = {})
|
66
|
-
a_request(:put, active_campaign_url(url, options))
|
67
|
-
end
|
68
|
-
|
69
|
-
def stub_delete(url, options = {})
|
70
|
-
stub_request(:delete, active_campaign_url(url, options))
|
71
|
-
end
|
72
|
-
|
73
|
-
def stub_get(url, options = {})
|
74
|
-
stub_request(:get, active_campaign_url(url, options))
|
75
|
-
end
|
76
|
-
|
77
|
-
def stub_head(url, options = {})
|
78
|
-
stub_request(:head, active_campaign_url(url, options))
|
79
|
-
end
|
80
|
-
|
81
|
-
def stub_patch(url, options = {})
|
82
|
-
stub_request(:patch, active_campaign_url(url, options))
|
83
|
-
end
|
84
|
-
|
85
|
-
def stub_post(url, options = {})
|
86
|
-
stub_request(:post, active_campaign_url(url, options))
|
87
|
-
end
|
88
|
-
|
89
|
-
def stub_put(url, options = {})
|
90
|
-
stub_request(:put, active_campaign_url(url, options))
|
54
|
+
def test_api_endpoint
|
55
|
+
ENV.fetch 'ACTIVE_CAMPAIGN_API_ENDPOINT'
|
91
56
|
end
|
92
57
|
|
93
|
-
def
|
94
|
-
|
95
|
-
end
|
96
|
-
|
97
|
-
def fixture(file)
|
98
|
-
File.new(fixture_path + '/' + file)
|
99
|
-
end
|
100
|
-
|
101
|
-
def json_response(file)
|
102
|
-
{
|
103
|
-
:body => fixture(file),
|
104
|
-
:headers => {
|
105
|
-
:content_type => 'application/json; charset=utf-8'
|
106
|
-
}
|
107
|
-
}
|
108
|
-
end
|
109
|
-
|
110
|
-
def active_campaign_url(url, options = {})
|
111
|
-
if url =~ /^http/
|
112
|
-
url
|
113
|
-
else
|
114
|
-
uri = "https://yourdomain.activehosted.com/admin/api.php?api_action=#{url}&api_key=YOURAPIKEY&api_output=json"
|
115
|
-
params = options.map{|k,v| "#{k}=#{v}" }.join("&")
|
116
|
-
"#{uri}&#{params}"
|
117
|
-
end
|
58
|
+
def test_api_key
|
59
|
+
ENV.fetch 'ACTIVE_CAMPAIGN_API_KEY'
|
118
60
|
end
|
119
61
|
|
120
62
|
def initialize_new_client
|
121
63
|
before do
|
122
|
-
|
123
|
-
|
64
|
+
@client = ActiveCampaign::Client.new({
|
65
|
+
mash: true,
|
66
|
+
debug: true,
|
67
|
+
api_endpoint: test_api_endpoint,
|
68
|
+
api_key: test_api_key,
|
69
|
+
log_level: :debug,
|
70
|
+
log: true
|
71
|
+
})
|
124
72
|
end
|
125
73
|
end
|
126
74
|
|
127
75
|
def initialize_active_campaign
|
128
76
|
ActiveCampaign.configure do |config|
|
129
|
-
config.api_endpoint =
|
130
|
-
config.api_key =
|
77
|
+
config.api_endpoint = test_api_endpoint
|
78
|
+
config.api_key = test_api_key
|
131
79
|
config.api_output = "json"
|
132
80
|
config.debug = true
|
81
|
+
config.log_level = :debug
|
82
|
+
config.log = true
|
133
83
|
config.mash = true
|
134
84
|
end
|
135
85
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_campaign
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mikael Henriksson
|
@@ -67,6 +67,10 @@ files:
|
|
67
67
|
- lib/active_campaign/error.rb
|
68
68
|
- lib/active_campaign/version.rb
|
69
69
|
- spec/active_campaign_spec.rb
|
70
|
+
- spec/cassettes/ActiveCampaign_Client_Contacts/_contact_sync/when_successful/returns_1_for_result_code.json
|
71
|
+
- spec/cassettes/ActiveCampaign_Client_Contacts/_contact_view/can_find_contact_by_id.json
|
72
|
+
- spec/cassettes/ActiveCampaign_Client_Lists/_list_list/can_find_a_list_of_lists.json
|
73
|
+
- spec/cassettes/ActiveCampaign_Client_Lists/_list_view/can_find_lists_by_id.json
|
70
74
|
- spec/client/contacts_spec.rb
|
71
75
|
- spec/client/lists_spec.rb
|
72
76
|
- spec/client_spec.rb
|
@@ -100,6 +104,10 @@ specification_version: 4
|
|
100
104
|
summary: See http://www.activecampaign.com/api/overview.php for more information
|
101
105
|
test_files:
|
102
106
|
- spec/active_campaign_spec.rb
|
107
|
+
- spec/cassettes/ActiveCampaign_Client_Contacts/_contact_sync/when_successful/returns_1_for_result_code.json
|
108
|
+
- spec/cassettes/ActiveCampaign_Client_Contacts/_contact_view/can_find_contact_by_id.json
|
109
|
+
- spec/cassettes/ActiveCampaign_Client_Lists/_list_list/can_find_a_list_of_lists.json
|
110
|
+
- spec/cassettes/ActiveCampaign_Client_Lists/_list_view/can_find_lists_by_id.json
|
103
111
|
- spec/client/contacts_spec.rb
|
104
112
|
- spec/client/lists_spec.rb
|
105
113
|
- spec/client_spec.rb
|