honest_renter 0.0.0 → 1.0.0
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 +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +7 -0
- data/Gemfile.lock +23 -1
- data/LICENSE.txt +22 -0
- data/README.md +116 -1
- data/Rakefile +11 -0
- data/honest_renter.gemspec +6 -1
- data/lib/authenticator.rb +76 -0
- data/lib/client.rb +11 -0
- data/lib/honest_renter.rb +12 -0
- data/lib/request.rb +71 -0
- data/lib/requests/expandable.rb +10 -0
- data/lib/requests/filter.rb +9 -0
- data/lib/requests/find_all.rb +27 -0
- data/lib/requests/find_all_by_filter.rb +38 -0
- data/lib/requests/find_by_id.rb +23 -0
- data/lib/requests/post.rb +15 -0
- data/lib/requires.rb +18 -0
- data/lib/response.rb +30 -0
- data/lib/session.rb +20 -0
- data/models/applicant.rb +42 -0
- data/models/base_model.rb +57 -0
- data/models/candidate.rb +31 -0
- data/models/child.rb +20 -0
- data/models/code.rb +27 -0
- data/models/cooccupant.rb +20 -0
- data/models/country.rb +16 -0
- data/models/email.rb +21 -0
- data/models/emergency_contact.rb +20 -0
- data/models/ethnicity.rb +16 -0
- data/models/failed_login.rb +21 -0
- data/models/gender.rb +16 -0
- data/models/inbox_filters.rb +26 -0
- data/models/invite_settings.rb +23 -0
- data/models/member.rb +24 -0
- data/models/name.rb +22 -0
- data/models/notification.rb +18 -0
- data/models/notification_type.rb +19 -0
- data/models/organization.rb +23 -0
- data/models/participant.rb +21 -0
- data/models/person.rb +30 -0
- data/models/pet.rb +22 -0
- data/models/pet_age_category.rb +18 -0
- data/models/pet_size_category.rb +18 -0
- data/models/pet_type.rb +18 -0
- data/models/phone.rb +24 -0
- data/models/phone_type.rb +18 -0
- data/models/position.rb +23 -0
- data/models/reason_for_archive.rb +18 -0
- data/models/reason_for_eviction.rb +18 -0
- data/models/reason_for_exclusion.rb +18 -0
- data/models/reference.rb +20 -0
- data/models/relationship_type.rb +19 -0
- data/models/reminder.rb +19 -0
- data/models/residence.rb +25 -0
- data/models/smoking_status_category.rb +18 -0
- data/models/sort_by_option.rb +18 -0
- data/models/time_of_day.rb +18 -0
- data/models/title.rb +17 -0
- data/models/user.rb +20 -0
- data/models/vehicle.rb +21 -0
- data/modules/requests_unsupported.rb +21 -0
- data/modules/unrequestable.rb +23 -0
- data/test/fixtures/ethnicities/find_all.json +38 -0
- data/test/fixtures/members/find.json +31 -0
- data/test/fixtures/titles/find_all_by_filters.json +11 -0
- data/test/integration/find_all_by_filters_test.rb +12 -0
- data/test/integration/find_all_test.rb +11 -0
- data/test/integration/find_test.rb +10 -0
- data/test/lib/authenticator_test.rb +75 -0
- data/test/lib/requests/filter_test.rb +14 -0
- data/test/lib/requests/find_all_by_filter_test.rb +44 -0
- data/test/lib/requests/find_all_test.rb +59 -0
- data/test/lib/requests/find_by_id_test.rb +30 -0
- data/test/lib/requests/post_test.rb +38 -0
- data/test/lib/response_test.rb +46 -0
- data/test/lib/session_test.rb +45 -0
- data/test/models/base_model_test.rb +62 -0
- data/test/test_helper.rb +76 -0
- data/version.rb +1 -1
- metadata +134 -2
| @@ -0,0 +1,14 @@ | |
| 1 | 
            +
            require_relative '../../test_helper'
         | 
| 2 | 
            +
            require_relative '../../../lib/requests/filter'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class FilterTest < MiniTest::Unit::TestCase
         | 
| 6 | 
            +
                def test_instance_variables
         | 
| 7 | 
            +
                  key = 'some key'
         | 
