leanplum_api 3.1.0 → 4.0.0

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +63 -32
  3. data/lib/leanplum_api/api.rb +107 -156
  4. data/lib/leanplum_api/configuration.rb +9 -1
  5. data/lib/leanplum_api/connection.rb +2 -2
  6. data/lib/leanplum_api/data_export_api.rb +78 -0
  7. data/lib/leanplum_api/faraday_middleware/response_validation.rb +23 -19
  8. data/lib/leanplum_api/version.rb +1 -1
  9. data/spec/api_spec.rb +142 -98
  10. data/spec/configuration_spec.rb +2 -2
  11. data/spec/data_export_api_spec.rb +57 -0
  12. data/spec/fixtures/vcr/delete_user.yml +129 -0
  13. data/spec/fixtures/vcr/export_data.yml +5 -5
  14. data/spec/fixtures/vcr/export_data_dates.yml +6 -6
  15. data/spec/fixtures/vcr/export_user.yml +7 -7
  16. data/spec/fixtures/vcr/export_users.yml +44 -0
  17. data/spec/fixtures/vcr/get_ab_test.yml +5 -5
  18. data/spec/fixtures/vcr/get_ab_tests.yml +5 -5
  19. data/spec/fixtures/vcr/get_export_results.yml +5 -5
  20. data/spec/fixtures/vcr/get_messages.yml +5 -5
  21. data/spec/fixtures/vcr/get_vars.yml +5 -5
  22. data/spec/fixtures/vcr/missing_message.yml +4 -4
  23. data/spec/fixtures/vcr/reset_anomalous_user.yml +6 -6
  24. data/spec/fixtures/vcr/set_device_attributes.yml +46 -0
  25. data/spec/fixtures/vcr/set_user_attributes.yml +7 -7
  26. data/spec/fixtures/vcr/set_user_attributes_with_devices.yml +46 -0
  27. data/spec/fixtures/vcr/set_user_attributes_with_devices_and_events.yml +46 -0
  28. data/spec/fixtures/vcr/set_user_attributes_with_events.yml +46 -0
  29. data/spec/fixtures/vcr/track_events.yml +8 -8
  30. data/spec/fixtures/vcr/track_events_and_attributes.yml +9 -9
  31. data/spec/fixtures/vcr/track_events_anomaly_overrider.yml +20 -19
  32. data/spec/fixtures/vcr/track_offline_events.yml +8 -8
  33. data/spec/http_spec.rb +6 -5
  34. data/spec/spec_helper.rb +11 -8
  35. metadata +40 -3
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe LeanplumApi do
4
2
  context 'configuration' do
5
3
  after(:each) do
@@ -14,10 +12,12 @@ describe LeanplumApi do
14
12
  LeanplumApi.configure do |config|
15
13
  config.production_key = 'new_client_key'
16
14
  config.app_id = 'new_app_id'
15
+ config.validate_response = false
17
16
  end
18
17
 
19
18
  expect(LeanplumApi.configuration.production_key).to eq('new_client_key')
20
19
  expect(LeanplumApi.configuration.app_id).to eq('new_app_id')
20
+ expect(LeanplumApi.configuration.validate_response).to be false
21
21
  expect(LeanplumApi.configuration.api_version).to eq(LeanplumApi::Configuration::DEFAULT_LEANPLUM_API_VERSION)
22
22
  end
23
23
  end
