sunstone 5.0.1.3 → 5.0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class Sunstone::Connection::RequestHelpersTest < Minitest::Test
3
+ class Sunstone::Connection::RequestHelpersTest < ActiveSupport::TestCase
4
4
 
5
5
  # Sunstone.get ==============================================================
6
6
 
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class Sunstone::Connection::SendRequestTest < Minitest::Test
3
+ class Sunstone::Connection::SendRequestTest < ActiveSupport::TestCase
4
4
 
5
5
  test '#send_request(#<Net::HTTPRequest>) includes the api-key header when present' do
6
6
  connection = Sunstone::Connection.new(url: "http://my_api_key@example.com")
@@ -1,6 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
- class Sunstone::ConnectionTest < Minitest::Test
3
+ class Sunstone::ConnectionTest < ActiveSupport::TestCase
4
4
 
5
5
  # #ping =====================================================================
6
6
 
data/test/test_helper.rb CHANGED
@@ -17,15 +17,17 @@ require 'webmock/minitest'
17
17
  require 'mocha/mini_test'
18
18
 
19
19
  require 'sunstone'
20
- require File.expand_path('../models.rb', __FILE__)
20
+ require File.expand_path('../schema_mock.rb', __FILE__)
21
21
 
22
22
  Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
23
23
 
24
+ $debugging = false
25
+
24
26
  # File 'lib/active_support/testing/declarative.rb', somewhere in rails....
25
- class Minitest::Test
27
+ class ActiveSupport::TestCase
28
+ include WebMock::API
26
29
 
27
30
  # include ActiveSupport::Testing::TimeHelpers
28
-
29
31
  def self.test(name, &block)
30
32
  test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
31
33
  defined = instance_method(test_name) rescue false
@@ -65,7 +67,8 @@ class Minitest::Test
65
67
  def webmock(method, path, query=nil)
66
68
  query = deep_transform_query(query) if query
67
69
 
