ur 0.2.0 → 0.2.2

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.
@@ -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