@@ -0,0 +1,57 @@
1
+ describe LeanplumApi::DataExportAPI do
2
+ let(:api) { described_class.new }
3
+
4
+ around(:all) do |example|
5
+ LeanplumApi.configure { |c| c.developer_mode = false }
6
+ example.run
7
+ LeanplumApi.configure { |c| c.developer_mode = true }
8
+ end
9
+
10
+ context 'data export methods' do
11
+ context 'export_data' do
12
+ context 'regular export' do
13
+ it 'should request a data export job with a starttime' do
14
+ VCR.use_cassette('export_data') do
15
+ expect { api.export_data(Time.at(1438660800).utc) }.to raise_error LeanplumApi::BadResponseError
16
+ end
17
+ end
18
+
19
+ it 'should request a data export job with start and end dates' do
20
+ VCR.use_cassette('export_data_dates') do
21
+ expect { api.export_data(Date.new(2017, 8, 5), Date.new(2017, 8, 6)) }.to_not raise_error
22
+ end
23
+ end
24
+ end
25
+
26
+ context 's3 export' do
27
+ let(:s3_bucket_name) { 'bucket' }
28
+ let(:s3_access_key) { 's3_access_key' }
29
+ let(:s3_access_id) { 's3_access_id' }
30
+
31
+ it 'should request an S3 export'
32
+ end
33
+ end
34
+
35
+ context 'get_export_results' do
36
+ it 'should get a status for a data export job' do
37
+ VCR.use_cassette('get_export_results') do
38
+ expect(api.get_export_results('export_4727756026281984_2904941266315269120')).to eq({
39
+ files: ['https://leanplum_export.storage.googleapis.com/export-4727756026281984-d5969d55-f242-48a6-85a3-165af08e2306-output-0'],
40
+ number_of_bytes: 36590,
41
+ number_of_sessions: 101,
42
+ state: LeanplumApi::API::EXPORT_FINISHED,
43
+ s3_copy_status: nil
44
+ })
45
+ end
46
+ end
47
+ end
48
+
49
+ context '#export_users' do
50
+ it 'should export users' do
51
+ VCR.use_cassette('export_users') do
52
+ expect(api.export_users).to match(/export_users_\d+_\d+/)
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,129 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.leanplum.com/api?action=multi&apiVersion=1.0.6&appId=<LEANPLUM_APP_ID>&clientKey=<LEANPLUM_PRODUCTION_KEY>&devMode=false&time=1505372950
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"data":[{"userId":"delete_yourself_123","action":"setUserAttributes","userAttributes":{"first_name":"Mike","last_name":"Jones","gender":"m","email":"still_tippin@test.com","create_date":"2010-01-01","is_tipping":true}}]}'
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.13.1
12
+ Content-Type:
13
+ - application/json
14
+ Accept-Encoding:
15
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
16
+ Accept:
17
+ - "*/*"
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Content-Type:
26
+ - application/json;charset=utf-8
27
+ X-Cloud-Trace-Context:
28
+ - 7b7c5c1e85a47687ae5903a74cb97673
29
+ Set-Cookie:
30
+ - GOOGAPPUID=xCgoIAxBzIN3q6M0F; expires=Tue, 03-Nov-2020 03:53:01 GMT; path=/
31
+ Date:
32
+ - Thu, 14 Sep 2017 07:53:01 GMT
33
+ Server:
34
+ - Google Frontend
35
+ Content-Length:
36
+ - '31'
37
+ Expires:
38
+ - Thu, 14 Sep 2017 07:53:01 GMT
39
+ Cache-Control:
40
+ - private
41
+ body:
42
+ encoding: UTF-8
43
+ string: '{"response":[{"success":true}]}'
44
+ http_version:
45
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
46
+ - request:
47
+ method: get
48
+ uri: https://www.leanplum.com/api?action=deleteUser&apiVersion=1.0.6&appId=<LEANPLUM_APP_ID>&clientKey=<LEANPLUM_DEVELOPMENT_KEY>&devMode=false&userId=delete_yourself_123
49
+ body:
50
+ encoding: US-ASCII
51
+ string: ''
52
+ headers:
53
+ User-Agent:
54
+ - Faraday v0.13.1
55
+ Accept-Encoding:
56
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
57
+ Accept:
58
+ - "*/*"
59
+ response:
60
+ status:
61
+ code: 200
62
+ message: OK
63
+ headers:
64
+ Access-Control-Allow-Origin:
65
+ - "*"
66
+ Content-Type:
67
+ - application/json;charset=utf-8
68
+ X-Cloud-Trace-Context:
69
+ - 82997ba6dfc943f60f7d1e4fd27c0eeb
70
+ Set-Cookie:
71
+ - GOOGAPPUID=xCgoIAxAbIN3q6M0F; expires=Tue, 03-Nov-2020 03:53:01 GMT; path=/
72
+ Date:
73
+ - Thu, 14 Sep 2017 07:53:01 GMT
74
+ Server:
75
+ - Google Frontend
76
+ Content-Length:
77
+ - '31'
78
+ Expires:
79
+ - Thu, 14 Sep 2017 07:53:01 GMT
80
+ Cache-Control:
81
+ - private
82
+ body:
83
+ encoding: UTF-8
84
+ string: '{"response":[{"success":true}]}'
85
+ http_version:
86
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
87
+ - request:
88
+ method: get
89
+ uri: https://www.leanplum.com/api?action=exportUser&apiVersion=1.0.6&appId=<LEANPLUM_APP_ID>&clientKey=<LEANPLUM_DATA_EXPORT_KEY>&devMode=false&userId=delete_yourself_123
90
+ body:
91
+ encoding: US-ASCII
92
+ string: ''
93
+ headers:
94
+ User-Agent:
95
+ - Faraday v0.13.1
96
+ Accept-Encoding:
97
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
98
+ Accept:
99
+ - "*/*"
100
+ response:
101
+ status:
102
+ code: 200
103
+ message: OK
104
+ headers:
105
+ Access-Control-Allow-Origin:
106
+ - "*"
107
+ Content-Type:
108
+ - application/json;charset=utf-8
109
+ X-Cloud-Trace-Context:
110
+ - 971a5ce9e92e4002614131733a2057e6
111
+ Set-Cookie:
112
+ - GOOGAPPUID=xCgsIAxD-BiDe6ujNBQ; expires=Tue, 03-Nov-2020 03:53:02 GMT; path=/
113
+ Date:
114
+ - Thu, 14 Sep 2017 07:53:02 GMT
115
+ Server:
116
+ - Google Frontend
117
+ Content-Length:
118
+ - '88'
119
+ Expires:
120
+ - Thu, 14 Sep 2017 07:53:02 GMT
121
+ Cache-Control:
122
+ - private
123
+ body:
124
+ encoding: UTF-8
125
+ string: '{"response":[{"success":true,"warning":{"message":"User not found;
126
+ request skipped."}}]}'
127
+ http_version:
128
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
129
+ recorded_with: VCR 3.0.3
@@ -23,17 +23,17 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - 482abfeaf55310728664574b5d8f8ffa
26
+ - 87d63e3fd2bf3b5744576a1bc636b7f8
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgsIAxDWBiDjl-HNBQ; expires=Sun, 01-Nov-2020 17:04:35 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxDAByCb1-jNBQ; expires=Tue, 03-Nov-2020 03:11:23 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:35 GMT
30
+ - Thu, 14 Sep 2017 07:11:23 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '96'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:35 GMT
36
+ - Thu, 14 Sep 2017 07:11:23 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
@@ -41,5 +41,5 @@ http_interactions:
41
41
  string: '{"response":[{"success":false,"error":{"message":"You cannot export
