connect_client 0.2.2 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,55 +1,55 @@
1
- require 'minitest/spec'
2
- require 'minitest/autorun'
3
- require 'connect_client/configuration'
4
-
5
- describe ConnectClient::Configuration do
6
-
7
- it "should default the base_url to production" do
8
- config = ConnectClient::Configuration.new
9
-
10
- config.base_url.must_equal 'https://api.getconnect.io'
11
- end
12
-
13
- it "should default async to false" do
14
- config = ConnectClient::Configuration.new
15
-
16
- config.async.must_equal false
17
- end
18
-
19
- it "should support setting the project id" do
20
- config = ConnectClient::Configuration.new
21
- id = 'id'
22
-
23
- config.project_id = id
24
-
25
- config.project_id.must_equal id
26
- end
27
-
28
- it "should support setting the push key" do
29
- config = ConnectClient::Configuration.new
30
- key = 'key'
31
-
32
- config.api_key = key
33
-
34
- config.api_key.must_equal key
35
- end
36
-
37
- it "should support setting whether requests are async" do
38
- config = ConnectClient::Configuration.new
39
- async = true
40
-
41
- config.async = async
42
-
43
- config.async.must_equal async
44
- end
45
-
46
- it "should support setting the base url" do
47
- config = ConnectClient::Configuration.new
48
- url = 'url'
49
-
50
- config.base_url = url
51
-
52
- config.base_url.must_equal url
53
- end
54
-
1
+ require 'minitest/spec'
2
+ require 'minitest/autorun'
3
+ require 'connect_client/configuration'
4
+
5
+ describe ConnectClient::Configuration do
6
+
7
+ it "should default the base_url to production" do
8
+ config = ConnectClient::Configuration.new
9
+
10
+ config.base_url.must_equal 'https://api.getconnect.io'
11
+ end
12
+
13
+ it "should default async to false" do
14
+ config = ConnectClient::Configuration.new
15
+
16
+ config.async.must_equal false
17
+ end
18
+
19
+ it "should support setting the project id" do
20
+ config = ConnectClient::Configuration.new
21
+ id = 'id'
22
+
23
+ config.project_id = id
24
+
25
+ config.project_id.must_equal id
26
+ end
27
+
28
+ it "should support setting the push key" do
29
+ config = ConnectClient::Configuration.new
30
+ key = 'key'
31
+
32
+ config.api_key = key
33
+
34
+ config.api_key.must_equal key
35
+ end
36
+
37
+ it "should support setting whether requests are async" do
38
+ config = ConnectClient::Configuration.new
39
+ async = true
40
+
41
+ config.async = async
42
+
43
+ config.async.must_equal async
44
+ end
45
+
46
+ it "should support setting the base url" do
47
+ config = ConnectClient::Configuration.new
48
+ url = 'url'
49
+
50
+ config.base_url = url
51
+
52
+ config.base_url.must_equal url
53
+ end
54
+
55
55
  end
