ur 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,11 +0,0 @@
1
- require_relative 'test_helper'
2
-
3
- describe 'Ur metadata' do
4
- it 'sets duration from began_at' do
5
- ur = Ur.new
6
- ur.metadata.began_at = Time.now
7
- ur.metadata.finish!
8
- assert_instance_of(Float, ur.metadata.duration)
9
- assert_operator(ur.metadata.duration, :>, 0)
10
- end
11
- end
data/test/ur_rack_test.rb DELETED
@@ -1,25 +0,0 @@
1
- require_relative 'test_helper'
2
- require 'rack'
3
-
4
- describe 'Ur rack integration' do
5
- it 'builds from a rack env' do
6
- env = Rack::MockRequest.env_for('https://ur.unth.net/', {'HTTP_FOO' => 'bar'})
7
- ur = Ur.from_rack_request(env)
8
- assert_equal('inbound', ur.bound)
9
- assert_equal('GET', ur.request['method'])
10
- assert_equal('bar', ur.request.headers['foo'])
11
- assert_equal('https://ur.unth.net/', ur.request.uri)
12
- assert(ur.response.empty?)
13
- assert(ur.validate)
14
- end
15
- it 'builds from a rack request' do
16
- env = Rack::Request.new(Rack::MockRequest.env_for('https://ur.unth.net/', {'HTTP_FOO' => 'bar'}))
17
- ur = Ur.from_rack_request(env)
18
- assert_equal('inbound', ur.bound)
19
- assert_equal('GET', ur.request['method'])
20
- assert_equal('bar', ur.request.headers['foo'])
21
- assert_equal('https://ur.unth.net/', ur.request.uri)
22
- assert(ur.response.empty?)
23
- assert(ur.validate)
24
- end
25
- end
data/test/ur_test.rb DELETED
@@ -1,105 +0,0 @@
1
- require_relative 'test_helper'
2
- require 'faraday'
3
- require 'active_support/tagged_logging'
4
-
5
- describe 'Ur' do
6
- it 'has a valid schema' do
7
- Ur.schema.validate_schema!
8
- end
9
-
10
- it 'initializes' do
11
- Ur.new_jsi({})
12
- end
13
-
14
- it 'would prefer not to initialize' do
15
- assert_raises(TypeError) { Ur.new("hello!") }
16
- end
17
-
18
- it 'integrates with rack and faraday middlewares' do
19
- rack_app = proc do |env|
20
- [200, {'Content-Type' => 'text/plain'}, ['ᚒ']]
21
- end
22
- client_logger = ActiveSupport::TaggedLogging.new(Logger.new(StringIO.new))
23
- server_logger = ActiveSupport::TaggedLogging.new(Logger.new(StringIO.new))
24
- called_rack_before_request = false
25
- called_rack_after_response = false
26
- called_faraday_before_request = false
27
- called_faraday_after_response = false
28
- rack_app = Ur::RackMiddleware.new(rack_app, logger: server_logger,
29
- before_request: -> (ur) do
30
- called_rack_before_request = true
31
-
32
- server_logger.push_tags 'ur_test_rack'
33
-
34
- assert_equal('inbound', ur.bound)
35
- assert_equal('GET', ur.request['method'])
36
- assert_equal('ur.unth.net', ur.request.headers['host'])
37
- assert_equal('bar', ur.request.headers['foo'])
38
- assert_equal('https://ur.unth.net/', ur.request.uri)
39
- assert(ur.response.empty?)
40
- assert_nil(ur.metadata.began_at)
41
- assert_nil(ur.metadata.duration)
42
- assert(ur.validate)
43
- end,
44
- after_response: -> (ur) do
45
- called_rack_after_response = true
46
-
47
- server_logger.pop_tags
48
-
49
- assert_equal('inbound', ur.bound)
50
- assert_equal('GET', ur.request['method'])
51
- assert_equal(200, ur.response.status)
52
- assert_equal('text/plain', ur.response.headers['Content-Type'])
53
- assert_equal('ᚒ', ur.response.body)
54
- assert_instance_of(Time, ur.metadata.began_at)
55
- assert_instance_of(Float, ur.metadata.duration)
56
- assert_operator(ur.metadata.duration, :>, 0)
57
- assert_equal(['ur_test_rack'], ur.metadata.tags.to_a)
58
- assert(ur.validate)
59
- end,
60
- )
61
- faraday_conn = ::Faraday.new('https://ur.unth.net/') do |builder|
62
- builder.use(Ur::FaradayMiddleware, logger: client_logger,
63
- before_request: -> (ur) do
64
- called_faraday_before_request = true
65
-
66
- client_logger.push_tags 'ur_test_faraday'
67
-
68
- assert_equal('outbound', ur.bound)
69
- assert_equal('get', ur.request['method'])
70
- assert_equal('bar', ur.request.headers['foo'])
71
- assert_equal('https://ur.unth.net/', ur.request.uri)
72
- assert_equal(Addressable::URI.parse('https://ur.unth.net/'), ur.request.addressable_uri)
73
- assert(ur.response.empty?)
74
- assert_nil(ur.metadata.began_at)
75
- assert_nil(ur.metadata.duration)
76
- assert(ur.validate)
77
- end,
78
- after_response: -> (ur) do
79
- called_faraday_after_response = true
80
-
81
- client_logger.pop_tags
82
-
83
- assert_equal('outbound', ur.bound)
84
- assert_equal('get', ur.request['method'])
85
- assert_equal(200, ur.response.status)
86
- assert_equal('text/plain', ur.response.headers['Content-Type'])
87
- assert_equal('ᚒ', ur.response.body)
88
- assert_instance_of(Time, ur.metadata.began_at)
89
- assert_instance_of(Float, ur.metadata.duration)
90
- assert_operator(ur.metadata.duration, :>, 0)
91
- assert_equal(['ur_test_faraday'], ur.metadata.tags.to_a)
92
- assert(ur.validate)
93
- end,
94
- )
95
- builder.adapter(:rack, rack_app)
96
- end
97
- res = faraday_conn.get('/', nil, {'Foo' => 'bar'})
98
- assert(called_rack_before_request)
99
- assert(called_rack_after_response)
100
- assert(called_faraday_before_request)
101
- assert(called_faraday_after_response)
102
- assert_equal(200, res.status)
103
- assert_equal('ᚒ', res.body)
104
- end
105
- end