42
42
  data older than 60 days"}}]}'
43
43
  http_version:
44
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
44
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
45
45
  recorded_with: VCR 3.0.3
@@ -23,22 +23,22 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - 5f52126aafee5383ee9c42dcbc363208
26
+ - a2afa156055ea0473f5bc37bf6678ccb
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgsIAxDFBSDkl-HNBQ; expires=Sun, 01-Nov-2020 17:04:36 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxCKAiCb1-jNBQ; expires=Tue, 03-Nov-2020 03:11:24 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:36 GMT
30
+ - Thu, 14 Sep 2017 07:11:24 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '85'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:36 GMT
36
+ - Thu, 14 Sep 2017 07:11:24 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
40
40
  encoding: UTF-8
41
- string: '{"response":[{"jobId":"export_4727756026281984_6485639014313861120","success":true}]}'
41
+ string: '{"response":[{"jobId":"export_4727756026281984_7697342875813400576","success":true}]}'
42
42
  http_version:
43
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
44
  recorded_with: VCR 3.0.3
@@ -23,22 +23,22 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - 70e27b29a0e132e9b020b3c58861a123
26
+ - 4a45807783f206b776fd3fb9a544860d
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgoIAxBmIN-X4c0F; expires=Sun, 01-Nov-2020 17:04:31 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxCYByCX1-jNBQ; expires=Tue, 03-Nov-2020 03:11:19 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:31 GMT
30
+ - Thu, 14 Sep 2017 07:11:19 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
- - '526'
34
+ - '598'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:31 GMT
36
+ - Thu, 14 Sep 2017 07:11:19 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
40
40
  encoding: UTF-8