| 8 | 
            +
                  value = 'some value'
         | 
| 9 | 
            +
                  filter = Filter.new(key, value)
         | 
| 10 | 
            +
                  assert_equal(key, filter.key)
         | 
| 11 | 
            +
                  assert_equal(value, filter.value)
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
            end
         | 
| @@ -0,0 +1,44 @@ | |
| 1 | 
            +
            require_relative '../../test_helper'
         | 
| 2 | 
            +
            require_relative '../../../lib/requests/find_all_by_filter'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class FindAllByFilterTest < Minitest::Unit::TestCase
         | 
| 6 | 
            +
                def setup
         | 
| 7 | 
            +
                  @id = 1234
         | 
| 8 | 
            +
                  @resource_name = 'some resource'
         | 
| 9 | 
            +
                  @session = instance_double(Session)
         | 
| 10 | 
            +
                  @request = FindAllByFilter.new(@resource_name, @session)
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def test_ivars
         | 
| 14 | 
            +
                  assert_equal(@resource_name, @request.instance_variable_get(:@resource_name))
         | 
| 15 | 
            +
                  assert_equal(@session, @request.instance_variable_get(:@session))
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
             | 
| 18 | 
            +
                def test_expanding
         | 
| 19 | 
            +
                  @request.expanding('some attribute')
         | 
| 20 | 
            +
                  assert_equal(['some attribute'], @request.instance_variable_get(:@expansions))
         | 
| 21 | 
            +
             | 
| 22 | 
            +
                  @request.expanding('another attribute')
         | 
| 23 | 
            +
                  assert_equal(['some attribute', 'another attribute'], @request.instance_variable_get(:@expansions))
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                def test_expanding_contract
         | 
| 27 | 
            +
                  assert_equal(@request, @request.expanding(anything))
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                def test_add_filter
         | 
| 31 | 
            +
                  some_filter = Filter.new('key', 'value')
         | 
| 32 | 
            +
                  @request.add_filter(some_filter)
         | 
| 33 | 
            +
                  assert_equal([some_filter], @request.instance_variable_get(:@filters))
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  another_filter = Filter.new('another_key', 'another_value')
         | 
| 36 | 
            +
                  @request.add_filter(another_filter)
         | 
| 37 | 
            +
                  assert_equal([some_filter, another_filter], @request.instance_variable_get(:@filters))
         | 
| 38 | 
            +
                end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                def test_add_filter_contract
         | 
| 41 | 
            +
                  assert_equal(@request, @request.add_filter(anything))
         | 
| 42 | 
            +
                end
         | 
| 43 | 
            +
              end
         | 
| 44 | 
            +
            end
         | 
| @@ -0,0 +1,59 @@ | |
| 1 | 
            +
            require_relative '../../test_helper'
         | 
| 2 | 
            +
            require_relative '../../../lib/requests/find_all'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class FindAllTest < Minitest::Unit::TestCase
         | 
| 6 | 
            +
                def setup
         | 
| 7 | 
            +
                  @resource_name = 'some resource'
         | 
| 8 | 
            +
                  @session = instance_double(Session)
         | 
| 9 | 
            +
                  @request = FindAll.new(@resource_name, @session)
         | 
| 10 | 
            +
                end
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                def test_ivars
         | 
| 13 | 
            +
                  assert_equal(@resource_name, @request.instance_variable_get(:@resource_name))
         | 
| 14 | 
            +
                  assert_equal(@session, @request.instance_variable_get(:@session))
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                def test_expanding
         | 
| 18 | 
            +
                  @request.expanding('some attribute')
         | 
| 19 | 
            +
                  assert_equal(['some attribute'], @request.instance_variable_get(:@expansions))
         | 
| 20 | 
            +
                  @request.expanding('another attribute')
         | 
| 21 | 
            +
                  assert_equal(['some attribute', 'another attribute'], @request.instance_variable_get(:@expansions))
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def test_expanding_contract
         | 
| 25 | 
            +
                  assert_equal(@request, @request.expanding(anything))
         | 
| 26 | 
            +
                end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                def call_setup
         | 
| 29 | 
            +
                  mock_client = instance_double(Client)
         | 
| 30 | 
            +
                  mock_request = instance_double(Request)
         | 
