spark_api 1.5.2 → 1.5.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/spark_api/authentication/api_auth.rb +4 -2
- data/lib/spark_api/authentication/oauth2.rb +1 -0
- data/lib/spark_api/request.rb +16 -0
- data/spec/unit/spark_api/authentication/api_auth_spec.rb +19 -0
- data/spec/unit/spark_api/authentication/oauth2_spec.rb +18 -0
- data/spec/unit/spark_api/request_spec.rb +19 -3
- metadata +157 -157
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a99d333efb4d06b28966e72fde3baa3b0576ca30249baa555a1dbb613616d78
|
4
|
+
data.tar.gz: 9b83e6b6d097af7a0bd559121ab9bc702154d1a8afd39f2f9c59474946436c48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51f1a951daccd3cabed8ffb0fd3abbf3c7f0b2be7bdd55453e8a806341f0a4c06c0f5073cf5f2c1b07d3dcdd4bd265274d2441b91e268414eba4b52b01e72c51
|
7
|
+
data.tar.gz: 12b0fabf1ab8dab5d8871b4176ec6c2ec4b094a7713ab29e34f1c37f14a67e4aad69bb212a2bf94ff8d9d53298062010d13067054841a96b96a43bf268ff42b6
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.5.
|
1
|
+
1.5.3
|
@@ -63,6 +63,8 @@ module SparkApi
|
|
63
63
|
# Perform an HTTP request (no data)
|
64
64
|
def request(method, path, body, options)
|
65
65
|
escaped_path = Addressable::URI.escape(path)
|
66
|
+
connection = @client.connection
|
67
|
+
connection.headers.merge!(options.delete(:override_headers) || {})
|
66
68
|
request_opts = {
|
67
69
|
:AuthToken => @session.auth_token
|
68
70
|
}
|
@@ -76,10 +78,10 @@ module SparkApi
|
|
76
78
|
request_path = "#{escaped_path}?#{build_url_parameters({"ApiSig"=>sig}.merge(request_opts))}"
|
77
79
|
SparkApi.logger.debug { "Request: #{request_path}" }
|
78
80
|
if body.nil?
|
79
|
-
response =
|
81
|
+
response = connection.send(method, request_path)
|
80
82
|
else
|
81
83
|
SparkApi.logger.debug { "Data: #{body}" }
|
82
|
-
response =
|
84
|
+
response = connection.send(method, request_path, body)
|
83
85
|
end
|
84
86
|
response
|
85
87
|
end
|
@@ -42,6 +42,7 @@ module SparkApi
|
|
42
42
|
def request(method, path, body, options={})
|
43
43
|
escaped_path = Addressable::URI.escape(path)
|
44
44
|
connection = @client.connection(true) # SSL Only!
|
45
|
+
connection.headers.merge!(options.delete(:override_headers) || {})
|
45
46
|
connection.headers.merge!(self.auth_header)
|
46
47
|
|
47
48
|
unless (@client.api_user.nil? || options[:ApiUser])
|
data/lib/spark_api/request.rb
CHANGED
@@ -61,6 +61,22 @@ module SparkApi
|
|
61
61
|
unless authenticated?
|
62
62
|
authenticate
|
63
63
|
end
|
64
|
+
|
65
|
+
# Allow use of the X-HTTP-Method-Override header to disguise excessively
|
66
|
+
# large GET/DELETE/HEAD requests as POST requests.
|
67
|
+
if options[:http_method_override]
|
68
|
+
options = options.clone
|
69
|
+
options.delete(:http_method_override)
|
70
|
+
body = URI.encode_www_form(options)
|
71
|
+
options = {
|
72
|
+
override_headers: {
|
73
|
+
"X-HTTP-Method-Override" => method.to_s.upcase,
|
74
|
+
"Content-Type" => "application/x-www-form-urlencoded"
|
75
|
+
}
|
76
|
+
}
|
77
|
+
method = :post
|
78
|
+
end
|
79
|
+
|
64
80
|
attempts = 0
|
65
81
|
begin
|
66
82
|
request_opts = {}
|
@@ -119,6 +119,25 @@ describe SparkApi::Authentication::ApiAuth do
|
|
119
119
|
:status=>201)
|
120
120
|
expect(subject.request(:post, "/#{SparkApi.version}/contacts", contact, args).status).to eq(201)
|
121
121
|
end
|
122
|
+
it "should incorporate any override_headers it is given while excluding them from the resulting request" do
|
123
|
+
stub_auth_request
|
124
|
+
args = {
|
125
|
+
override_headers: {
|
126
|
+
"Some-Header" => "Some-Value"
|
127
|
+
},
|
128
|
+
ApiUser: "foobar",
|
129
|
+
some_other_param: "some_other_value"
|
130
|
+
}
|
131
|
+
body = "somerequestbodytext"
|
132
|
+
stub_request(:post, "https://api.sparkapi.com/v1/someservice?ApiSig=856f5c036137c0cef5d4d223cd0f42be&ApiUser=foobar&AuthToken=1234&some_other_param=some_other_value").
|
133
|
+
with(body: "somerequestbodytext", headers: args[:override_headers]).
|
134
|
+
to_return(body: '{"D": {
|
135
|
+
"Success": true,
|
136
|
+
"Results": []
|
137
|
+
}',
|
138
|
+
status: 200)
|
139
|
+
expect(subject.request(:post, "/#{SparkApi.version}/someservice", body, args).status).to eq(200)
|
140
|
+
end
|
122
141
|
end
|
123
142
|
|
124
143
|
describe "sign" do
|
@@ -97,6 +97,24 @@ describe SparkApi::Authentication::OAuth2 do
|
|
97
97
|
:status=>201)
|
98
98
|
expect(subject.request(:post, "/#{SparkApi.version}/contacts", contact, args).status).to eq(201)
|
99
99
|
end
|
100
|
+
it "should incorporate any override_headers it is given while excluding them from the resulting request" do
|
101
|
+
subject.session = session
|
102
|
+
args = {
|
103
|
+
override_headers: {
|
104
|
+
"Some-Header" => "Some-Value"
|
105
|
+
},
|
106
|
+
some_other_param: "some_other_value"
|
107
|
+
}
|
108
|
+
body = "somerequestbodytext"
|
109
|
+
stub_request(:post, "https://api.sparkapi.com/#{SparkApi.version}/someservice?some_other_param=some_other_value").
|
110
|
+
with(body: body, headers: args[:override_headers]).
|
111
|
+
to_return(body: '{"D": {
|
112
|
+
"Success": true,
|
113
|
+
"Results": []
|
114
|
+
}',
|
115
|
+
status: 200)
|
116
|
+
expect(subject.request(:post, "/#{SparkApi.version}/someservice", body, args).status).to eq(200)
|
117
|
+
end
|
100
118
|
end
|
101
119
|
|
102
120
|
describe "sparkbar_token" do
|
@@ -160,7 +160,13 @@ describe SparkApi do
|
|
160
160
|
}
|
161
161
|
}']
|
162
162
|
}
|
163
|
-
|
163
|
+
# For testing http_method_override. See associated test for more details.
|
164
|
+
stub.post('/v1/routetoproveweareposting?ApiSig=SignedToken&AuthToken=1234', 'some_param=some_value') { [200, {}, '{"D": {
|
165
|
+
"Success": true,
|
166
|
+
"Results": []
|
167
|
+
}
|
168
|
+
}']
|
169
|
+
}
|
164
170
|
end
|
165
171
|
@connection = test_connection(stubs)
|
166
172
|
end
|
@@ -230,7 +236,7 @@ describe SparkApi do
|
|
230
236
|
end
|
231
237
|
|
232
238
|
it "should allow response object to be returned instead of body" do
|
233
|
-
r = subject.get('/system', { full_response: true })
|
239
|
+
r = subject.get('/system', { some_param: 'something', full_response: true })
|
234
240
|
|
235
241
|
expect(r.is_a?(Faraday::Response)).to be(true)
|
236
242
|
expect(r.status).to eq(200)
|
@@ -248,7 +254,17 @@ describe SparkApi do
|
|
248
254
|
expect(number.to_s).to eq(BigDecimal.new("9999999999999999999999999.99").to_s)
|
249
255
|
end
|
250
256
|
end
|
251
|
-
|
257
|
+
|
258
|
+
# This is a weird feature and it also gets a weird test that probably
|
259
|
+
# merits explanation:
|
260
|
+
#
|
261
|
+
# We have only stubbed POST for this route, so the below succeeding
|
262
|
+
# proves that we have converted our GET into a POST. It is additionally
|
263
|
+
# stubbed to prove that we turn the params into a body which excludes the
|
264
|
+
# http_method_override options as well as the override_headers options.
|
265
|
+
it "should convert GET to POST if http_method_override: true is supplied" do
|
266
|
+
expect(subject.get('/routetoproveweareposting', { http_method_override: true, some_param: "some_value" }).success?).to be true
|
267
|
+
end
|
252
268
|
end
|
253
269
|
|
254
270
|
context "when unauthenticated" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spark_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandon Hornseth
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-08-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
@@ -539,203 +539,203 @@ signing_key:
|
|
539
539
|
specification_version: 4
|
540
540
|
summary: A library for interacting with the Spark web services.
|
541
541
|
test_files:
|
542
|
-
- spec/fixtures/
|
543
|
-
- spec/fixtures/
|
544
|
-
- spec/fixtures/authentication_failure.json
|
545
|
-
- spec/fixtures/errors/failure_with_constraint.json
|
542
|
+
- spec/fixtures/activities/get.json
|
543
|
+
- spec/fixtures/listing_meta_translations/get.json
|
546
544
|
- spec/fixtures/errors/failure.json
|
547
545
|
- spec/fixtures/errors/expired.json
|
548
546
|
- spec/fixtures/errors/failure_with_msg.json
|
549
|
-
- spec/fixtures/
|
550
|
-
- spec/fixtures/
|
551
|
-
- spec/fixtures/
|
552
|
-
- spec/fixtures/
|
553
|
-
- spec/fixtures/
|
554
|
-
- spec/fixtures/
|
555
|
-
- spec/fixtures/
|
556
|
-
- spec/fixtures/
|
557
|
-
- spec/fixtures/
|
558
|
-
- spec/fixtures/
|
559
|
-
- spec/fixtures/
|
560
|
-
- spec/fixtures/
|
561
|
-
- spec/fixtures/
|
562
|
-
- spec/fixtures/
|
563
|
-
- spec/fixtures/
|
564
|
-
- spec/fixtures/
|
565
|
-
- spec/fixtures/listing_carts/add_listings_post.json
|
566
|
-
- spec/fixtures/fields/order_a.json
|
567
|
-
- spec/fixtures/fields/settings.json
|
568
|
-
- spec/fixtures/fields/order.json
|
569
|
-
- spec/fixtures/newsfeeds/inactive.json
|
570
|
-
- spec/fixtures/newsfeeds/get.json
|
571
|
-
- spec/fixtures/newsfeeds/meta.json
|
572
|
-
- spec/fixtures/idx_links/get.json
|
573
|
-
- spec/fixtures/listings/document_index.json
|
574
|
-
- spec/fixtures/listings/with_documents.json
|
547
|
+
- spec/fixtures/errors/failure_with_constraint.json
|
548
|
+
- spec/fixtures/notifications/new.json
|
549
|
+
- spec/fixtures/notifications/new_empty.json
|
550
|
+
- spec/fixtures/notifications/post.json
|
551
|
+
- spec/fixtures/notifications/notifications.json
|
552
|
+
- spec/fixtures/notifications/unread.json
|
553
|
+
- spec/fixtures/notifications/mark_read.json
|
554
|
+
- spec/fixtures/listings/tour_of_homes_search.json
|
555
|
+
- spec/fixtures/listings/multiple.json
|
556
|
+
- spec/fixtures/listings/virtual_tours_index.json
|
557
|
+
- spec/fixtures/listings/shared_listing_post.json
|
558
|
+
- spec/fixtures/listings/with_videos.json
|
559
|
+
- spec/fixtures/listings/reorder_photo.json
|
560
|
+
- spec/fixtures/listings/open_houses.json
|
561
|
+
- spec/fixtures/listings/tour_of_homes.json
|
562
|
+
- spec/fixtures/listings/photos/new.json
|
575
563
|
- spec/fixtures/listings/photos/batch_delete.json
|
576
|
-
- spec/fixtures/listings/photos/rollback.json
|
577
564
|
- spec/fixtures/listings/photos/post.json
|
565
|
+
- spec/fixtures/listings/photos/rollback.json
|
578
566
|
- spec/fixtures/listings/photos/index.json
|
579
|
-
- spec/fixtures/listings/photos/new.json
|
580
567
|
- spec/fixtures/listings/photos/rotate.json
|
581
|
-
- spec/fixtures/listings/multiple.json
|
582
|
-
- spec/fixtures/listings/tour_of_homes_search.json
|
583
|
-
- spec/fixtures/listings/put_expiration_date.json
|
584
|
-
- spec/fixtures/listings/videos_index.json
|
585
|
-
- spec/fixtures/listings/with_permissions.json
|
586
|
-
- spec/fixtures/listings/reorder_photo.json
|
587
|
-
- spec/fixtures/listings/virtual_tours_index.json
|
588
|
-
- spec/fixtures/listings/put_reorder_photo.json
|
589
|
-
- spec/fixtures/listings/no_subresources.json
|
590
|
-
- spec/fixtures/listings/with_photos.json
|
591
|
-
- spec/fixtures/listings/shared_listing_post.json
|
592
568
|
- spec/fixtures/listings/with_vtour.json
|
593
569
|
- spec/fixtures/listings/put.json
|
594
|
-
- spec/fixtures/listings/
|
595
|
-
- spec/fixtures/listings/
|
570
|
+
- spec/fixtures/listings/floplans_index.json
|
571
|
+
- spec/fixtures/listings/videos_index.json
|
596
572
|
- spec/fixtures/listings/constraints_with_pagination.json
|
597
|
-
- spec/fixtures/listings/
|
598
|
-
- spec/fixtures/listings/
|
573
|
+
- spec/fixtures/listings/document_index.json
|
574
|
+
- spec/fixtures/listings/constraints.json
|
575
|
+
- spec/fixtures/listings/with_permissions.json
|
576
|
+
- spec/fixtures/listings/rental_calendar.json
|
577
|
+
- spec/fixtures/listings/with_rental_calendar.json
|
599
578
|
- spec/fixtures/listings/shared_listing_get.json
|
600
|
-
- spec/fixtures/listings/
|
579
|
+
- spec/fixtures/listings/put_reorder_photo.json
|
601
580
|
- spec/fixtures/listings/shared_listing_new.json
|
602
|
-
- spec/fixtures/listings/
|
603
|
-
- spec/fixtures/listings/
|
604
|
-
- spec/fixtures/listings/
|
605
|
-
- spec/fixtures/
|
606
|
-
- spec/fixtures/
|
581
|
+
- spec/fixtures/listings/put_expiration_date.json
|
582
|
+
- spec/fixtures/listings/with_supplement.json
|
583
|
+
- spec/fixtures/listings/with_documents.json
|
584
|
+
- spec/fixtures/listings/with_photos.json
|
585
|
+
- spec/fixtures/listings/no_subresources.json
|
586
|
+
- spec/fixtures/messages/new.json
|
587
|
+
- spec/fixtures/messages/new_empty.json
|
588
|
+
- spec/fixtures/messages/post.json
|
589
|
+
- spec/fixtures/messages/count.json
|
590
|
+
- spec/fixtures/messages/new_with_recipients.json
|
591
|
+
- spec/fixtures/messages/get.json
|
592
|
+
- spec/fixtures/logo_fbs.png
|
593
|
+
- spec/fixtures/oauth2/access_with_refresh.json
|
594
|
+
- spec/fixtures/oauth2/access_with_old_refresh.json
|
595
|
+
- spec/fixtures/oauth2/access.json
|
596
|
+
- spec/fixtures/oauth2/refresh_body.json
|
597
|
+
- spec/fixtures/oauth2/password_body.json
|
598
|
+
- spec/fixtures/oauth2/authorization_code_body.json
|
599
|
+
- spec/fixtures/oauth2/error.json
|
600
|
+
- spec/fixtures/comments/new.json
|
601
|
+
- spec/fixtures/comments/post.json
|
602
|
+
- spec/fixtures/comments/get.json
|
603
|
+
- spec/fixtures/success.json
|
607
604
|
- spec/fixtures/notes/new.json
|
605
|
+
- spec/fixtures/notes/agent_shared_empty.json
|
608
606
|
- spec/fixtures/notes/add.json
|
607
|
+
- spec/fixtures/notes/agent_shared.json
|
608
|
+
- spec/fixtures/count.json
|
609
|
+
- spec/fixtures/accounts/my.json
|
609
610
|
- spec/fixtures/accounts/office.json
|
610
611
|
- spec/fixtures/accounts/my_portal.json
|
612
|
+
- spec/fixtures/accounts/my_put.json
|
611
613
|
- spec/fixtures/accounts/password_save.json
|
612
614
|
- spec/fixtures/accounts/my_save.json
|
613
615
|
- spec/fixtures/accounts/all.json
|
614
|
-
- spec/fixtures/
|
615
|
-
- spec/fixtures/accounts/my.json
|
616
|
-
- spec/fixtures/notifications/mark_read.json
|
617
|
-
- spec/fixtures/notifications/post.json
|
618
|
-
- spec/fixtures/notifications/new.json
|
619
|
-
- spec/fixtures/notifications/notifications.json
|
620
|
-
- spec/fixtures/notifications/new_empty.json
|
621
|
-
- spec/fixtures/notifications/unread.json
|
622
|
-
- spec/fixtures/search_templates/quick_searches/get.json
|
623
|
-
- spec/fixtures/standardfields/nearby.json
|
624
|
-
- spec/fixtures/standardfields/stateorprovince.json
|
625
|
-
- spec/fixtures/standardfields/city.json
|
626
|
-
- spec/fixtures/standardfields/standardfields.json
|
627
|
-
- spec/fixtures/oauth2/authorization_code_body.json
|
628
|
-
- spec/fixtures/oauth2/access_with_refresh.json
|
629
|
-
- spec/fixtures/oauth2/password_body.json
|
630
|
-
- spec/fixtures/oauth2/access_with_old_refresh.json
|
631
|
-
- spec/fixtures/oauth2/refresh_body.json
|
632
|
-
- spec/fixtures/oauth2/error.json
|
633
|
-
- spec/fixtures/oauth2/access.json
|
634
|
-
- spec/fixtures/empty.json
|
635
|
-
- spec/fixtures/generic_failure.json
|
636
|
-
- spec/fixtures/rules/get.json
|
637
|
-
- spec/fixtures/property_types/property_types.json
|
638
|
-
- spec/fixtures/success.json
|
639
|
-
- spec/fixtures/count.json
|
640
|
-
- spec/fixtures/sorts/get.json
|
641
|
-
- spec/fixtures/comments/post.json
|
642
|
-
- spec/fixtures/comments/new.json
|
643
|
-
- spec/fixtures/comments/get.json
|
616
|
+
- spec/fixtures/sharedlinks/success.json
|
644
617
|
- spec/fixtures/finders.json
|
645
|
-
- spec/fixtures/
|
646
|
-
- spec/fixtures/
|
647
|
-
- spec/fixtures/
|
648
|
-
- spec/fixtures/
|
618
|
+
- spec/fixtures/authentication_failure.json
|
619
|
+
- spec/fixtures/idx_links/get.json
|
620
|
+
- spec/fixtures/session.json
|
621
|
+
- spec/fixtures/property_types/property_types.json
|
622
|
+
- spec/fixtures/saved_searches/new.json
|
649
623
|
- spec/fixtures/saved_searches/update.json
|
650
624
|
- spec/fixtures/saved_searches/post.json
|
651
|
-
- spec/fixtures/saved_searches/
|
652
|
-
- spec/fixtures/saved_searches/get.json
|
625
|
+
- spec/fixtures/saved_searches/without_newsfeed.json
|
653
626
|
- spec/fixtures/saved_searches/with_newsfeed.json
|
627
|
+
- spec/fixtures/saved_searches/get_provided.json
|
654
628
|
- spec/fixtures/saved_searches/with_inactive_newsfeed.json
|
655
|
-
- spec/fixtures/
|
656
|
-
- spec/fixtures/
|
657
|
-
- spec/fixtures/
|
658
|
-
- spec/fixtures/
|
659
|
-
- spec/fixtures/
|
660
|
-
- spec/fixtures/
|
661
|
-
- spec/fixtures/
|
662
|
-
- spec/fixtures/
|
663
|
-
- spec/fixtures/
|
664
|
-
- spec/fixtures/
|
629
|
+
- spec/fixtures/saved_searches/get.json
|
630
|
+
- spec/fixtures/search_templates/quick_searches/get.json
|
631
|
+
- spec/fixtures/standardfields/city.json
|
632
|
+
- spec/fixtures/standardfields/standardfields.json
|
633
|
+
- spec/fixtures/standardfields/stateorprovince.json
|
634
|
+
- spec/fixtures/standardfields/nearby.json
|
635
|
+
- spec/fixtures/generic_delete.json
|
636
|
+
- spec/fixtures/fields/order_a.json
|
637
|
+
- spec/fixtures/fields/settings.json
|
638
|
+
- spec/fixtures/fields/order.json
|
639
|
+
- spec/fixtures/contacts/my.json
|
640
|
+
- spec/fixtures/contacts/new.json
|
665
641
|
- spec/fixtures/contacts/new_notify.json
|
666
|
-
- spec/fixtures/contacts/
|
642
|
+
- spec/fixtures/contacts/new_empty.json
|
643
|
+
- spec/fixtures/contacts/post.json
|
644
|
+
- spec/fixtures/contacts/contacts.json
|
667
645
|
- spec/fixtures/contacts/vow_accounts/new.json
|
646
|
+
- spec/fixtures/contacts/vow_accounts/post.json
|
668
647
|
- spec/fixtures/contacts/vow_accounts/get.json
|
669
648
|
- spec/fixtures/contacts/vow_accounts/edit.json
|
670
|
-
- spec/fixtures/contacts/
|
671
|
-
- spec/fixtures/
|
672
|
-
- spec/fixtures/
|
673
|
-
- spec/fixtures/
|
674
|
-
- spec/fixtures/
|
675
|
-
- spec/fixtures/
|
676
|
-
- spec/fixtures/
|
677
|
-
- spec/fixtures/
|
678
|
-
- spec/fixtures/
|
679
|
-
- spec/fixtures/
|
649
|
+
- spec/fixtures/contacts/tags.json
|
650
|
+
- spec/fixtures/rules/get.json
|
651
|
+
- spec/fixtures/newsfeeds/inactive.json
|
652
|
+
- spec/fixtures/newsfeeds/meta.json
|
653
|
+
- spec/fixtures/newsfeeds/get.json
|
654
|
+
- spec/fixtures/listing_carts/post_portal_cart.json
|
655
|
+
- spec/fixtures/listing_carts/listing_portal_cart.json
|
656
|
+
- spec/fixtures/listing_carts/put_ids.json
|
657
|
+
- spec/fixtures/listing_carts/new.json
|
658
|
+
- spec/fixtures/listing_carts/add_listings.json
|
659
|
+
- spec/fixtures/listing_carts/post.json
|
660
|
+
- spec/fixtures/listing_carts/put.json
|
661
|
+
- spec/fixtures/listing_carts/add_listing_post.json
|
662
|
+
- spec/fixtures/listing_carts/new_portal_cart.json
|
663
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings_post.json
|
664
|
+
- spec/fixtures/listing_carts/put_name.json
|
665
|
+
- spec/fixtures/listing_carts/add_listings_post.json
|
666
|
+
- spec/fixtures/listing_carts/remove_listing.json
|
667
|
+
- spec/fixtures/listing_carts/add_listing.json
|
668
|
+
- spec/fixtures/listing_carts/add_portal_cart_listings.json
|
669
|
+
- spec/fixtures/listing_carts/empty.json
|
670
|
+
- spec/fixtures/listing_carts/listing_cart.json
|
671
|
+
- spec/fixtures/portal/my.json
|
680
672
|
- spec/fixtures/portal/new.json
|
673
|
+
- spec/fixtures/portal/post.json
|
681
674
|
- spec/fixtures/portal/disable.json
|
682
|
-
- spec/fixtures/portal/
|
675
|
+
- spec/fixtures/portal/my_non_existant.json
|
676
|
+
- spec/fixtures/portal/enable.json
|
677
|
+
- spec/fixtures/no_results.json
|
678
|
+
- spec/fixtures/base.json
|
679
|
+
- spec/fixtures/empty.json
|
680
|
+
- spec/fixtures/generic_failure.json
|
681
|
+
- spec/fixtures/sorts/get.json
|
682
|
+
- spec/fixtures/oauth2_error.json
|
683
683
|
- spec/unit/spark_api_spec.rb
|
684
|
-
- spec/unit/spark_api/
|
684
|
+
- spec/unit/spark_api/multi_client_spec.rb
|
685
|
+
- spec/unit/spark_api/request_spec.rb
|
685
686
|
- spec/unit/spark_api/paginate_spec.rb
|
686
687
|
- spec/unit/spark_api/configuration/yaml_spec.rb
|
687
|
-
- spec/unit/spark_api/faraday_middleware_spec.rb
|
688
|
-
- spec/unit/spark_api/configuration_spec.rb
|
689
|
-
- spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
|
690
|
-
- spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
|
691
|
-
- spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
|
692
|
-
- spec/unit/spark_api/authentication/base_auth_spec.rb
|
693
|
-
- spec/unit/spark_api/authentication/api_auth_spec.rb
|
694
|
-
- spec/unit/spark_api/authentication/oauth2_spec.rb
|
695
|
-
- spec/unit/spark_api/request_spec.rb
|
696
|
-
- spec/unit/spark_api/multi_client_spec.rb
|
697
688
|
- spec/unit/spark_api/authentication_spec.rb
|
698
|
-
- spec/unit/spark_api/
|
699
|
-
- spec/unit/spark_api/models/
|
700
|
-
- spec/unit/spark_api/models/
|
701
|
-
- spec/unit/spark_api/models/note_spec.rb
|
702
|
-
- spec/unit/spark_api/models/listing_meta_translations_spec.rb
|
689
|
+
- spec/unit/spark_api/models/document_spec.rb
|
690
|
+
- spec/unit/spark_api/models/newsfeed_spec.rb
|
691
|
+
- spec/unit/spark_api/models/fields_spec.rb
|
703
692
|
- spec/unit/spark_api/models/concerns/destroyable_spec.rb
|
704
693
|
- spec/unit/spark_api/models/concerns/savable_spec.rb
|
705
|
-
- spec/unit/spark_api/models/
|
706
|
-
- spec/unit/spark_api/models/
|
707
|
-
- spec/unit/spark_api/models/
|
694
|
+
- spec/unit/spark_api/models/listing_meta_translations_spec.rb
|
695
|
+
- spec/unit/spark_api/models/notification_spec.rb
|
696
|
+
- spec/unit/spark_api/models/property_types_spec.rb
|
697
|
+
- spec/unit/spark_api/models/vow_account_spec.rb
|
708
698
|
- spec/unit/spark_api/models/rental_calendar_spec.rb
|
709
|
-
- spec/unit/spark_api/models/
|
710
|
-
- spec/unit/spark_api/models/fields_spec.rb
|
711
|
-
- spec/unit/spark_api/models/listing_cart_spec.rb
|
712
|
-
- spec/unit/spark_api/models/account_report_spec.rb
|
713
|
-
- spec/unit/spark_api/models/shared_listing_spec.rb
|
714
|
-
- spec/unit/spark_api/models/system_info_spec.rb
|
715
|
-
- spec/unit/spark_api/models/base_spec.rb
|
699
|
+
- spec/unit/spark_api/models/shared_link_spec.rb
|
716
700
|
- spec/unit/spark_api/models/saved_search_spec.rb
|
717
|
-
- spec/unit/spark_api/models/subresource_spec.rb
|
718
701
|
- spec/unit/spark_api/models/floplan_spec.rb
|
719
|
-
- spec/unit/spark_api/models/
|
720
|
-
- spec/unit/spark_api/models/
|
721
|
-
- spec/unit/spark_api/models/
|
702
|
+
- spec/unit/spark_api/models/base_spec.rb
|
703
|
+
- spec/unit/spark_api/models/portal_spec.rb
|
704
|
+
- spec/unit/spark_api/models/shared_listing_spec.rb
|
705
|
+
- spec/unit/spark_api/models/dirty_spec.rb
|
706
|
+
- spec/unit/spark_api/models/photo_spec.rb
|
722
707
|
- spec/unit/spark_api/models/standard_fields_spec.rb
|
723
|
-
- spec/unit/spark_api/models/
|
724
|
-
- spec/unit/spark_api/models/
|
725
|
-
- spec/unit/spark_api/models/
|
726
|
-
- spec/unit/spark_api/models/
|
708
|
+
- spec/unit/spark_api/models/constraint_spec.rb
|
709
|
+
- spec/unit/spark_api/models/search_template/quick_search_spec.rb
|
710
|
+
- spec/unit/spark_api/models/system_info_spec.rb
|
711
|
+
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
727
712
|
- spec/unit/spark_api/models/video_spec.rb
|
728
|
-
- spec/unit/spark_api/models/message_spec.rb
|
729
713
|
- spec/unit/spark_api/models/virtual_tour_spec.rb
|
730
|
-
- spec/unit/spark_api/models/open_house_spec.rb
|
731
|
-
- spec/unit/spark_api/models/property_types_spec.rb
|
732
|
-
- spec/unit/spark_api/models/defaultable_spec.rb
|
733
|
-
- spec/unit/spark_api/models/news_feed_meta_spec.rb
|
734
|
-
- spec/unit/spark_api/models/vow_account_spec.rb
|
735
|
-
- spec/unit/spark_api/models/listing_spec.rb
|
736
|
-
- spec/unit/spark_api/models/dirty_spec.rb
|
737
714
|
- spec/unit/spark_api/models/connect_prefs_spec.rb
|
738
|
-
- spec/unit/spark_api/models/
|
739
|
-
- spec/unit/spark_api/models/
|
715
|
+
- spec/unit/spark_api/models/account_spec.rb
|
716
|
+
- spec/unit/spark_api/models/sort_spec.rb
|
717
|
+
- spec/unit/spark_api/models/listing_cart_spec.rb
|
718
|
+
- spec/unit/spark_api/models/note_spec.rb
|
719
|
+
- spec/unit/spark_api/models/subresource_spec.rb
|
720
|
+
- spec/unit/spark_api/models/listing_spec.rb
|
721
|
+
- spec/unit/spark_api/models/account_report_spec.rb
|
722
|
+
- spec/unit/spark_api/models/defaultable_spec.rb
|
723
|
+
- spec/unit/spark_api/models/finders_spec.rb
|
740
724
|
- spec/unit/spark_api/models/rule_spec.rb
|
725
|
+
- spec/unit/spark_api/models/message_spec.rb
|
726
|
+
- spec/unit/spark_api/models/contact_spec.rb
|
727
|
+
- spec/unit/spark_api/models/open_house_spec.rb
|
728
|
+
- spec/unit/spark_api/models/email_link_spec.rb
|
729
|
+
- spec/unit/spark_api/models/tour_of_home_spec.rb
|
730
|
+
- spec/unit/spark_api/models/activity_spec.rb
|
731
|
+
- spec/unit/spark_api/primary_array_spec.rb
|
732
|
+
- spec/unit/spark_api/configuration_spec.rb
|
733
|
+
- spec/unit/spark_api/options_hash_spec.rb
|
734
|
+
- spec/unit/spark_api/authentication/base_auth_spec.rb
|
735
|
+
- spec/unit/spark_api/authentication/oauth2_impl/single_session_provider_spec.rb
|
736
|
+
- spec/unit/spark_api/authentication/oauth2_impl/grant_type_base_spec.rb
|
737
|
+
- spec/unit/spark_api/authentication/oauth2_impl/faraday_middleware_spec.rb
|
738
|
+
- spec/unit/spark_api/authentication/oauth2_spec.rb
|
739
|
+
- spec/unit/spark_api/authentication/api_auth_spec.rb
|
740
|
+
- spec/unit/spark_api/faraday_middleware_spec.rb
|
741
741
|
- spec/spec_helper.rb
|