lifen 0.2.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -1
  3. data/README.md +11 -11
  4. data/lib/lifen.rb +7 -4
  5. data/lib/lifen/app_authenticated_client.rb +15 -27
  6. data/lib/lifen/client.rb +44 -0
  7. data/lib/lifen/configuration.rb +1 -1
  8. data/lib/lifen/error.rb +1 -0
  9. data/lib/lifen/flow.rb +41 -44
  10. data/lib/lifen/flows.rb +4 -8
  11. data/lib/lifen/status.rb +5 -3
  12. data/lib/lifen/token.rb +44 -0
  13. data/lib/lifen/user.rb +34 -23
  14. data/lib/lifen/user_authenticated_client.rb +17 -27
  15. data/lib/lifen/version.rb +1 -1
  16. data/lifen.gemspec +1 -0
  17. data/spec/cassettes/flows/attach_users/invalid_flow_uuid.yml +11 -13
  18. data/spec/cassettes/flows/attach_users/invalid_user_uuid.yml +12 -14
  19. data/spec/cassettes/flows/attach_users/valid.yml +14 -16
  20. data/spec/cassettes/flows/create.yml +13 -15
  21. data/spec/cassettes/flows/create_with_users.yml +12 -13
  22. data/spec/cassettes/flows/detach_users/valid.yml +14 -16
  23. data/spec/cassettes/flows/internal_error.yml +4 -2
  24. data/spec/cassettes/flows/internal_error_without_trace_id.yml +4 -2
  25. data/spec/cassettes/flows/invalid_token.yml +18 -14
  26. data/spec/cassettes/flows/valid_token.yml +14 -17
  27. data/spec/cassettes/messages/valid_message.yml +13 -15
  28. data/spec/cassettes/users/create/existing_user.yml +11 -11
  29. data/spec/cassettes/users/create/invalid_token.yml +16 -10
  30. data/spec/cassettes/users/create/missing_fields.yml +19 -14
  31. data/spec/cassettes/users/create/valid_attributes.yml +12 -12
  32. data/spec/cassettes/users/{refresh_unread_messages → status/refresh}/invalid_token.yml +16 -12
  33. data/spec/cassettes/users/{refresh_unread_messages → status/refresh}/valid_token.yml +10 -12
  34. data/spec/cassettes/users/token/refresh/invalid_user_uuid.yml +40 -0
  35. data/spec/cassettes/users/{refresh/invalid_user_uuid.yml → token/refresh/valid_user_uuid.yml} +16 -15
  36. data/spec/flows_spec.rb +43 -25
  37. data/spec/messages_spec.rb +10 -5
  38. data/spec/spec_helper.rb +1 -1
  39. data/spec/users_spec.rb +46 -26
  40. metadata +25 -13
  41. data/lib/lifen/authentication.rb +0 -29
  42. data/spec/cassettes/flows/detach_users/valid_again.yml +0 -57
  43. data/spec/cassettes/users/refresh/valid_user_uuid.yml +0 -54
data/lib/lifen/user.rb CHANGED
@@ -1,49 +1,60 @@
1
1
  module Lifen
2
- class User < Base
2
+ class User
3
+ include Virtus.model(finalize: false)
3
4
 
4
- attribute :uuid, String
5
- attribute :token, String
5
+ attribute :token, "Lifen::Token"#, default: proc { Lifen::Token.new() }
6
+ attribute :status, "Lifen::Status"
6
7
 
8
+ attribute :uuid, String
7
9
  attribute :email, String
8
10
  attribute :last_name, String
9
11
  attribute :first_name, String
10
- attribute :unread_messages, Integer, default: 0
12
+
13
+ # def initialize(*args)
14
+ # self.token = Lifen::Token.new(user: self)
15
+ # self.status = Lifen::Status.new(user: self)
16
+
17
+ # super
18
+ # end
11
19
 
12
20
  def flows
13
- Lifen::Flows.new(self).all
21
+ Lifen::Flows.new(user: self).all
14
22
  end
15
23
 