68
- stub_request(method, /^#{ExampleRecord.connection.instance_variable_get(:@connection).url}/).with do |req|
70
+ stub_request(method, /^#{ActiveRecord::Base.connection.instance_variable_get(:@connection).url}/).with do |req|
71
+ # puts "REQ\t#{unpack(req.uri.query.sub(/=true$/, ''))}" if req&.uri&.path == path && req.uri.query
69
72
  if query
70
73
  req&.uri&.path == path && req.uri.query && unpack(req.uri.query.sub(/=true$/, '')) == query
71
74
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sunstone
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.0.1.3
4
+ version: 5.0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Bracy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-22 00:00:00.000000000 Z
11
+ date: 2017-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: sdoc
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +137,7 @@ dependencies:
151
137
  - !ruby/object:Gem::Version
152
138
  version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
- name: sdoc-templates-42floors
140
+ name: rgeo
155
141
  requirement: !ruby/object:Gem::Requirement
156
142
  requirements:
157
143
  - - ">="
@@ -165,7 +151,7 @@ dependencies:
165
151
  - !ruby/object:Gem::Version
166
152
  version: '0'
167
153
  - !ruby/object:Gem::Dependency
168
- name: rgeo
154
+ name: simplecov
169
155
  requirement: !ruby/object:Gem::Requirement
170
156
  requirements:
171
157
  - - ">="
@@ -179,7 +165,7 @@ dependencies:
179
165
  - !ruby/object:Gem::Version
180
166
  version: '0'
181
167
  - !ruby/object:Gem::Dependency
182
- name: simplecov
168
+ name: byebug
183
169
  requirement: !ruby/object:Gem::Requirement
184
170
  requirements:
185
171
  - - ">="
@@ -193,19 +179,19 @@ dependencies:
193
179
  - !ruby/object:Gem::Version
194
180
  version: '0'
195
181
  - !ruby/object:Gem::Dependency
196
- name: byebug
182
+ name: activesupport
197
183
  requirement: !ruby/object:Gem::Requirement
198
184
  requirements:
199
- - - ">="
185
+ - - "~>"
200
186
  - !ruby/object:Gem::Version
201
- version: '0'
187
+ version: 5.0.1
202
188
  type: :development
203
189
  prerelease: false
204
190
  version_requirements: !ruby/object:Gem::Requirement
205
191
  requirements:
206
- - - ">="
192
+ - - "~>"
207
193
  - !ruby/object:Gem::Version
208
- version: '0'
194
+ version: 5.0.1
209
195
  - !ruby/object:Gem::Dependency
210
196
  name: msgpack
211
197
  requirement: !ruby/object:Gem::Requirement
@@ -277,6 +263,7 @@ files:
277
263
  - README.md
278
264
  - Rakefile.rb
279
265
  - TODO.md
266
+ - ext/active_record/associations.rb
280
267
  - ext/active_record/associations/association.rb
281
268
  - ext/active_record/associations/collection_association.rb
282
269
  - ext/active_record/attribute_methods.rb
@@ -318,8 +305,13 @@ files:
318
305
  - test/active_record/eager_loading_test.rb
319
306
  - test/active_record/persistance_test.rb
320
307
  - test/active_record/preload_test.rb
308
+ - test/active_record/query/all_test.rb
309
+ - test/active_record/query/count_test.rb
310
+ - test/active_record/query/distinct_test.rb
311
+ - test/active_record/query/find_test.rb
312
+ - test/active_record/query/where_test.rb
321
313
  - test/active_record/query_test.rb
322
- - test/models.rb
314
+ - test/schema_mock.rb
323
315
  - test/sunstone/connection/configuration_test.rb
324
316
  - test/sunstone/connection/cookie_store_test.rb
325
317
  - test/sunstone/connection/request_helper_test.rb
@@ -355,8 +347,13 @@ test_files:
355
347
  - test/active_record/eager_loading_test.rb
356
348
  - test/active_record/persistance_test.rb
357
349
  - test/active_record/preload_test.rb
350
+ - test/active_record/query/all_test.rb
351
+ - test/active_record/query/count_test.rb
352
+ - test/active_record/query/distinct_test.rb
353
+ - test/active_record/query/find_test.rb
354
+ - test/active_record/query/where_test.rb
358
355
  - test/active_record/query_test.rb
359
- - test/models.rb
356
+ - test/schema_mock.rb
360
357
  - test/sunstone/connection/configuration_test.rb
361
358
  - test/sunstone/connection/cookie_store_test.rb
362
359
  - test/sunstone/connection/request_helper_test.rb
data/test/models.rb DELETED
@@ -1,115 +0,0 @@
1
- WebMock::StubRegistry.instance.global_stubs.push(
2
- WebMock::RequestStub.new(:get, "http://example.com/ping").to_return(
3
- body: "pong",
4
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
5
- ),
6
-
7
- WebMock::RequestStub.new(:get, "http://example.com/tables").to_return(
8
- body: %w(ships fleets sailors).to_json,
9
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
10
- ),
11
-
12
- WebMock::RequestStub.new(:get, "http://example.com/ships/schema").to_return(
13
- body: {
14
- columns: {
15
- id: {type: 'integer', primary_key: true, null: false, array: false},
16
- fleet_id: {type: 'integer', primary_key: false, null: true, array: false},
17
- name: {type: 'string', primary_key: false, null: true, array: false}
18
- },
19
- limit: 100
20
- }.to_json,
21
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
22
- ),
23
-
24
- WebMock::RequestStub.new(:get, "http://example.com/fleets/schema").to_return(
25
- body: {
26
- columns: {
27
- id: {type: 'integer', primary_key: true, null: false, array: false},
28
- name: {type: 'string', primary_key: false, null: true, array: false}
29
- },
30
- limit: nil
31
- }.to_json,
32
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
33
- ),
34
-
35
- WebMock::RequestStub.new(:get, "http://example.com/sailors/schema").to_return(
36
- body: {
37
- columns: {
38
- id: {type: 'integer', primary_key: true, null: false, array: false},
39
- name: {type: 'string', primary_key: false, null: true, array: false}
40
- },
41
- limit: 100
42
- }.to_json,
43
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
44
- ),
45
-
46
- WebMock::RequestStub.new(:get, "http://example.com/sailors_ships/schema").to_return(
47
- body: {
48
- columns: {
49
- sailor_id: {type: 'integer', primary_key: false, null: false, array: false},
50
- ship_id: {type: 'integer', primary_key: false, null: true, array: false}
51
- },
52
- limit: 100
53
- }.to_json,
54
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
55
- ),
56
-
57
- WebMock::RequestStub.new(:get, "http://example.com/countries/schema").to_return(
58
- body: {
59
- columns: {
60
- id: {type: 'integer', primary_key: true, null: false, array: false},
61
- name: {type: 'string', primary_key: false, null: true, array: false}
62
- },
63
- limit: 100
64
- }.to_json,
65
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
66
- ),
67
-
68
- WebMock::RequestStub.new(:get, "http://example.com/ownerships/schema").to_return(
69
- body: {
70
- columns: {
71
- country_id: {type: 'integer', primary_key: false, null: false, array: false},
72
- asset_type: {type: 'string', primary_key: false, null: false, array: false},
73
- asset_id: {type: 'integer', primary_key: false, null: true, array: false}
74
- },
75
- limit: 100
76
- }.to_json,
77
- headers: { 'StandardAPI-Version' => '5.0.0.5' }
78
- )
79
- )
80
-
81
- class ExampleRecord < ActiveRecord::Base
82
- self.abstract_class = true
83
- end
84
-
85
- ExampleRecord.establish_connection(
86
- adapter: 'sunstone',
87
- url: 'http://example.com'
88
- )
89
-
90
- class Fleet < ExampleRecord
91
- has_many :ships
92
- end
93
-
94
- class Ship < ExampleRecord
95
- belongs_to :fleet
96
-
97
- has_and_belongs_to_many :sailors
98
-
99
- has_many :ownerships, as: :asset
100
- has_many :nations, through: :ownerships, source: :country, inverse_of: :ships
101
- end
102
-
103
- class Sailor < ExampleRecord
104
- has_and_belongs_to_many :ships
105
- end
106
-
107
- class Country < ExampleRecord
108
- has_many :ownerships
109
- has_many :fleets, through: :ownerships
110
- end
111
-
112
- class Ownership < ExampleRecord
113
- belongs_to :country
114
- belongs_to :asset, polymorphic: true
115
- end