41
- string: '{"response":[{"totalSessions":0,"timeSpentInApp":0.0,"userAttributes":{"is_tipping":"True","gender":"m","last_name":"Jones","create_date":"2010-01-01","first_name":"Mike","email":"still_tippin@test.com"},"lastActive":1.446709787966E9,"devices":[],"success":true,"created":1.43935302887E9,"unsubscribeChannels":[],"userId":"123456","events":{"purchase":{"firstTime":1.460514593026E9,"lastTime":1.505189741992E9,"count":70},"eventName1":{"firstTime":1.4735664E9,"lastTime":1.5051888E9,"count":1}},"userBucket":358,"states":{}}]}'
41
+ string: '{"response":[{"totalSessions":0,"timeSpentInApp":0.0,"userAttributes":{"is_tipping":"True","gender":"m","last_name":"Jones","create_date":"2010-01-01","first_name":"Mike","email":"still_tippin@test.com"},"lastActive":1.446709787966E9,"devices":[{"deviceId":null},{"deviceId":null},{"deviceId":null},{"deviceId":null}],"success":true,"created":1.43935302887E9,"unsubscribeChannels":[],"userId":"123456","events":{"purchase":{"firstTime":1.460514593026E9,"lastTime":1.505288764337E9,"count":91},"eventName1":{"firstTime":1.4735664E9,"lastTime":1.50537295E9,"count":1}},"userBucket":358,"states":{}}]}'
42
42
  http_version:
43
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
44
  recorded_with: VCR 3.0.3
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.leanplum.com/api?ab_test_id&action=exportUsers&apiVersion=1.0.6&appId=<LEANPLUM_APP_ID>&clientKey=<LEANPLUM_DATA_EXPORT_KEY>&devMode=false&segment
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.13.1
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Access-Control-Allow-Origin:
22
+ - "*"
23
+ Content-Type:
24
+ - application/json;charset=utf-8
25
+ X-Cloud-Trace-Context:
26
+ - df14ae5ccab73158a1947c3245bcb7ae
27
+ Set-Cookie:
28
+ - GOOGAPPUID=xCgoIAxAXIJzX6M0F; expires=Tue, 03-Nov-2020 03:11:25 GMT; path=/
29
+ Date:
30
+ - Thu, 14 Sep 2017 07:11:25 GMT
31
+ Server:
32
+ - Google Frontend
33
+ Content-Length:
34
+ - '90'
35
+ Expires:
36
+ - Thu, 14 Sep 2017 07:11:25 GMT
37
+ Cache-Control:
38
+ - private
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"response":[{"jobId":"export_users_4727756026281984_463727504458688512","success":true}]}'
42
+ http_version:
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
+ recorded_with: VCR 3.0.3
@@ -23,22 +23,22 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - 77c3cb5a37e7e738ab1e734b86c04d01
26
+ - 5f639aa393cfced405c1853c39d57f3b
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgsIAxCtAyDnl-HNBQ; expires=Sun, 01-Nov-2020 17:04:39 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxDyASCa1-jNBQ; expires=Tue, 03-Nov-2020 03:11:23 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:39 GMT
30
+ - Thu, 14 Sep 2017 07:11:23 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '44'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:39 GMT
36
+ - Thu, 14 Sep 2017 07:11:23 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
40
40
  encoding: UTF-8
