Sha256: a97efad65cb4d8b54b87dd709bcc9198690a677d4b35e23f5033d72191cd6bcc
Contents?: true
Size: 1.96 KB
Versions: 3
Compression:
Stored size: 1.96 KB
Contents
require 'test_helper' class AssertionsTest < Minitest::Test include ServiceContract::Assertions def test_data_matching service = SampleService.find(1) assert service, "expect to find a service by version" assert_equal "1", service.version assert_equal 3, service.protocols.length protocol = service.protocol("location") endpoint = protocol.endpoint("index") data = [{ id: 1, type: 'state', county_name: nil, state_name: 'Washington', country_name: 'United States', city_name: nil, neighborhood_name: nil, postal_code_name: nil, latitude: 47.6097, longitude: 122.3331, population: 634_535, foo: [ { timestamp: 1410278741 } ], numbers: [ 1, 2 ], updated_at: { timestamp: 1410278741 } }] assert_endpoint_response(data, endpoint) end def test_union_data_matching service = SampleService.find(2) assert service, "expect to find a service by version" protocol = service.protocol("search_param") endpoint = protocol.endpoint("index") # test can be nil assert_endpoint_response([{customer_id: nil}], endpoint) # should be able to be an integer assert_endpoint_response([{customer_id: 4}], endpoint) # should be able to be an array of ints assert_endpoint_response([{customer_id: [1,2,3]}], endpoint) end def test_uncontracted_data_not_matching service = SampleService.find(2) assert service, "expect to find a service by version" protocol = service.protocol("search_param") endpoint = protocol.endpoint("index") # test can be nil failure_data = nil begin assert_endpoint_response([{customer_id: nil, bogus_param: 1}], endpoint) rescue Minitest::Assertion => failure failure_data = failure end assert !failure_data.nil? assert failure_data.to_s.include?("not described in contract: bogus_param") end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
service_contract-0.3.0 | test/assertions_test.rb |
service_contract-0.2.1 | test/assertions_test.rb |
service_contract-0.2.0 | test/assertions_test.rb |