| 31 | 
            +
                  expect(Request)
         | 
| 32 | 
            +
                    .to receive(:new)
         | 
| 33 | 
            +
                    .with(instance_of(Client), @session) { mock_request }
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  mock_request
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
             | 
| 38 | 
            +
                def test_call
         | 
| 39 | 
            +
                  mock_request = call_setup
         | 
| 40 | 
            +
                  expect(mock_request)
         | 
| 41 | 
            +
                    .to receive(:get)
         | 
| 42 | 
            +
                    .with(@resource_name, {})
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                  @request.call
         | 
| 45 | 
            +
                end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                def test_call_with_expanding
         | 
| 48 | 
            +
                  mock_request = call_setup
         | 
| 49 | 
            +
                  expansions = ['foo', 'bar']
         | 
| 50 | 
            +
                  expansions.each { |e| @request.expanding(e) }
         | 
| 51 | 
            +
             | 
| 52 | 
            +
                  expect(mock_request)
         | 
| 53 | 
            +
                    .to receive(:get)
         | 
| 54 | 
            +
                    .with(@resource_name, { expand: JSON(expansions) })
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  @request.call
         | 
| 57 | 
            +
                end
         | 
| 58 | 
            +
              end
         | 
| 59 | 
            +
            end
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            require_relative '../../test_helper'
         | 
| 2 | 
            +
            require_relative '../../../lib/requests/find_by_id'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class FindByIdTest < Minitest::Unit::TestCase
         | 
| 6 | 
            +
                def setup
         | 
| 7 | 
            +
                  @id = 1234
         | 
| 8 | 
            +
                  @resource_name = 'some resource'
         | 
| 9 | 
            +
                  @session = instance_double(Session)
         | 
| 10 | 
            +
                  @request = FindById.new(@id, @resource_name, @session)
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def test_ivars
         | 
| 14 | 
            +
                  assert_equal(@id, @request.instance_variable_get(:@id))
         | 
| 15 | 
            +
                  assert_equal(@resource_name, @request.instance_variable_get(:@resource_name))
         | 
| 16 | 
            +
                  assert_equal(@session, @request.instance_variable_get(:@session))
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def test_expanding
         | 
| 20 | 
            +
                  @request.expanding('some attribute')
         | 
| 21 | 
            +
                  assert_equal(['some attribute'], @request.instance_variable_get(:@expansions))
         | 
| 22 | 
            +
                  @request.expanding('another attribute')
         | 
| 23 | 
            +
                  assert_equal(['some attribute', 'another attribute'], @request.instance_variable_get(:@expansions))
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                def test_expanding_contract
         | 
| 27 | 
            +
                  assert_equal(@request, @request.expanding(anything))
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
            end
         | 
| @@ -0,0 +1,38 @@ | |
| 1 | 
            +
            require_relative '../../test_helper'
         | 
| 2 | 
            +
            require_relative '../../../lib/requests/post'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class PostTest < Minitest::Unit::TestCase
         | 
| 6 | 
            +
                def setup
         | 
| 7 | 
            +
                  @resource_name = 'some resource'
         | 
| 8 | 
            +
                  @session = instance_double(Session)
         | 
| 9 | 
            +
                  @body = {}
         | 
| 10 | 
            +
                  @request = Post.new(@resource_name, @body, @session)
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                def test_ivars
         | 
| 14 | 
            +
                  assert_equal(@resource_name, @request.instance_variable_get(:@resource_name))
         | 
| 15 | 
            +
                  assert_equal(@body, @request.instance_variable_get(:@body))
         | 
| 16 | 
            +
                  assert_equal(@session, @request.instance_variable_get(:@session))
         | 
| 17 | 
            +
                end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                def call_setup
         | 
| 20 | 
            +
                  mock_client = instance_double(Client)
         | 
| 21 | 
            +
                  mock_request = instance_double(Request)
         | 
| 22 | 
            +
                  expect(Request)
         | 
| 23 | 
            +
                    .to receive(:new)
         | 
| 24 | 
            +
                    .with(instance_of(Client), @session) { mock_request }
         | 
| 25 | 
            +
             | 
| 26 | 
            +
                  mock_request
         | 
| 27 | 
            +
                end
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                def test_call
         | 
