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