41
41
  string: '{"response":[{"success":true,"abTests":[]}]}'
42
42
  http_version:
43
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
44
  recorded_with: VCR 3.0.3
@@ -23,22 +23,22 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - 37ed4e82db5ccf5c93ec2c0cb02b88f8
26
+ - f3345c6634ba954b9320a0c8a9691cc4
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgoIAxBnIOaX4c0F; expires=Sun, 01-Nov-2020 17:04:39 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxDaBCCa1-jNBQ; expires=Tue, 03-Nov-2020 03:11:22 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:39 GMT
30
+ - Thu, 14 Sep 2017 07:11:22 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '44'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:39 GMT
36
+ - Thu, 14 Sep 2017 07:11:22 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
40
40
  encoding: UTF-8
41
41
  string: '{"response":[{"success":true,"abTests":[]}]}'
42
42
  http_version:
43
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
44
  recorded_with: VCR 3.0.3
@@ -23,22 +23,22 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - a0201485c5fa5fd2db265a7c401717de
26
+ - 57c5f652893bfe7228c29e843cfca431
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgsIAxDZBiDll-HNBQ; expires=Sun, 01-Nov-2020 17:04:37 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxDOASCc1-jNBQ; expires=Tue, 03-Nov-2020 03:11:24 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:37 GMT
30
+ - Thu, 14 Sep 2017 07:11:24 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '268'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:37 GMT
36
+ - Thu, 14 Sep 2017 07:11:24 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
40
40
  encoding: UTF-8
41
41
  string: '{"response":[{"numBytes":36590,"jobId":"export_4727756026281984_2904941266315269120","numSessions":101,"success":true,"files":["https://leanplum_export.storage.googleapis.com/export-4727756026281984-d5969d55-f242-48a6-85a3-165af08e2306-output-0"],"state":"FINISHED"}]}'
42
42
  http_version:
43
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
43
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
44
44
  recorded_with: VCR 3.0.3
@@ -23,17 +23,17 @@ http_interactions:
23
23
  Content-Type:
24
24
  - application/json;charset=utf-8
25
25
  X-Cloud-Trace-Context:
26
- - e786087f6475468460337c3b45cb9805
26
+ - 414ab5c763ea4c1c170af2b76d79b0c3
27
27
  Set-Cookie:
28
- - GOOGAPPUID=xCgsIAxDdBCDol-HNBQ; expires=Sun, 01-Nov-2020 17:04:40 GMT; path=/
28
+ - GOOGAPPUID=xCgsIAxDHBiCb1-jNBQ; expires=Tue, 03-Nov-2020 03:11:23 GMT; path=/
29
29
  Date:
30
- - Tue, 12 Sep 2017 21:04:40 GMT
30
+ - Thu, 14 Sep 2017 07:11:23 GMT
31
31
  Server:
32
32
  - Google Frontend
33
33
  Content-Length:
34
34
  - '165'
35
35
  Expires:
36
- - Tue, 12 Sep 2017 21:04:40 GMT
36
+ - Thu, 14 Sep 2017 07:11:23 GMT
37
37
  Cache-Control:
38
38
  - private
39
39
  body:
@@ -41,5 +41,5 @@ http_interactions:
41
41
  string: '{"response":[{"success":true,"messages":[{"messageType":"Push Notification","created":1.440091595799E9,"name":"New
42
42
  Message","active":false,"id":5670583287676928}]}]}'
43
43
  http_version:
44
- recorded_at: Tue, 12 Sep 2017 04:00:00 GMT
44
+ recorded_at: Thu, 14 Sep 2017 07:09:10 GMT
45
45
  recorded_with: VCR 3.0.3