| 30 | 
            +
                  mock_request = call_setup
         | 
| 31 | 
            +
                  expect(mock_request)
         | 
| 32 | 
            +
                    .to receive(:post)
         | 
| 33 | 
            +
                    .with(@resource_name, {})
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                  @request.call
         | 
| 36 | 
            +
                end
         | 
| 37 | 
            +
              end
         | 
| 38 | 
            +
            end
         | 
| @@ -0,0 +1,46 @@ | |
| 1 | 
            +
            require_relative '../test_helper'
         | 
| 2 | 
            +
            require_relative '../../lib/response'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class ResponseTest < MiniTest::Unit::TestCase
         | 
| 6 | 
            +
                class FakeResponse
         | 
| 7 | 
            +
                  attr_reader :status, :headers, :body
         | 
| 8 | 
            +
             | 
| 9 | 
            +
                  def initialize(status, headers, body)
         | 
| 10 | 
            +
                    @status = status
         | 
| 11 | 
            +
                    @headers = headers
         | 
| 12 | 
            +
                    @body = body
         | 
| 13 | 
            +
                  end
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def test_successful_response_is_not_error
         | 
| 17 | 
            +
                  happy_response = Response.new(
         | 
| 18 | 
            +
                                    FakeResponse.new(
         | 
| 19 | 
            +
                                        200,
         | 
| 20 | 
            +
                                        {},
         | 
| 21 | 
            +
                                        JSON({ data: 'this is some data' })
         | 
| 22 | 
            +
                                    )
         | 
| 23 | 
            +
                                  )
         | 
| 24 | 
            +
                  assert_equal true, happy_response.success?
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                def test_errorful_response_is_error
         | 
| 28 | 
            +
                  sad_response = Response.new(
         | 
| 29 | 
            +
                                    FakeResponse.new(
         | 
| 30 | 
            +
                                        500,
         | 
| 31 | 
            +
                                        {},
         | 
| 32 | 
            +
                                        JSON({ error: { message: 'this is an error' } })
         | 
| 33 | 
            +
                                    )
         | 
| 34 | 
            +
                                  )
         | 
| 35 | 
            +
                  assert_equal false, sad_response.success?
         | 
| 36 | 
            +
                  assert_equal 'this is an error', sad_response.error.to_s
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                def test_malformed_json_raises_error
         | 
| 40 | 
            +
                  assert_raises(Response::MalformedResponse) do
         | 
| 41 | 
            +
                    invalid_response = FakeResponse.new(200, {}, 1234)
         | 
| 42 | 
            +
                    Response.new(invalid_response)
         | 
| 43 | 
            +
                  end
         | 
| 44 | 
            +
                end
         | 
| 45 | 
            +
              end
         | 
| 46 | 
            +
            end
         | 
| @@ -0,0 +1,45 @@ | |
| 1 | 
            +
            require_relative '../test_helper'
         | 
| 2 | 
            +
            require_relative '../../lib/session'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class SessionTest < MiniTest::Unit::TestCase
         | 
| 6 | 
            +
                def test_valid_json
         | 
| 7 | 
            +
                  session = Session.new('', JSON({}))
         | 
| 8 | 
            +
                  assert_equal({}, session.honr_session)
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def test_invalid_json
         | 
| 12 | 
            +
                  session = Session.new('', 1234)
         | 
| 13 | 
            +
                  assert_equal(nil, session.honr_session)
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def test_expires_at_when_nil_session
         | 
| 17 | 
            +
                  session = Session.new('', nil)
         | 
| 18 | 
            +
                  formatting = '%H:%M:%S'
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  assert_equal(Time.now.strftime(formatting),
         | 
| 21 | 
            +
                               session.expires_at.strftime(formatting))
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def test_expired_when_nil_session
         | 
| 25 | 
            +
                  session = Session.new('', nil)
         | 
| 26 | 
            +
             | 
| 27 | 
            +
                  assert_equal(true, session.expired?)
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                def test_expired_session_is_expired
         | 
| 31 | 
            +
                  session = Session.new('',
         | 
| 32 | 
            +
                                        JSON({ expires: Time.now.to_i - 180 }))
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                  assert_equal(true, session.expired?)
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                def test_expired_at
         | 