@@ -1,150 +1,150 @@
1
- require 'minitest/spec'
2
- require 'minitest/autorun'
3
- require 'connect_client/event'
4
- require 'connect_client/event_push_response'
5
-
6
-
7
- describe ConnectClient::EventPushResponse do
8
- before do
9
- @json_content_type = 'application/json; charset=utf-8'
10
- @sample_event = ConnectClient::Event.new({name: 'test'})
11
- @sample_event_data = @sample_event.data
12
- end
13
-
14
- it "should be successful when status code is 201" do
15
-
16
- body = ''
17
- code = 201
18
-
19
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
20
-
21
- event_response.success?.must_equal true
22
- end
23
-
24
- it "should pass through string body if content type is not json" do
25
-
26
- body = ''
27
- code = 500
28
-
29
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
30
-
31
- event_response.success?.must_equal false
32
- end
33
-
34
- it "should not be successful when status code is 500" do
35
-
36
- body = ''
37
- code = 500
38
-
39
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
40
-
41
- event_response.success?.must_equal false
42
- end
43
-
44
- it "should not parse body that is not json content" do
45
-
46
- content_type = 'text/html'
47
- body = '<html><html>'
48
- code = 500
49
-
50
- event_response = ConnectClient::EventPushResponse.new code, content_type, body, @sample_event
51
-
52
- event_response.data.must_equal body
53
- end
54
-
55
- it "should set status code even if body is not json content" do
56
-
57
- content_type = 'text/html'
58
- body = '<html><html>'
59
- code = 500
60
-
61
- event_response = ConnectClient::EventPushResponse.new code, content_type, body, @sample_event
62
-
63
- event_response.http_status_code.must_equal '500'
64
- end
65
-
66
-
67
- it "should pass through error message in data" do
68
-
69
- body = '{ "errorMessage": "something went wrong" }'
70
- code = 500
71
-
72
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
73
-
74
- event_response.data[:errorMessage].must_equal 'something went wrong'
75
- end
76
-
77
- it "should pass back event in response when successful" do
78
-
79
- body = ''
80
- code = 200
81
-
82
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
83
-
84
- event_response.data[:event].must_be_same_as @sample_event_data
85
- end
86
-
87
- it "should pass through original event with error" do
88
-
89
-
90
- body = '{ "errorMessage": "something went wrong" }'
91
- code = 500
92
-
93
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
94
-
95
- event_response.data[:event].must_be_same_as @sample_event_data
96
- end
97
-
98
- it "should pass through success status under collection name for batch" do
99
-
100
-
101
- body = %@
102
- {
103
- "collectionName": [{
104
- "success": true
105
- }]
106
- }
107
- @
108
- code = 200
109
-
110
- events = { :collectionName => [@sample_event] }
111
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
112
-
113
- event_response.data[:collectionName][0][:success].must_equal true
114
- end
115
-
116
- it "should pass through duplicate status under collection name for batch" do
117
-
118
-
119
- body = %@
120
- {
121
- "collectionName": [{
122
- "duplicate": true
123
- }]
124
- }
125
- @
126
- code = 200
127
-
128
- events = { :collectionName => [@sample_event] }
129
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
130
-
131
- event_response.data[:collectionName][0][:duplicate].must_equal true
132
- end
133
-
134
- it "should show event under collection name for batch" do
135
-
136
- body = %@
137
- {
138
- "collectionName": [{
139
- "success": true
140
- }]
141
- }
142
- @
143
- code = 200
144
-
145
- events = { :collectionName => [@sample_event] }
146
- event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
147
-
148
- event_response.data[:collectionName][0][:event].must_be_same_as @sample_event_data
149
- end
1
+ require 'minitest/spec'
2
+ require 'minitest/autorun'
3
+ require 'connect_client/event'
4
+ require 'connect_client/event_push_response'
5
+
6
+
7
+ describe ConnectClient::EventPushResponse do
8
+ before do
9
+ @json_content_type = 'application/json; charset=utf-8'
10
+ @sample_event = ConnectClient::Event.new({name: 'test'})
11
+ @sample_event_data = @sample_event.data
12
+ end
13
+
14
+ it "should be successful when status code is 201" do
15
+
16
+ body = ''
17
+ code = 201
18
+
19
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
20
+
21
+ event_response.success?.must_equal true
22
+ end
23
+
24
+ it "should pass through string body if content type is not json" do
25
+
26
+ body = ''
27
+ code = 500
28
+
29
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
30
+
31
+ event_response.success?.must_equal false
32
+ end
33
+
34
+ it "should not be successful when status code is 500" do
35
+
36
+ body = ''
37
+ code = 500
38
+
39
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
40
+
41
+ event_response.success?.must_equal false
42
+ end
43
+
44
+ it "should not parse body that is not json content" do
45
+
46
+ content_type = 'text/html'
47
+ body = '<html><html>'
48
+ code = 500
49
+
50
+ event_response = ConnectClient::EventPushResponse.new code, content_type, body, @sample_event
51
+
52
+ event_response.data.must_equal body
53
+ end
54
+
55
+ it "should set status code even if body is not json content" do
56
+
57
+ content_type = 'text/html'
58
+ body = '<html><html>'
59
+ code = 500
60
+
61
+ event_response = ConnectClient::EventPushResponse.new code, content_type, body, @sample_event
62
+
63
+ event_response.http_status_code.must_equal '500'
64
+ end
65
+
66
+
67
+ it "should pass through error message in data" do
68
+
69
+ body = '{ "errorMessage": "something went wrong" }'
70
+ code = 500
71
+
72
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
73
+
74
+ event_response.data[:errorMessage].must_equal 'something went wrong'
75
+ end
76
+
77
+ it "should pass back event in response when successful" do
78
+
79
+ body = ''
80
+ code = 200
81
+
82
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
83
+
84
+ event_response.data[:event].must_be_same_as @sample_event_data
85
+ end
86
+
87
+ it "should pass through original event with error" do
88
+
89
+
90
+ body = '{ "errorMessage": "something went wrong" }'
91
+ code = 500
92
+
93
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, @sample_event
94
+
95
+ event_response.data[:event].must_be_same_as @sample_event_data
96
+ end
97
+
98
+ it "should pass through success status under collection name for batch" do
99
+
100
+
101
+ body = %@
102
+ {
103
+ "collectionName": [{
104
+ "success": true
105
+ }]
106
+ }
107
+ @
108
+ code = 200
109
+
110
+ events = { :collectionName => [@sample_event] }
111
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
112
+
113
+ event_response.data[:collectionName][0][:success].must_equal true
114
+ end
115
+
116
+ it "should pass through duplicate status under collection name for batch" do
117
+
118
+
119
+ body = %@
120
+ {
121
+ "collectionName": [{
122
+ "duplicate": true
123
+ }]
124
+ }
125
+ @
126
+ code = 200
127
+
128
+ events = { :collectionName => [@sample_event] }
129
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
130
+
131
+ event_response.data[:collectionName][0][:duplicate].must_equal true
132
+ end
133
+
134
+ it "should show event under collection name for batch" do
135
+
136
+ body = %@
137
+ {
138
+ "collectionName": [{
139
+ "success": true
140
+ }]
141
+ }
142
+ @
143
+ code = 200
144
+
145
+ events = { :collectionName => [@sample_event] }
146
+ event_response = ConnectClient::EventPushResponse.new code, @json_content_type, body, events
147
+
148
+ event_response.data[:collectionName][0][:event].must_be_same_as @sample_event_data
149
+ end
150
150
  end