16
- def create!
17
- authentication = Lifen::Authentication.new(user: self)
18
- authentication.register!
24
+ def create
25
+ params = {emailAddress: email, lastName: last_name, firstName: first_name}
19
26
 
20
- self.token = authentication.token
21
- self.uuid = authentication.uuid
27
+ json = application_client.post("authentication/api/register/third_party", params)
22
28
 
23
- self
29
+ self.uuid = json["accountUuid"]
24
30
  end
25
31
 
26
- def refresh_token
27
- authentication = Lifen::Authentication.new(user: self)
28
- authentication.refresh_token
29
-
30
- self.token = authentication.token
31
-
32
- self
32
+ def unread_messages
33
+ status.unread
33
34
  end
34
35
 
35
- def refresh_unread_messages
36
- status = Lifen::Status.new(user: self)
37
- status.refresh
36
+ def token
37
+ @token ||= Lifen::Token.new(user: self)
38
+ end
38
39
 
39
- self.unread_messages = status.unread
40
+ def token=(token)
41
+ token.user = self
42
+ @token = token
43
+ end
40
44
 
41
- self
45
+ def status
46
+ @status ||= Lifen::Status.new(user: self)
42
47
  end
43
48
 
44
49
  def client
45
50
  UserAuthenticatedClient.new(token)
46
51
  end
47
52
 
53
+ private
54
+
55
+ def application_client
56
+ @application_client ||= AppAuthenticatedClient.new
57
+ end
58
+
48
59
  end
49
60
  end
@@ -7,39 +7,29 @@ module Lifen
7
7
 
8
8
  attr_reader :token
9
9
 
10
- def request(mode, url, params = {})
11
- response = faraday_client.send(mode) do |req|
12
- req.url url
10
+ private
13
11
 
14
- req.headers['x-auth-token'] = token
15
- req.headers['Content-Type'] = "application/json"
12
+ def handle_status!(response)
13
+ super(response)
16
14
 
17
- req.body = JSON.generate(params)
18
- end
19
-
20
- if response.status == 500
21
- json = JSON.parse response.body
15
+ case response.status
16
+ when 400
17
+ raise InvalidParamsError, "Invalid params"
18
+ when 401
19
+ raise UnauthorizedError, "Token is not valid"
20
+ when 403
21
+ raise Error, "Action is forbidden"
22
+ end
22
23
 
23
- trace_id = json.fetch("X-B3-TraceId", "unknown")
24
- raise Error, "Error 500, Internal server error (trace ID: #{trace_id})"
25
24
  end
26
25
 
27
- raise UnauthorizedError, "Token is not valid" if response.status == 401
28
- raise Error, "Action is forbidden" if response.status == 403
29
- raise InvalidParamsError, "Invalid params" if response.status == 400
30
-
31
- json = JSON.parse response.body
32
-
33
- json
34
- end
35
-
36
- def post(url, params = {})
37
- request(:post, url, params)
38
- end
26
+ def bearer
27
+ token.value
28
+ end
39
29
 
40
- def get(url, params = {})
41
- request(:get, url, params)
42
- end
30
+ def before_request
31
+ token.refresh_once_if_needed
32
+ end
43
33
 
44
34
  end
45
35
  end
data/lib/lifen/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lifen
2
- VERSION = "0.2.1"
2
+ VERSION = "1.0.0"
3
3
  end
data/lifen.gemspec CHANGED
@@ -25,5 +25,6 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "awesome_print"
26
26
 
27
27
  spec.add_runtime_dependency "virtus", '>= 1.0'
28
+ spec.add_runtime_dependency "inflecto"
28
29
  spec.add_runtime_dependency "faraday", '>= 0.9'
29
30
  end
@@ -8,15 +8,15 @@ http_interactions:
8
8
  string: '["25588996-4ff1-2dbb-9643-eabb809fa654"]'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
12
- X-Auth-Token:
13
- - valid_token
11
+ - Faraday v0.10.0
12
+ Authorization:
13
+ - Bearer valide_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 400
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - 6711763f068ffd6a
30
+ - eea11196701d831b
31
31
  X-B3-Traceid:
32
- - 6711763f068ffd6a
32
+ - eea11196701d831b
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -45,13 +45,11 @@ http_interactions:
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Wed, 10 Aug 2016 07:19:02 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:51:03 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '{"timestamp":"2016-08-10T07:19:02.782+0000","status":400,"error":"Bad
54
- Request","code":"error.400","X-B3-TraceId":"6711763f068ffd6a","X-B3-SpanId":"6711763f068ffd6a"}'
51
+ string: '{"timestamp":"2016-12-09T14:51:03.693+0000","status":400,"error":"Bad
52
+ Request","code":"error.400","X-B3-TraceId":"eea11196701d831b","X-B3-SpanId":"eea11196701d831b"}'
55
53
  http_version:
56
- recorded_at: Wed, 10 Aug 2016 07:19:02 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:49:12 GMT
57
55
  recorded_with: VCR 3.0.3
@@ -2,21 +2,21 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://develop.lifen.fr/central/api/chats/11e65eca-4af7-d795-bf1a-0242ac110002/attach_users?rel=activeUsers
5
+ uri: https://develop.lifen.fr/central/api/chats/11e6be18-7a35-d759-9177-0242ac110002/attach_users?rel=activeUsers
6
6
  body:
7
7
  encoding: UTF-8
8
8
  string: '["invalid-uuid"]'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
12
- X-Auth-Token:
13
- - valid_token
11
+ - Faraday v0.10.0
12
+ Authorization:
13
+ - Bearer valide_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 400
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - 34d5716dd10fb931
30
+ - d5fdc72b4995d5c
31
31
  X-B3-Traceid:
32
- - 34d5716dd10fb931
32
+ - d5fdc72b4995d5c
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -45,13 +45,11 @@ http_interactions:
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Wed, 10 Aug 2016 07:46:14 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:54:11 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '{"timestamp":"2016-08-10T07:46:14.047+0000","status":400,"error":"Bad
54
- Request","code":"error.badrequest","X-B3-TraceId":"34d5716dd10fb931","X-B3-SpanId":"34d5716dd10fb931"}'
51
+ string: '{"timestamp":"2016-12-09T14:54:11.336+0000","status":400,"error":"Bad
52
+ Request","code":"error.badrequest","X-B3-TraceId":"d5fdc72b4995d5c","X-B3-SpanId":"d5fdc72b4995d5c"}'
55
53
  http_version:
56
- recorded_at: Wed, 10 Aug 2016 07:46:14 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:52:20 GMT
57
55
  recorded_with: VCR 3.0.3
@@ -2,21 +2,21 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://develop.lifen.fr/central/api/chats/11e65eca-4af7-d795-bf1a-0242ac110002/attach_users?rel=activeUsers
5
+ uri: https://develop.lifen.fr/central/api/chats/11e6be18-7a35-d759-9177-0242ac110002/attach_users?rel=activeUsers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '["25588996-4ff1-2dbb-9643-eabb809fa654"]'
8
+ string: '["11e6be15-0fb1-0a21-a3bd-0242ac110002"]'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
12
- X-Auth-Token:
13
- - valid_token
11
+ - Faraday v0.10.0
12
+ Authorization:
13
+ - Bearer valide_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 200
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - 6abde30c277e69a4
30
+ - 6714925f9e13b875
31
31
  X-B3-Traceid:
32
- - 6abde30c277e69a4
32
+ - 6714925f9e13b875
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -41,17 +41,15 @@ http_interactions:
41
41
  Expires:
42
42
  - '0'
43
43
  Content-Type:
44
- - application/hal+json;charset=UTF-8
44
+ - application/json;charset=UTF-8
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Wed, 10 Aug 2016 07:21:04 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:54:24 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '{"uuid":"11e65eca-4af7-d795-bf1a-0242ac110002","version":0,"title":"Rspec
54
- Flow","activeUsers":[{"uuid":"25588996-4ff1-2dbb-9643-eabb809fa654","version":0,"firstName":"Albert","lastName":"Coeur","civilite":"DR","profilePicUrl":"//develop.lifen.fr/app/docbook/profilePic/a5/77/b3/b4/fd99f8b6ae471b2e2a64ebcd09bf37fa/25588996-4ff1-2dbb-9643-eabb809fa654.jpg","speciality":"Cardiologie","hasEmail":false,"activated":false}],"type":"regular"}'
51
+ string: '{"uuid":"11e6be18-7a35-d759-9177-0242ac110002","version":0,"title":"Rspec
52
+ Flow","activeUsers":[{"uuid":"11e6be14-8267-25ee-a3bd-0242ac110002","version":0,"firstName":"Existing","lastName":"User","hasEmail":false,"activated":false,"registered":false},{"uuid":"11e6be15-0fb1-0a21-a3bd-0242ac110002","version":0,"hasEmail":false,"activated":false,"registered":false}],"type":"regular"}'
55
53
  http_version:
56
- recorded_at: Wed, 10 Aug 2016 07:21:04 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:52:33 GMT
57
55
  recorded_with: VCR 3.0.3
@@ -5,18 +5,18 @@ http_interactions:
5
5
  uri: https://develop.lifen.fr/central/api/chats?rel=activeUsers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"title":"Rspec Flow"}'
8
+ string: '{"title":"Rspec Flow","users":[]}'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
12
- X-Auth-Token:
13
- - valid_token
11
+ - Faraday v0.10.0
12
+ Authorization:
13
+ - Bearer valid_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 200
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - f9e559ae8d3a29c3
30
+ - 7585f082524983e3
31
31
  X-B3-Traceid:
32
- - f9e559ae8d3a29c3
32
+ - 7585f082524983e3
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -41,17 +41,15 @@ http_interactions:
41
41
  Expires:
42
42
  - '0'
43
43
  Content-Type:
44
- - application/hal+json;charset=UTF-8
44
+ - application/json;charset=UTF-8
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Wed, 10 Aug 2016 07:16:01 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:05:02 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '[{"uuid":"11e65eca-4af7-d795-bf1a-0242ac110002","version":0,"title":"Rspec
54
- Flow","type":"regular","activeUsers":[{"uuid":"11e6b876-ba09-1d98-9f4c-0242ac110002","version":0,"firstName":"User","lastName":"User","hasEmail":false,"activated":false,"registered":false}]}]'
51
+ string: '[{"uuid":"11e6be18-7a35-d759-9177-0242ac110002","version":0,"title":"Rspec
52
+ Flow","activeUsers":[{"uuid":"11e6be14-8267-25ee-a3bd-0242ac110002","version":0,"firstName":"Existing","lastName":"User","hasEmail":false,"activated":false,"registered":false}],"type":"regular"}]'
55
53
  http_version:
56
- recorded_at: Wed, 10 Aug 2016 07:16:01 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:03:11 GMT
57
55
  recorded_with: VCR 3.0.3
@@ -5,18 +5,18 @@ http_interactions:
5
5
  uri: https://develop.lifen.fr/central/api/chats?rel=activeUsers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"title":"Rspec Flow","users":["11e6b877-2997-01eb-9f4c-0242ac110002"]}'
8
+ string: '{"title":"Rspec Flow","users":["11e6be15-0fb1-0a21-a3bd-0242ac110002"]}'
9
9
  headers:
10
10
  User-Agent:
11
11
  - Faraday v0.10.0
12
- X-Auth-Token:
13
- - valid_token
12
+ Authorization:
13
+ - Bearer valid_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 200
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - 6cd65dd2be54abcb
30
+ - a2cfd25a819dc82a
31
31
  X-B3-Traceid:
32
- - 6cd65dd2be54abcb
32
+ - a2cfd25a819dc82a
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -41,16 +41,15 @@ http_interactions:
41
41
  Expires:
42
42
  - '0'
43
43
  Content-Type:
44
- - application/hal+json;charset=UTF-8
44
+ - application/json;charset=UTF-8
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Fri, 02 Dec 2016 10:48:50 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:48:27 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '[{"uuid":"11e6b878-2da2-d06c-ac0e-0242ac110002","version":0,"title":"Essai","activeUsers":[{"uuid":"11e6b876-ba09-1d98-9f4c-0242ac110002","version":0,"firstName":"User","lastName":"User","hasEmail":false,"activated":false,"registered":false},{"uuid":"11e6b877-2997-01eb-9f4c-0242ac110002","version":0,"firstName":"User","lastName":"User","hasEmail":false,"activated":false,"registered":false}],"type":"regular"}]'
51
+ string: '[{"uuid":"11e6be1d-a870-eabc-9177-0242ac110002","version":0,"title":"Rspec
52
+ Flow","activeUsers":[{"uuid":"11e6be14-8267-25ee-a3bd-0242ac110002","version":0,"firstName":"Existing","lastName":"User","hasEmail":false,"activated":false,"registered":false},{"uuid":"11e6be15-0fb1-0a21-a3bd-0242ac110002","version":0,"hasEmail":false,"activated":false,"registered":false}],"type":"regular"}]'
54
53
  http_version:
55
- recorded_at: Fri, 02 Dec 2016 10:48:16 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:46:37 GMT
56
55
  recorded_with: VCR 3.0.3
@@ -2,21 +2,21 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: post
5
- uri: https://develop.lifen.fr/central/api/chats/11e65eca-4af7-d795-bf1a-0242ac110002/detach_users?rel=activeUsers
5
+ uri: https://develop.lifen.fr/central/api/chats/11e6be18-7a35-d759-9177-0242ac110002/detach_users?rel=activeUsers
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '["25588996-4ff1-2dbb-9643-eabb809fa654"]'
8
+ string: '["11e6be15-0fb1-0a21-a3bd-0242ac110002"]'
9
9
  headers:
10
10
  User-Agent:
11
- - Faraday v0.9.2
12
- X-Auth-Token:
13
- - valid_token
11
+ - Faraday v0.10.0
12
+ Authorization:
13
+ - Bearer valide_token
14
14
  Content-Type:
15
15
  - application/json
16
+ Accept:
17
+ - application/json
16
18
  Accept-Encoding:
17
19
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
- Accept:
19
- - "*/*"
20
20
  response:
21
21
  status:
22
22
  code: 200
@@ -27,9 +27,9 @@ http_interactions:
27
27
  X-B3-Sampled:
28
28
  - '1'
29
29
  X-B3-Spanid:
30
- - b01671e24905ea23
30
+ - 6be25c2fd4989119
31
31
  X-B3-Traceid:
32
- - b01671e24905ea23
32
+ - 6be25c2fd4989119
33
33
  X-Content-Type-Options:
34
34
  - nosniff
35
35
  X-Xss-Protection:
@@ -41,17 +41,15 @@ http_interactions:
41
41
  Expires:
42
42
  - '0'
43
43
  Content-Type:
44
- - application/hal+json;charset=UTF-8
44
+ - application/json;charset=UTF-8
45
45
  Transfer-Encoding:
46
46
  - chunked
47
47
  Date:
48
- - Wed, 10 Aug 2016 07:34:28 GMT
49
- Connection:
50
- - close
48
+ - Fri, 09 Dec 2016 14:56:44 GMT
51
49
  body:
52
50
  encoding: UTF-8
53
- string: '{"uuid":"11e65eca-4af7-d795-bf1a-0242ac110002","version":0,"title":"Rspec
54
- Flow","activeUsers":[],"type":"regular"}'
51
+ string: '{"uuid":"11e6be18-7a35-d759-9177-0242ac110002","version":0,"title":"Rspec
52
+ Flow","activeUsers":[{"uuid":"11e6be14-8267-25ee-a3bd-0242ac110002","version":0,"firstName":"Existing","lastName":"User","hasEmail":false,"activated":false,"registered":false}],"type":"regular"}'
55
53
  http_version:
56
- recorded_at: Wed, 10 Aug 2016 07:34:28 GMT
54
+ recorded_at: Fri, 09 Dec 2016 14:54:53 GMT
57
55
  recorded_with: VCR 3.0.3