| 38 | 
            +
                  expires_time = Time.now + 180
         | 
| 39 | 
            +
                  session = Session.new('',
         | 
| 40 | 
            +
                                        JSON({ expires: expires_time.to_i }))
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  assert_equal(expires_time.to_s, session.expires_at.to_s)
         | 
| 43 | 
            +
                end
         | 
| 44 | 
            +
              end
         | 
| 45 | 
            +
            end
         | 
| @@ -0,0 +1,62 @@ | |
| 1 | 
            +
            require_relative '../test_helper'
         | 
| 2 | 
            +
            require_relative '../../models/base_model'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module HonestRenter
         | 
| 5 | 
            +
              class TestModel < BaseModel
         | 
| 6 | 
            +
                attr_accessor :foo, :bar_baz, :qux
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                class << self
         | 
| 9 | 
            +
                  def attr_name
         | 
| 10 | 
            +
                    'test'
         | 
| 11 | 
            +
                  end
         | 
| 12 | 
            +
                end
         | 
| 13 | 
            +
              end
         | 
| 14 | 
            +
             | 
| 15 | 
            +
              class BaseModelTest < MiniTest::Unit::TestCase
         | 
| 16 | 
            +
                def setup
         | 
| 17 | 
            +
                  @foo = :foo
         | 
| 18 | 
            +
                  @bar_baz = :bar_baz
         | 
| 19 | 
            +
                  @qux = :qux
         | 
| 20 | 
            +
                  data_hash = { foo: @foo, barBaz: @bar_baz, qux: @qux }
         | 
| 21 | 
            +
                  @test_model = TestModel.new(data_hash)
         | 
| 22 | 
            +
                end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
                def test_initialize_sets_proper_attributes
         | 
| 25 | 
            +
                  assert_equal(@test_model.foo, @foo)
         | 
| 26 | 
            +
                  assert_equal(@test_model.bar_baz, @bar_baz)
         | 
| 27 | 
            +
                  assert_equal(@test_model.qux, @qux)
         | 
| 28 | 
            +
                end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                def test_to_h
         | 
| 31 | 
            +
                  expected_hash = { 'foo' => @foo, 'bar_baz' => @bar_baz, 'qux' => @qux }
         | 
| 32 | 
            +
                  assert_equal(@test_model.to_h, expected_hash)
         | 
| 33 | 
            +
                end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                def test_find_all
         | 
| 36 | 
            +
                  find_request = instance_double(HonestRenter::FindAll)
         | 
| 37 | 
            +
                  response = instance_double(HonestRenter::Response, body: { 'data' => {} }, success?: true)
         | 
| 38 | 
            +
                  session = instance_double(HonestRenter::Session, honr_session: '', honr_authentication_token: '')
         | 
| 39 | 
            +
                  expect(HonestRenter::FindAll).to receive(:new).with(TestModel.attr_name, session) { find_request }
         | 
| 40 | 
            +
                  expect(find_request).to receive(:call) { response }
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                  TestModel.find_all(session)
         | 
| 43 | 
            +
                end
         | 
| 44 | 
            +
             | 
| 45 | 
            +
                def test_find
         | 
| 46 | 
            +
                  id = 1234
         | 
| 47 | 
            +
                  find_request = instance_double(HonestRenter::FindById)
         | 
| 48 | 
            +
                  response = instance_double(HonestRenter::Response, body: { 'data' => {} }, success?: true)
         | 
| 49 | 
            +
                  session = instance_double(HonestRenter::Session, honr_session: '', honr_authentication_token: '')
         | 
| 50 | 
            +
                  expect(HonestRenter::FindById).to receive(:new).with(id, TestModel.attr_name, session) { find_request }
         | 
| 51 | 
            +
                  expect(find_request).to receive(:call) { response }
         | 
| 52 | 
            +
             | 
| 53 | 
            +
                  TestModel.find(id, session)
         | 
| 54 | 
            +
                end
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                def test_visibility
         | 
| 57 | 
            +
                  assert_raises(NameError) do
         | 
| 58 | 
            +
                    ::HonestRenter::BaseModel.new
         | 
| 59 | 
            +
                  end
         | 
| 60 | 
            +
                end
         | 
| 61 | 
            +
              end
         | 