@@ -1,94 +1,94 @@
1
- require 'minitest/spec'
2
- require 'minitest/autorun'
3
- require 'connect_client/event'
4
-
5
- describe ConnectClient::Event do
6
- it "should throw a validation exception if a property starts with tp_" do
7
- connect_event = proc { ConnectClient::Event.new({tp_foo: 'bar'}) }.must_raise ConnectClient::EventDataValidationError
8
- end
9
-
10
- it "should supply an id if none present" do
11
- connect_event = ConnectClient::Event.new({foo: 'bar'})
12
- uuid_regex = /[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/
13
-
14
- connect_event.data[:id].must_match uuid_regex
15
- end
16
-
17
- it "should pass through id supplied" do
18
- connect_event = ConnectClient::Event.new({id: :bar})
19
-
20
- connect_event.data[:id].must_equal :bar
21
- end
22
-
23
- it "should supply timestamp if none present" do
24
- iso_date = '2015-07-01T04:07:57Z'
25
- a_time = Time.parse(iso_date);
26
-
27
- Time.stub :now, a_time do
28
- connect_event = ConnectClient::Event.new({foo: 'bar'})
29
- connect_event.data[:timestamp].must_equal iso_date
30
- end
31
- end
32
-
33
- it "should turn timestamp into iso string" do
34
- iso_date = '2015-07-01T04:07:57Z'
35
- a_time = Time.parse(iso_date);
36
-
37
- connect_event = ConnectClient::Event.new({foo: 'bar', timestamp: a_time})
38
- connect_event.data[:timestamp].must_equal iso_date
39
- end
40
-
41
- it "should pass through timestamp string if supplied" do
42
- iso_date = '2015-07-01T04:07:57Z'
43
-
44
- connect_event = ConnectClient::Event.new({foo: 'bar', timestamp: iso_date})
45
- connect_event.data[:timestamp].must_equal iso_date
46
- end
47
-
48
- it "should turn Time into iso8601" do
49
- iso_date = '2015-07-01T04:07:57Z'
50
- some_time = Time.parse('2015-07-01T05:07:57+01:00')
51
-
52
- nested_hash_values = {
53
- this: {
54
- is: {
55
- nested: [[some_time]]
56
- }
57
- }
58
- }
59
-
60
- connect_event = ConnectClient::Event.new(nested_hash_values)
61
- connect_event.data[:this][:is][:nested][0][0].must_equal iso_date
62
- end
63
-
64
- it "should turn DateTime into iso8601" do
65
- iso_date = '2015-07-01T04:07:57Z'
66
- some_date_time = DateTime.parse('2015-07-01T05:07:57+01:00')
67
-
68
- nested_hash_values = {
69
- this: {
70
- is: {
71
- nested: [[some_date_time]]
72
- }
73
- }
74
- }
75
-
76
- connect_event = ConnectClient::Event.new(nested_hash_values)
77
- connect_event.data[:this][:is][:nested][0][0].must_equal iso_date
78
- end
79
-
80
- it "should turn Date into iso8601" do
81
- some_date = Date.parse('2015-07-01')
82
-
83
- nested_hash_values = {
84
- this: {
85
- is: {
86
- nested: [[some_date]]
87
- }
88
- }
89
- }
90
-
91
- connect_event = ConnectClient::Event.new(nested_hash_values)
92
- connect_event.data[:this][:is][:nested][0][0].must_equal some_date.to_time.utc.iso8601
93
- end
1
+ require 'minitest/spec'
2
+ require 'minitest/autorun'
3
+ require 'connect_client/event'
4
+
5
+ describe ConnectClient::Event do
6
+ it "should throw a validation exception if a property starts with tp_" do
7
+ connect_event = proc { ConnectClient::Event.new({tp_foo: 'bar'}) }.must_raise ConnectClient::EventDataValidationError
8
+ end
9
+
10
+ it "should supply an id if none present" do
11
+ connect_event = ConnectClient::Event.new({foo: 'bar'})
12
+ uuid_regex = /[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}/
13
+
14
+ connect_event.data[:id].must_match uuid_regex
15
+ end
16
+
17
+ it "should pass through id supplied" do
18
+ connect_event = ConnectClient::Event.new({id: :bar})
19
+
20
+ connect_event.data[:id].must_equal :bar
21
+ end
22
+
23
+ it "should supply timestamp if none present" do
24
+ iso_date = '2015-07-01T04:07:57Z'
25
+ a_time = Time.parse(iso_date);
26
+
27
+ Time.stub :now, a_time do
28
+ connect_event = ConnectClient::Event.new({foo: 'bar'})
29
+ connect_event.data[:timestamp].must_equal iso_date
30
+ end
31
+ end
32
+
33
+ it "should turn timestamp into iso string" do
34
+ iso_date = '2015-07-01T04:07:57Z'
35
+ a_time = Time.parse(iso_date);
36
+
37
+ connect_event = ConnectClient::Event.new({foo: 'bar', timestamp: a_time})
38
+ connect_event.data[:timestamp].must_equal iso_date
39
+ end
40
+
41
+ it "should pass through timestamp string if supplied" do
42
+ iso_date = '2015-07-01T04:07:57Z'
43
+
44
+ connect_event = ConnectClient::Event.new({foo: 'bar', timestamp: iso_date})
45
+ connect_event.data[:timestamp].must_equal iso_date
46
+ end
47
+
48
+ it "should turn Time into iso8601" do
49
+ iso_date = '2015-07-01T04:07:57Z'
50
+ some_time = Time.parse('2015-07-01T05:07:57+01:00')
51
+
52
+ nested_hash_values = {
53
+ this: {
54
+ is: {
55
+ nested: [[some_time]]
56
+ }
57
+ }
58
+ }
59
+
60
+ connect_event = ConnectClient::Event.new(nested_hash_values)
61
+ connect_event.data[:this][:is][:nested][0][0].must_equal iso_date
62
+ end
63
+
64
+ it "should turn DateTime into iso8601" do
65
+ iso_date = '2015-07-01T04:07:57Z'
66
+ some_date_time = DateTime.parse('2015-07-01T05:07:57+01:00')
67
+
68
+ nested_hash_values = {
69
+ this: {
70
+ is: {
71
+ nested: [[some_date_time]]
72
+ }
73
+ }
74
+ }
75
+
76
+ connect_event = ConnectClient::Event.new(nested_hash_values)
77
+ connect_event.data[:this][:is][:nested][0][0].must_equal iso_date
78
+ end
79
+
80
+ it "should turn Date into iso8601" do
81
+ some_date = Date.parse('2015-07-01')
82
+
83
+ nested_hash_values = {
84
+ this: {
85
+ is: {
86
+ nested: [[some_date]]
87
+ }
88
+ }
89
+ }
90
+
91
+ connect_event = ConnectClient::Event.new(nested_hash_values)
92
+ connect_event.data[:this][:is][:nested][0][0].must_equal some_date.to_time.utc.iso8601
93
+ end
94
94
  end