spark_api 1.5.2 → 1.5.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9dfabf550d6eea2fb80a30b047b5c0fb4a5aa95f4bad6ee2fd9135acc21ce479
4
- data.tar.gz: 8587cc4fa49929d9286ec6ac37c9d97259e6fbdf2d7b583716edc5d67068d47f
3
+ metadata.gz: 9a99d333efb4d06b28966e72fde3baa3b0576ca30249baa555a1dbb613616d78
4
+ data.tar.gz: 9b83e6b6d097af7a0bd559121ab9bc702154d1a8afd39f2f9c59474946436c48
5
5
  SHA512:
6
- metadata.gz: 2e0467d03ebcac984dd9ba6dbd0b120e60d1ef1c340d1972145140678a84b405567114a4af2eaba8776c8e9a20cc556dafada327cb9d86c9ad95dbec8ca2a1f5
7
- data.tar.gz: 6b9107aa27eed9afd313b34144c1f2b22425fa421568d6b496edb7d96b9828313568651457b3cd3f71085c7b3d09ecfd7d7595cced256cdc0a01775edf46b308
6
+ metadata.gz: 51f1a951daccd3cabed8ffb0fd3abbf3c7f0b2be7bdd55453e8a806341f0a4c06c0f5073cf5f2c1b07d3dcdd4bd265274d2441b91e268414eba4b52b01e72c51
7
+ data.tar.gz: 12b0fabf1ab8dab5d8871b4176ec6c2ec4b094a7713ab29e34f1c37f14a67e4aad69bb212a2bf94ff8d9d53298062010d13067054841a96b96a43bf268ff42b6
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.2
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 = @client.connection.send(method, request_path)
81
+ response = connection.send(method, request_path)
80
82
  else
81
83
  SparkApi.logger.debug { "Data: #{body}" }
82
- response = @client.connection.send(method, request_path, body)
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])
@@ -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.2
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-06-03 00:00:00.000000000 Z
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/generic_delete.json
543
- - spec/fixtures/base.json
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/listing_carts/add_listings.json
550
- - spec/fixtures/listing_carts/post_portal_cart.json
551
- - spec/fixtures/listing_carts/add_listing_post.json
552
- - spec/fixtures/listing_carts/new_portal_cart.json
553
- - spec/fixtures/listing_carts/add_listing.json
554
- - spec/fixtures/listing_carts/add_portal_cart_listings_post.json
555
- - spec/fixtures/listing_carts/listing_portal_cart.json
556
- - spec/fixtures/listing_carts/add_portal_cart_listings.json
557
- - spec/fixtures/listing_carts/empty.json
558
- - spec/fixtures/listing_carts/post.json
559
- - spec/fixtures/listing_carts/new.json
560
- - spec/fixtures/listing_carts/put.json
561
- - spec/fixtures/listing_carts/listing_cart.json
562
- - spec/fixtures/listing_carts/put_ids.json
563
- - spec/fixtures/listing_carts/remove_listing.json
564
- - spec/fixtures/listing_carts/put_name.json
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/with_rental_calendar.json
595
- - spec/fixtures/listings/constraints.json
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/tour_of_homes.json
598
- - spec/fixtures/listings/open_houses.json
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/with_supplement.json
579
+ - spec/fixtures/listings/put_reorder_photo.json
601
580
  - spec/fixtures/listings/shared_listing_new.json
602
- - spec/fixtures/listings/rental_calendar.json
603
- - spec/fixtures/listings/floplans_index.json
604
- - spec/fixtures/listings/with_videos.json
605
- - spec/fixtures/notes/agent_shared.json
606
- - spec/fixtures/notes/agent_shared_empty.json
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/accounts/my_put.json
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/logo_fbs.png
646
- - spec/fixtures/activities/get.json
647
- - spec/fixtures/saved_searches/get_provided.json
648
- - spec/fixtures/saved_searches/without_newsfeed.json
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/new.json
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/sharedlinks/success.json
656
- - spec/fixtures/messages/new_with_recipients.json
657
- - spec/fixtures/messages/post.json
658
- - spec/fixtures/messages/new.json
659
- - spec/fixtures/messages/count.json
660
- - spec/fixtures/messages/get.json
661
- - spec/fixtures/messages/new_empty.json
662
- - spec/fixtures/oauth2_error.json
663
- - spec/fixtures/no_results.json
664
- - spec/fixtures/contacts/tags.json
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/vow_accounts/post.json
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/post.json
671
- - spec/fixtures/contacts/new.json
672
- - spec/fixtures/contacts/contacts.json
673
- - spec/fixtures/contacts/new_empty.json
674
- - spec/fixtures/contacts/my.json
675
- - spec/fixtures/session.json
676
- - spec/fixtures/listing_meta_translations/get.json
677
- - spec/fixtures/portal/my_non_existant.json
678
- - spec/fixtures/portal/post.json
679
- - spec/fixtures/portal/enable.json
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/my.json
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/options_hash_spec.rb
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/primary_array_spec.rb
699
- - spec/unit/spark_api/models/search_template/quick_search_spec.rb
700
- - spec/unit/spark_api/models/contact_spec.rb
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/account_spec.rb
706
- - spec/unit/spark_api/models/photo_spec.rb
707
- - spec/unit/spark_api/models/constraint_spec.rb
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/newsfeed_spec.rb
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/notification_spec.rb
720
- - spec/unit/spark_api/models/document_spec.rb
721
- - spec/unit/spark_api/models/activity_spec.rb
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/sort_spec.rb
724
- - spec/unit/spark_api/models/finders_spec.rb
725
- - spec/unit/spark_api/models/tour_of_home_spec.rb
726
- - spec/unit/spark_api/models/email_link_spec.rb
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/shared_link_spec.rb
739
- - spec/unit/spark_api/models/portal_spec.rb
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