| 62 | 
            +
            end
         | 
    
        data/test/test_helper.rb
    ADDED
    
    | @@ -0,0 +1,76 @@ | |
| 1 | 
            +
            require_relative '../lib/honest_renter'
         | 
| 2 | 
            +
            require 'minitest/autorun'
         | 
| 3 | 
            +
            require 'rspec/mocks'
         | 
| 4 | 
            +
            require 'webmock/minitest'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            WebMock.disable_net_connect!
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            class WebMockingTest < MiniTest::Unit::TestCase
         | 
| 9 | 
            +
              TEST_MEMBER_ID = 'TYJH7ptuju'.freeze
         | 
| 10 | 
            +
              TEST_TITLES_ID = 3
         | 
| 11 | 
            +
              FIXTURES_DIR = "#{ File.dirname(__FILE__) }/fixtures"
         | 
| 12 | 
            +
             | 
| 13 | 
            +
              def setup
         | 
| 14 | 
            +
                WebMock.stub_request(
         | 
| 15 | 
            +
                  :get,
         | 
| 16 | 
            +
                  "https://honestrenter.com/api/members/#{TEST_MEMBER_ID}?apiKey")
         | 
| 17 | 
            +
                  .with(headers: headers)
         | 
| 18 | 
            +
                  .to_return(
         | 
| 19 | 
            +
                    status: 200,
         | 
| 20 | 
            +
                    body: File.read("#{ FIXTURES_DIR }/members/find.json"),
         | 
| 21 | 
            +
                    headers: {})
         | 
| 22 | 
            +
             | 
| 23 | 
            +
                WebMock.stub_request(
         | 
| 24 | 
            +
                  :get,
         | 
| 25 | 
            +
                  "https://honestrenter.com/api/ethnicities?apiKey")
         | 
| 26 | 
            +
                  .with(headers: headers)
         | 
| 27 | 
            +
                  .to_return(
         | 
| 28 | 
            +
                    status: 200,
         | 
| 29 | 
            +
                    body: File.read("#{ FIXTURES_DIR }/ethnicities/find_all.json"),
         | 
| 30 | 
            +
                    headers: {})
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                WebMock.stub_request(
         | 
| 33 | 
            +
                  :get,
         | 
| 34 | 
            +
                  "https://honestrenter.com/api/titles?apiKey&id=#{TEST_TITLES_ID}")
         | 
| 35 | 
            +
                  .with(headers: headers)
         | 
| 36 | 
            +
                  .to_return(
         | 
| 37 | 
            +
                    status: 200,
         | 
| 38 | 
            +
                    body: File.read("#{ FIXTURES_DIR }/titles/find_all_by_filters.json"),
         | 
| 39 | 
            +
                    headers: {})
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
              def test_session
         | 
| 43 | 
            +
                @test_session ||= HonestRenter::Session.new('sometoken',
         | 
| 44 | 
            +
                                                            {
         | 
| 45 | 
            +
                                                              expires: Time.now.to_i + 86400
         | 
| 46 | 
            +
                                                            }.to_json)
         | 
| 47 | 
            +
              end
         | 
| 48 | 
            +
             | 
| 49 | 
            +
              def headers
         | 
| 50 | 
            +
                {
         | 
| 51 | 
            +
                   'Accept' => 'Application/vnd.honestrenter.v1+json',
         | 
| 52 | 
            +
                   'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',
         | 
| 53 | 
            +
                   'Honr-Authentication-Token'=>'sometoken',
         | 
| 54 | 
            +
                   'Honr-Session'=>test_session.honr_session.to_json,
         | 
| 55 | 
            +
                   'User-Agent'=>'Ruby'
         | 
| 56 | 
            +
                 }
         | 
| 57 | 
            +
              end
         | 
| 58 | 
            +
            end
         | 
| 59 | 
            +
             | 
| 60 | 
            +
            module MinitestRSpecMocksIntegration
         | 
| 61 | 
            +
              include ::RSpec::Mocks::ExampleMethods
         | 
| 62 | 
            +
             | 
| 63 | 
            +
              def before_setup
         | 
| 64 | 
            +
                ::RSpec::Mocks.setup
         | 
| 65 | 
            +
                super
         | 
| 66 | 
            +
              end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
              def after_teardown
         | 
| 69 | 
            +
                super
         | 
| 70 | 
            +
                ::RSpec::Mocks.verify
         | 
| 71 | 
            +
              ensure
         | 
| 72 | 
            +
                ::RSpec::Mocks.teardown
         | 
| 73 | 
            +
              end
         | 
| 74 | 
            +
            end
         | 
| 75 | 
            +
             | 
| 76 | 
            +
            MiniTest::Unit::TestCase.send(:include, MinitestRSpecMocksIntegration)
         | 
    
        data/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,15 +1,29 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: honest_renter
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 1.0.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Jake Yesbeck
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-04-16 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            +
              name: faraday
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - ~>
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            +
                    version: '0.9'
         | 
| 20 | 
            +
              type: :runtime
         | 
| 21 | 
            +
              prerelease: false
         | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - ~>
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: '0.9'
         | 
| 13 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 28 | 
             
              name: bundler
         | 
| 15 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -38,6 +52,48 @@ dependencies: | |
| 38 52 | 
             
                - - ~>
         | 
| 39 53 | 
             
                  - !ruby/object:Gem::Version
         | 
| 40 54 | 
             
                    version: '10'
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: minitest
         | 
| 57 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - '='
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 61 | 
            +
                    version: 4.3.2
         | 
| 62 | 
            +
              type: :development
         | 
| 63 | 
            +
              prerelease: false
         | 
| 64 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                requirements:
         | 
| 66 | 
            +
                - - '='
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: 4.3.2
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: rspec-mocks
         | 
| 71 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - ~>
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 75 | 
            +
                    version: '3'
         | 
| 76 | 
            +
              type: :development
         | 
| 77 | 
            +
              prerelease: false
         | 
| 78 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - ~>
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: '3'
         | 
| 83 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 84 | 
            +
              name: webmock
         | 
| 85 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 86 | 
            +
                requirements:
         | 
| 87 | 
            +
                - - ~>
         | 
| 88 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 89 | 
            +
                    version: '1.0'
         | 
| 90 | 
            +
              type: :development
         | 
| 91 | 
            +
              prerelease: false
         | 
| 92 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 93 | 
            +
                requirements:
         | 
| 94 | 
            +
                - - ~>
         | 
| 95 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 96 | 
            +
                    version: '1.0'
         | 
| 41 97 | 
             
            description: Find out who will pay rent on time, follow rules, and treat your property
         | 
| 42 98 | 
             
              with respect.
         | 
| 43 99 | 
             
            email: yesbeckjs@gmail.com
         | 
| @@ -45,10 +101,86 @@ executables: [] | |
| 45 101 | 
             
            extensions: []
         | 
| 46 102 | 
             
            extra_rdoc_files: []
         | 
| 47 103 | 
             
            files:
         | 
| 104 | 
            +
            - .gitignore
         | 
| 105 | 
            +
            - .travis.yml
         | 
| 48 106 | 
             
            - Gemfile
         | 
| 49 107 | 
             
            - Gemfile.lock
         | 
| 108 | 
            +
            - LICENSE.txt
         | 
| 50 109 | 
             
            - README.md
         | 
| 110 | 
            +
            - Rakefile
         | 
| 51 111 | 
             
            - honest_renter.gemspec
         | 
| 112 | 
            +
            - lib/authenticator.rb
         | 
| 113 | 
            +
            - lib/client.rb
         | 
| 114 | 
            +
            - lib/honest_renter.rb
         | 
| 115 | 
            +
            - lib/request.rb
         | 
| 116 | 
            +
            - lib/requests/expandable.rb
         | 
| 117 | 
            +
            - lib/requests/filter.rb
         | 
| 118 | 
            +
            - lib/requests/find_all.rb
         | 
| 119 | 
            +
            - lib/requests/find_all_by_filter.rb
         | 
| 120 | 
            +
            - lib/requests/find_by_id.rb
         | 
| 121 | 
            +
            - lib/requests/post.rb
         | 
| 122 | 
            +
            - lib/requires.rb
         | 
| 123 | 
            +
            - lib/response.rb
         | 
| 124 | 
            +
            - lib/session.rb
         | 
| 125 | 
            +
            - models/applicant.rb
         | 
| 126 | 
            +
            - models/base_model.rb
         | 
| 127 | 
            +
            - models/candidate.rb
         | 
| 128 | 
            +
            - models/child.rb
         | 
| 129 | 
            +
            - models/code.rb
         | 
| 130 | 
            +
            - models/cooccupant.rb
         | 
| 131 | 
            +
            - models/country.rb
         | 
| 132 | 
            +
            - models/email.rb
         | 
| 133 | 
            +
            - models/emergency_contact.rb
         | 
| 134 | 
            +
            - models/ethnicity.rb
         | 
| 135 | 
            +
            - models/failed_login.rb
         | 
| 136 | 
            +
            - models/gender.rb
         | 
| 137 | 
            +
            - models/inbox_filters.rb
         | 
| 138 | 
            +
            - models/invite_settings.rb
         | 
| 139 | 
            +
            - models/member.rb
         | 
| 140 | 
            +
            - models/name.rb
         | 
| 141 | 
            +
            - models/notification.rb
         | 
| 142 | 
            +
            - models/notification_type.rb
         | 
| 143 | 
            +
            - models/organization.rb
         | 
| 144 | 
            +
            - models/participant.rb
         | 
| 145 | 
            +
            - models/person.rb
         | 
| 146 | 
            +
            - models/pet.rb
         | 
| 147 | 
            +
            - models/pet_age_category.rb
         | 
| 148 | 
            +
            - models/pet_size_category.rb
         | 
| 149 | 
            +
            - models/pet_type.rb
         | 
| 150 | 
            +
            - models/phone.rb
         | 
| 151 | 
            +
            - models/phone_type.rb
         | 
| 152 | 
            +
            - models/position.rb
         | 
| 153 | 
            +
            - models/reason_for_archive.rb
         | 
| 154 | 
            +
            - models/reason_for_eviction.rb
         | 
| 155 | 
            +
            - models/reason_for_exclusion.rb
         | 
| 156 | 
            +
            - models/reference.rb
         | 
| 157 | 
            +
            - models/relationship_type.rb
         | 
| 158 | 
            +
            - models/reminder.rb
         | 
| 159 | 
            +
            - models/residence.rb
         | 
| 160 | 
            +
            - models/smoking_status_category.rb
         | 
| 161 | 
            +
            - models/sort_by_option.rb
         | 
| 162 | 
            +
            - models/time_of_day.rb
         | 
| 163 | 
            +
            - models/title.rb
         | 
| 164 | 
            +
            - models/user.rb
         | 
| 165 | 
            +
            - models/vehicle.rb
         | 
| 166 | 
            +
            - modules/requests_unsupported.rb
         | 
| 167 | 
            +
            - modules/unrequestable.rb
         | 
| 168 | 
            +
            - test/fixtures/ethnicities/find_all.json
         | 
| 169 | 
            +
            - test/fixtures/members/find.json
         | 
| 170 | 
            +
            - test/fixtures/titles/find_all_by_filters.json
         | 
| 171 | 
            +
            - test/integration/find_all_by_filters_test.rb
         | 
| 172 | 
            +
            - test/integration/find_all_test.rb
         | 
| 173 | 
            +
            - test/integration/find_test.rb
         | 
| 174 | 
            +
            - test/lib/authenticator_test.rb
         | 
| 175 | 
            +
            - test/lib/requests/filter_test.rb
         | 
| 176 | 
            +
            - test/lib/requests/find_all_by_filter_test.rb
         | 
| 177 | 
            +
            - test/lib/requests/find_all_test.rb
         | 
| 178 | 
            +
            - test/lib/requests/find_by_id_test.rb
         | 
| 179 | 
            +
            - test/lib/requests/post_test.rb
         | 
| 180 | 
            +
            - test/lib/response_test.rb
         | 
| 181 | 
            +
            - test/lib/session_test.rb
         | 
| 182 | 
            +
            - test/models/base_model_test.rb
         | 
| 183 | 
            +
            - test/test_helper.rb
         | 
| 52 184 | 
             
            - version.rb
         | 
| 53 185 | 
             
            homepage: http://rubygems.org/gems/honest_renter
         | 
| 54 186 | 
             
            licenses:
         |