odata4 0.7.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.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/.autotest +2 -0
  3. data/.gitignore +24 -0
  4. data/.rspec +2 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +75 -0
  8. data/CHANGELOG.md +120 -0
  9. data/Gemfile +4 -0
  10. data/LICENSE.txt +23 -0
  11. data/README.md +287 -0
  12. data/Rakefile +7 -0
  13. data/TODO.md +55 -0
  14. data/lib/odata4.rb +37 -0
  15. data/lib/odata4/complex_type.rb +76 -0
  16. data/lib/odata4/complex_type/property.rb +114 -0
  17. data/lib/odata4/entity.rb +319 -0
  18. data/lib/odata4/entity_set.rb +162 -0
  19. data/lib/odata4/enum_type.rb +95 -0
  20. data/lib/odata4/enum_type/property.rb +62 -0
  21. data/lib/odata4/navigation_property.rb +29 -0
  22. data/lib/odata4/navigation_property/proxy.rb +76 -0
  23. data/lib/odata4/properties.rb +25 -0
  24. data/lib/odata4/properties/binary.rb +50 -0
  25. data/lib/odata4/properties/boolean.rb +37 -0
  26. data/lib/odata4/properties/date.rb +27 -0
  27. data/lib/odata4/properties/date_time.rb +83 -0
  28. data/lib/odata4/properties/date_time_offset.rb +17 -0
  29. data/lib/odata4/properties/decimal.rb +50 -0
  30. data/lib/odata4/properties/float.rb +67 -0
  31. data/lib/odata4/properties/geography.rb +13 -0
  32. data/lib/odata4/properties/geography/base.rb +162 -0
  33. data/lib/odata4/properties/geography/line_string.rb +33 -0
  34. data/lib/odata4/properties/geography/point.rb +31 -0
  35. data/lib/odata4/properties/geography/polygon.rb +38 -0
  36. data/lib/odata4/properties/guid.rb +17 -0
  37. data/lib/odata4/properties/integer.rb +107 -0
  38. data/lib/odata4/properties/number.rb +14 -0
  39. data/lib/odata4/properties/string.rb +72 -0
  40. data/lib/odata4/properties/time.rb +40 -0
  41. data/lib/odata4/properties/time_of_day.rb +27 -0
  42. data/lib/odata4/property.rb +118 -0
  43. data/lib/odata4/property_registry.rb +41 -0
  44. data/lib/odata4/query.rb +231 -0
  45. data/lib/odata4/query/criteria.rb +92 -0
  46. data/lib/odata4/query/criteria/comparison_operators.rb +49 -0
  47. data/lib/odata4/query/criteria/date_functions.rb +61 -0
  48. data/lib/odata4/query/criteria/geography_functions.rb +21 -0
  49. data/lib/odata4/query/criteria/lambda_operators.rb +27 -0
  50. data/lib/odata4/query/criteria/string_functions.rb +40 -0
  51. data/lib/odata4/query/in_batches.rb +58 -0
  52. data/lib/odata4/query/result.rb +84 -0
  53. data/lib/odata4/query/result/atom.rb +41 -0
  54. data/lib/odata4/query/result/json.rb +42 -0
  55. data/lib/odata4/railtie.rb +19 -0
  56. data/lib/odata4/service.rb +344 -0
  57. data/lib/odata4/service_registry.rb +52 -0
  58. data/lib/odata4/version.rb +3 -0
  59. data/odata4.gemspec +34 -0
  60. data/spec/fixtures/files/entity_to_xml.xml +17 -0
  61. data/spec/fixtures/files/metadata.xml +150 -0
  62. data/spec/fixtures/files/product_0.json +10 -0
  63. data/spec/fixtures/files/product_0.xml +28 -0
  64. data/spec/fixtures/files/products.json +106 -0
  65. data/spec/fixtures/files/products.xml +308 -0
  66. data/spec/fixtures/files/supplier_0.json +26 -0
  67. data/spec/fixtures/files/supplier_0.xml +32 -0
  68. data/spec/fixtures/vcr_cassettes/complex_type_specs.yml +127 -0
  69. data/spec/fixtures/vcr_cassettes/entity_set_specs.yml +1348 -0
  70. data/spec/fixtures/vcr_cassettes/entity_set_specs/bad_entry.yml +183 -0
  71. data/spec/fixtures/vcr_cassettes/entity_set_specs/existing_entry.yml +256 -0
  72. data/spec/fixtures/vcr_cassettes/entity_set_specs/new_entry.yml +185 -0
  73. data/spec/fixtures/vcr_cassettes/entity_specs.yml +285 -0
  74. data/spec/fixtures/vcr_cassettes/navigation_property_proxy_specs.yml +346 -0
  75. data/spec/fixtures/vcr_cassettes/query/result_specs.yml +189 -0
  76. data/spec/fixtures/vcr_cassettes/query_specs.yml +663 -0
  77. data/spec/fixtures/vcr_cassettes/service_registry_specs.yml +129 -0
  78. data/spec/fixtures/vcr_cassettes/service_specs.yml +127 -0
  79. data/spec/fixtures/vcr_cassettes/usage_example_specs.yml +749 -0
  80. data/spec/odata4/complex_type_spec.rb +116 -0
  81. data/spec/odata4/entity/shared_examples.rb +82 -0
  82. data/spec/odata4/entity_set_spec.rb +168 -0
  83. data/spec/odata4/entity_spec.rb +151 -0
  84. data/spec/odata4/enum_type_spec.rb +134 -0
  85. data/spec/odata4/navigation_property/proxy_spec.rb +44 -0
  86. data/spec/odata4/navigation_property_spec.rb +55 -0
  87. data/spec/odata4/properties/binary_spec.rb +50 -0
  88. data/spec/odata4/properties/boolean_spec.rb +72 -0
  89. data/spec/odata4/properties/date_spec.rb +23 -0
  90. data/spec/odata4/properties/date_time_offset_spec.rb +30 -0
  91. data/spec/odata4/properties/date_time_spec.rb +23 -0
  92. data/spec/odata4/properties/decimal_spec.rb +24 -0
  93. data/spec/odata4/properties/float_spec.rb +45 -0
  94. data/spec/odata4/properties/geography/line_string_spec.rb +33 -0
  95. data/spec/odata4/properties/geography/point_spec.rb +29 -0
  96. data/spec/odata4/properties/geography/polygon_spec.rb +55 -0
  97. data/spec/odata4/properties/geography/shared_examples.rb +72 -0
  98. data/spec/odata4/properties/guid_spec.rb +17 -0
  99. data/spec/odata4/properties/integer_spec.rb +58 -0
  100. data/spec/odata4/properties/string_spec.rb +46 -0
  101. data/spec/odata4/properties/time_of_day_spec.rb +23 -0
  102. data/spec/odata4/properties/time_spec.rb +15 -0
  103. data/spec/odata4/property_registry_spec.rb +16 -0
  104. data/spec/odata4/property_spec.rb +32 -0
  105. data/spec/odata4/query/criteria_spec.rb +229 -0
  106. data/spec/odata4/query/result_spec.rb +53 -0
  107. data/spec/odata4/query_spec.rb +196 -0
  108. data/spec/odata4/service_registry_spec.rb +18 -0
  109. data/spec/odata4/service_spec.rb +80 -0
  110. data/spec/odata4/usage_example_spec.rb +176 -0
  111. data/spec/spec_helper.rb +32 -0
  112. data/spec/support/coverage.rb +2 -0
  113. data/spec/support/vcr.rb +9 -0
  114. metadata +380 -0
@@ -0,0 +1,129 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/V4/OData/OData.svc/$metadata
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Typhoeus - https://github.com/typhoeus/typhoeus
12
+ OData-Version:
13
+ - '4.0'
14
+ Expect:
15
+ - ''
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Cache-Control:
22
+ - no-cache
23
+ Content-Length:
24
+ - '6742'
25
+ Content-Type:
26
+ - application/xml;charset=utf-8
27
+ Server:
28
+ - Microsoft-IIS/10.0
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ OData-Version:
32
+ - 4.0;
33
+ X-AspNet-Version:
34
+ - 4.0.30319
35
+ X-Powered-By:
36
+ - ASP.NET
37
+ Access-Control-Allow-Origin:
38
+ - "*"
39
+ Access-Control-Allow-Methods:
40
+ - GET
41
+ Access-Control-Allow-Headers:
42
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
43
+ Access-Control-Expose-Headers:
44
+ - DataServiceVersion
45
+ Date:
46
+ - Tue, 16 Jan 2018 20:30:37 GMT
47
+ body:
48
+ encoding: UTF-8
49
+ string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><edmx:DataServices><Schema
50
+ Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType
51
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
52
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Description"
53
+ Type="Edm.String" /><Property Name="ReleaseDate" Type="Edm.DateTimeOffset"
54
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset"
55
+ /><Property Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price"
56
+ Type="Edm.Double" Nullable="false" /><NavigationProperty Name="Categories"
57
+ Type="Collection(ODataDemo.Category)" Partner="Products" /><NavigationProperty
58
+ Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" /><NavigationProperty
59
+ Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" /></EntityType><EntityType
60
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
61
+ Type="ODataDemo.Advertisement" Partner="FeaturedProduct" /></EntityType><EntityType
62
+ Name="ProductDetail"><Key><PropertyRef Name="ProductID" /></Key><Property
63
+ Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="Details"
64
+ Type="Edm.String" /><NavigationProperty Name="Product" Type="ODataDemo.Product"
65
+ Partner="ProductDetail" /></EntityType><EntityType Name="Category" OpenType="true"><Key><PropertyRef
66
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
67
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
68
+ Partner="Categories" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef
69
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
70
+ Name="Name" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
71
+ /><Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" /><Property
72
+ Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false"
73
+ /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
74
+ Partner="Supplier" /></EntityType><ComplexType Name="Address"><Property Name="Street"
75
+ Type="Edm.String" /><Property Name="City" Type="Edm.String" /><Property Name="State"
76
+ Type="Edm.String" /><Property Name="ZipCode" Type="Edm.String" /><Property
77
+ Name="Country" Type="Edm.String" /></ComplexType><EntityType Name="Person"><Key><PropertyRef
78
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
79
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail"
80
+ Partner="Person" /></EntityType><EntityType Name="Customer" BaseType="ODataDemo.Person"><Property
81
+ Name="TotalExpense" Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType
82
+ Name="Employee" BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64"
83
+ Nullable="false" /><Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false"
84
+ /><Property Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
85
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
86
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
87
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
88
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
89
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
90
+ Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" /></EntityType><EntityType
91
+ Name="Advertisement" HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
92
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
93
+ /><Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" /><NavigationProperty
94
+ Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement"
95
+ /></EntityType><EntityContainer Name="DemoService"><EntitySet Name="Products"
96
+ EntityType="ODataDemo.Product"><NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement"
97
+ Target="Advertisements" /><NavigationPropertyBinding Path="Categories" Target="Categories"
98
+ /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /><NavigationPropertyBinding
99
+ Path="ProductDetail" Target="ProductDetails" /></EntitySet><EntitySet Name="ProductDetails"
100
+ EntityType="ODataDemo.ProductDetail"><NavigationPropertyBinding Path="Product"
101
+ Target="Products" /></EntitySet><EntitySet Name="Categories" EntityType="ODataDemo.Category"><NavigationPropertyBinding
102
+ Path="Products" Target="Products" /></EntitySet><EntitySet Name="Suppliers"
103
+ EntityType="ODataDemo.Supplier"><NavigationPropertyBinding Path="Products"
104
+ Target="Products" /></EntitySet><EntitySet Name="Persons" EntityType="ODataDemo.Person"><NavigationPropertyBinding
105
+ Path="PersonDetail" Target="PersonDetails" /></EntitySet><EntitySet Name="PersonDetails"
106
+ EntityType="ODataDemo.PersonDetail"><NavigationPropertyBinding Path="Person"
107
+ Target="Persons" /></EntitySet><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"><NavigationPropertyBinding
108
+ Path="FeaturedProduct" Target="Products" /></EntitySet></EntityContainer><Annotations
109
+ Target="ODataDemo.DemoService"><Annotation Term="Org.OData.Display.V1.Description"
110
+ String="This is a sample OData service with vocabularies" /></Annotations><Annotations
111
+ Target="ODataDemo.Product"><Annotation Term="Org.OData.Display.V1.Description"
112
+ String="All Products available in the online store" /></Annotations><Annotations
113
+ Target="ODataDemo.Product/Name"><Annotation Term="Org.OData.Display.V1.DisplayName"
114
+ String="Product Name" /></Annotations><Annotations Target="ODataDemo.DemoService/Suppliers"><Annotation
115
+ Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." /><Annotation
116
+ Term="Org.OData.Publication.V1.PublisherId" String="MSFT" /><Annotation Term="Org.OData.Publication.V1.Keywords"
117
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><Annotation Term="Org.OData.Publication.V1.AttributionUrl"
118
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.AttributionDescription"
119
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.DocumentationUrl
120
+ " String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
121
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
122
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.LastModified"
123
+ String="4/2/2013" /><Annotation Term="Org.OData.Publication.V1.ImageUrl "
124
+ String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
125
+ http_version: '1.1'
126
+ adapter_metadata:
127
+ effective_url: http://services.odata.org/V4/OData/OData.svc/$metadata
128
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
129
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,127 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/V4/OData/OData.svc/$metadata
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Typhoeus - https://github.com/typhoeus/typhoeus
12
+ DataServiceVersion:
13
+ - '3.0'
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: OK
18
+ headers:
19
+ Cache-Control:
20
+ - no-cache
21
+ Content-Length:
22
+ - '6742'
23
+ Content-Type:
24
+ - application/xml;charset=utf-8
25
+ Server:
26
+ - Microsoft-IIS/8.0
27
+ X-Content-Type-Options:
28
+ - nosniff
29
+ OData-Version:
30
+ - 4.0;
31
+ X-AspNet-Version:
32
+ - 4.0.30319
33
+ X-Powered-By:
34
+ - ASP.NET
35
+ Access-Control-Allow-Origin:
36
+ - "*"
37
+ Access-Control-Allow-Methods:
38
+ - GET
39
+ Access-Control-Allow-Headers:
40
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
41
+ Access-Control-Expose-Headers:
42
+ - DataServiceVersion
43
+ Date:
44
+ - Wed, 22 Nov 2017 21:56:21 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><edmx:DataServices><Schema
48
+ Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType
49
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
50
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Description"
51
+ Type="Edm.String" /><Property Name="ReleaseDate" Type="Edm.DateTimeOffset"
52
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset"
53
+ /><Property Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price"
54
+ Type="Edm.Double" Nullable="false" /><NavigationProperty Name="Categories"
55
+ Type="Collection(ODataDemo.Category)" Partner="Products" /><NavigationProperty
56
+ Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" /><NavigationProperty
57
+ Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" /></EntityType><EntityType
58
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
59
+ Type="ODataDemo.Advertisement" Partner="FeaturedProduct" /></EntityType><EntityType
60
+ Name="ProductDetail"><Key><PropertyRef Name="ProductID" /></Key><Property
61
+ Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="Details"
62
+ Type="Edm.String" /><NavigationProperty Name="Product" Type="ODataDemo.Product"
63
+ Partner="ProductDetail" /></EntityType><EntityType Name="Category" OpenType="true"><Key><PropertyRef
64
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
65
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
66
+ Partner="Categories" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef
67
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
68
+ Name="Name" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
69
+ /><Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" /><Property
70
+ Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false"
71
+ /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
72
+ Partner="Supplier" /></EntityType><ComplexType Name="Address"><Property Name="Street"
73
+ Type="Edm.String" /><Property Name="City" Type="Edm.String" /><Property Name="State"
74
+ Type="Edm.String" /><Property Name="ZipCode" Type="Edm.String" /><Property
75
+ Name="Country" Type="Edm.String" /></ComplexType><EntityType Name="Person"><Key><PropertyRef
76
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
77
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail"
78
+ Partner="Person" /></EntityType><EntityType Name="Customer" BaseType="ODataDemo.Person"><Property
79
+ Name="TotalExpense" Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType
80
+ Name="Employee" BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64"
81
+ Nullable="false" /><Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false"
82
+ /><Property Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
83
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
84
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
85
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
86
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
87
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
88
+ Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" /></EntityType><EntityType
89
+ Name="Advertisement" HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
90
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
91
+ /><Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" /><NavigationProperty
92
+ Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement"
93
+ /></EntityType><EntityContainer Name="DemoService"><EntitySet Name="Products"
94
+ EntityType="ODataDemo.Product"><NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement"
95
+ Target="Advertisements" /><NavigationPropertyBinding Path="Categories" Target="Categories"
96
+ /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /><NavigationPropertyBinding
97
+ Path="ProductDetail" Target="ProductDetails" /></EntitySet><EntitySet Name="ProductDetails"
98
+ EntityType="ODataDemo.ProductDetail"><NavigationPropertyBinding Path="Product"
99
+ Target="Products" /></EntitySet><EntitySet Name="Categories" EntityType="ODataDemo.Category"><NavigationPropertyBinding
100
+ Path="Products" Target="Products" /></EntitySet><EntitySet Name="Suppliers"
101
+ EntityType="ODataDemo.Supplier"><NavigationPropertyBinding Path="Products"
102
+ Target="Products" /></EntitySet><EntitySet Name="Persons" EntityType="ODataDemo.Person"><NavigationPropertyBinding
103
+ Path="PersonDetail" Target="PersonDetails" /></EntitySet><EntitySet Name="PersonDetails"
104
+ EntityType="ODataDemo.PersonDetail"><NavigationPropertyBinding Path="Person"
105
+ Target="Persons" /></EntitySet><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"><NavigationPropertyBinding
106
+ Path="FeaturedProduct" Target="Products" /></EntitySet></EntityContainer><Annotations
107
+ Target="ODataDemo.DemoService"><Annotation Term="Org.OData.Display.V1.Description"
108
+ String="This is a sample OData service with vocabularies" /></Annotations><Annotations
109
+ Target="ODataDemo.Product"><Annotation Term="Org.OData.Display.V1.Description"
110
+ String="All Products available in the online store" /></Annotations><Annotations
111
+ Target="ODataDemo.Product/Name"><Annotation Term="Org.OData.Display.V1.DisplayName"
112
+ String="Product Name" /></Annotations><Annotations Target="ODataDemo.DemoService/Suppliers"><Annotation
113
+ Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." /><Annotation
114
+ Term="Org.OData.Publication.V1.PublisherId" String="MSFT" /><Annotation Term="Org.OData.Publication.V1.Keywords"
115
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><Annotation Term="Org.OData.Publication.V1.AttributionUrl"
116
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.AttributionDescription"
117
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.DocumentationUrl
118
+ " String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
119
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
120
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.LastModified"
121
+ String="4/2/2013" /><Annotation Term="Org.OData.Publication.V1.ImageUrl "
122
+ String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
123
+ http_version: '1.1'
124
+ adapter_metadata:
125
+ effective_url: http://services.odata.org/V4/OData/OData.svc/$metadata
126
+ recorded_at: Wed, 22 Nov 2017 21:56:24 GMT
127
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,749 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/V4/OData/OData.svc/$metadata
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Typhoeus - https://github.com/typhoeus/typhoeus
12
+ OData-Version:
13
+ - '4.0'
14
+ Expect:
15
+ - ''
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Cache-Control:
22
+ - no-cache
23
+ Content-Length:
24
+ - '6742'
25
+ Content-Type:
26
+ - application/xml;charset=utf-8
27
+ Server:
28
+ - Microsoft-IIS/10.0
29
+ X-Content-Type-Options:
30
+ - nosniff
31
+ OData-Version:
32
+ - 4.0;
33
+ X-AspNet-Version:
34
+ - 4.0.30319
35
+ X-Powered-By:
36
+ - ASP.NET
37
+ Access-Control-Allow-Origin:
38
+ - "*"
39
+ Access-Control-Allow-Methods:
40
+ - GET
41
+ Access-Control-Allow-Headers:
42
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
43
+ Access-Control-Expose-Headers:
44
+ - DataServiceVersion
45
+ Date:
46
+ - Tue, 16 Jan 2018 20:30:37 GMT
47
+ body:
48
+ encoding: UTF-8
49
+ string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><edmx:DataServices><Schema
50
+ Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType
51
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
52
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Description"
53
+ Type="Edm.String" /><Property Name="ReleaseDate" Type="Edm.DateTimeOffset"
54
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset"
55
+ /><Property Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price"
56
+ Type="Edm.Double" Nullable="false" /><NavigationProperty Name="Categories"
57
+ Type="Collection(ODataDemo.Category)" Partner="Products" /><NavigationProperty
58
+ Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" /><NavigationProperty
59
+ Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" /></EntityType><EntityType
60
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
61
+ Type="ODataDemo.Advertisement" Partner="FeaturedProduct" /></EntityType><EntityType
62
+ Name="ProductDetail"><Key><PropertyRef Name="ProductID" /></Key><Property
63
+ Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="Details"
64
+ Type="Edm.String" /><NavigationProperty Name="Product" Type="ODataDemo.Product"
65
+ Partner="ProductDetail" /></EntityType><EntityType Name="Category" OpenType="true"><Key><PropertyRef
66
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
67
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
68
+ Partner="Categories" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef
69
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
70
+ Name="Name" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
71
+ /><Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" /><Property
72
+ Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false"
73
+ /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
74
+ Partner="Supplier" /></EntityType><ComplexType Name="Address"><Property Name="Street"
75
+ Type="Edm.String" /><Property Name="City" Type="Edm.String" /><Property Name="State"
76
+ Type="Edm.String" /><Property Name="ZipCode" Type="Edm.String" /><Property
77
+ Name="Country" Type="Edm.String" /></ComplexType><EntityType Name="Person"><Key><PropertyRef
78
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
79
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail"
80
+ Partner="Person" /></EntityType><EntityType Name="Customer" BaseType="ODataDemo.Person"><Property
81
+ Name="TotalExpense" Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType
82
+ Name="Employee" BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64"
83
+ Nullable="false" /><Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false"
84
+ /><Property Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
85
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
86
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
87
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
88
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
89
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
90
+ Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" /></EntityType><EntityType
91
+ Name="Advertisement" HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
92
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
93
+ /><Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" /><NavigationProperty
94
+ Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement"
95
+ /></EntityType><EntityContainer Name="DemoService"><EntitySet Name="Products"
96
+ EntityType="ODataDemo.Product"><NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement"
97
+ Target="Advertisements" /><NavigationPropertyBinding Path="Categories" Target="Categories"
98
+ /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /><NavigationPropertyBinding
99
+ Path="ProductDetail" Target="ProductDetails" /></EntitySet><EntitySet Name="ProductDetails"
100
+ EntityType="ODataDemo.ProductDetail"><NavigationPropertyBinding Path="Product"
101
+ Target="Products" /></EntitySet><EntitySet Name="Categories" EntityType="ODataDemo.Category"><NavigationPropertyBinding
102
+ Path="Products" Target="Products" /></EntitySet><EntitySet Name="Suppliers"
103
+ EntityType="ODataDemo.Supplier"><NavigationPropertyBinding Path="Products"
104
+ Target="Products" /></EntitySet><EntitySet Name="Persons" EntityType="ODataDemo.Person"><NavigationPropertyBinding
105
+ Path="PersonDetail" Target="PersonDetails" /></EntitySet><EntitySet Name="PersonDetails"
106
+ EntityType="ODataDemo.PersonDetail"><NavigationPropertyBinding Path="Person"
107
+ Target="Persons" /></EntitySet><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"><NavigationPropertyBinding
108
+ Path="FeaturedProduct" Target="Products" /></EntitySet></EntityContainer><Annotations
109
+ Target="ODataDemo.DemoService"><Annotation Term="Org.OData.Display.V1.Description"
110
+ String="This is a sample OData service with vocabularies" /></Annotations><Annotations
111
+ Target="ODataDemo.Product"><Annotation Term="Org.OData.Display.V1.Description"
112
+ String="All Products available in the online store" /></Annotations><Annotations
113
+ Target="ODataDemo.Product/Name"><Annotation Term="Org.OData.Display.V1.DisplayName"
114
+ String="Product Name" /></Annotations><Annotations Target="ODataDemo.DemoService/Suppliers"><Annotation
115
+ Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." /><Annotation
116
+ Term="Org.OData.Publication.V1.PublisherId" String="MSFT" /><Annotation Term="Org.OData.Publication.V1.Keywords"
117
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><Annotation Term="Org.OData.Publication.V1.AttributionUrl"
118
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.AttributionDescription"
119
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.DocumentationUrl
120
+ " String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
121
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
122
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.LastModified"
123
+ String="4/2/2013" /><Annotation Term="Org.OData.Publication.V1.ImageUrl "
124
+ String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
125
+ http_version: '1.1'
126
+ adapter_metadata:
127
+ effective_url: http://services.odata.org/V4/OData/OData.svc/$metadata
128
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
129
+ - request:
130
+ method: get
131
+ uri: http://services.odata.org/V4/OData/OData.svc/Products(1)
132
+ body:
133
+ encoding: US-ASCII
134
+ string: ''
135
+ headers:
136
+ User-Agent:
137
+ - Typhoeus - https://github.com/typhoeus/typhoeus
138
+ OData-Version:
139
+ - '4.0'
140
+ Accept:
141
+ - application/atom+xml,application/json,text/plain
142
+ Expect:
143
+ - ''
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: OK
148
+ headers:
149
+ Cache-Control:
150
+ - no-cache
151
+ Content-Length:
152
+ - '226'
153
+ Content-Type:
154
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
155
+ Server:
156
+ - Microsoft-IIS/10.0
157
+ X-Content-Type-Options:
158
+ - nosniff
159
+ OData-Version:
160
+ - 4.0;
161
+ X-AspNet-Version:
162
+ - 4.0.30319
163
+ X-Powered-By:
164
+ - ASP.NET
165
+ Access-Control-Allow-Origin:
166
+ - "*"
167
+ Access-Control-Allow-Methods:
168
+ - GET
169
+ Access-Control-Allow-Headers:
170
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
171
+ Access-Control-Expose-Headers:
172
+ - DataServiceVersion
173
+ Date:
174
+ - Tue, 16 Jan 2018 20:30:37 GMT
175
+ body:
176
+ encoding: UTF-8
177
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products/$entity","ID":1,"Name":"Milk","Description":"Low
178
+ fat milk","ReleaseDate":"1995-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":3.5}'
179
+ http_version: '1.1'
180
+ adapter_metadata:
181
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products(1)
182
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
183
+ - request:
184
+ method: get
185
+ uri: http://services.odata.org/V4/OData/OData.svc/Products/$count
186
+ body:
187
+ encoding: US-ASCII
188
+ string: ''
189
+ headers:
190
+ User-Agent:
191
+ - Typhoeus - https://github.com/typhoeus/typhoeus
192
+ OData-Version:
193
+ - '4.0'
194
+ Accept:
195
+ - application/atom+xml,application/json,text/plain
196
+ Expect:
197
+ - ''
198
+ response:
199
+ status:
200
+ code: 200
201
+ message: OK
202
+ headers:
203
+ Cache-Control:
204
+ - no-cache
205
+ Content-Length:
206
+ - '2'
207
+ Content-Type:
208
+ - text/plain;charset=utf-8
209
+ Server:
210
+ - Microsoft-IIS/10.0
211
+ X-Content-Type-Options:
212
+ - nosniff
213
+ OData-Version:
214
+ - 4.0;
215
+ X-AspNet-Version:
216
+ - 4.0.30319
217
+ X-Powered-By:
218
+ - ASP.NET
219
+ Access-Control-Allow-Origin:
220
+ - "*"
221
+ Access-Control-Allow-Methods:
222
+ - GET
223
+ Access-Control-Allow-Headers:
224
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
225
+ Access-Control-Expose-Headers:
226
+ - DataServiceVersion
227
+ Date:
228
+ - Tue, 16 Jan 2018 20:30:37 GMT
229
+ body:
230
+ encoding: UTF-8
231
+ string: '11'
232
+ http_version: '1.1'
233
+ adapter_metadata:
234
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products/$count
235
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
236
+ - request:
237
+ method: get
238
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
239
+ body:
240
+ encoding: US-ASCII
241
+ string: ''
242
+ headers:
243
+ User-Agent:
244
+ - Typhoeus - https://github.com/typhoeus/typhoeus
245
+ OData-Version:
246
+ - '4.0'
247
+ Accept:
248
+ - application/atom+xml,application/json,text/plain
249
+ Expect:
250
+ - ''
251
+ response:
252
+ status:
253
+ code: 200
254
+ message: OK
255
+ headers:
256
+ Cache-Control:
257
+ - no-cache
258
+ Content-Length:
259
+ - '236'
260
+ Content-Type:
261
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
262
+ Server:
263
+ - Microsoft-IIS/10.0
264
+ X-Content-Type-Options:
265
+ - nosniff
266
+ OData-Version:
267
+ - 4.0;
268
+ X-AspNet-Version:
269
+ - 4.0.30319
270
+ X-Powered-By:
271
+ - ASP.NET
272
+ Access-Control-Allow-Origin:
273
+ - "*"
274
+ Access-Control-Allow-Methods:
275
+ - GET
276
+ Access-Control-Allow-Headers:
277
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
278
+ Access-Control-Expose-Headers:
279
+ - DataServiceVersion
280
+ Date:
281
+ - Tue, 16 Jan 2018 20:30:37 GMT
282
+ body:
283
+ encoding: UTF-8
284
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":0,"Name":"Bread","Description":"Whole
285
+ grain bread","ReleaseDate":"1992-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":4,"Price":2.5}]}'
286
+ http_version: '1.1'
287
+ adapter_metadata:
288
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
289
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
290
+ - request:
291
+ method: get
292
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
293
+ body:
294
+ encoding: US-ASCII
295
+ string: ''
296
+ headers:
297
+ User-Agent:
298
+ - Typhoeus - https://github.com/typhoeus/typhoeus
299
+ OData-Version:
300
+ - '4.0'
301
+ Accept:
302
+ - application/atom+xml,application/json,text/plain
303
+ Expect:
304
+ - ''
305
+ response:
306
+ status:
307
+ code: 200
308
+ message: OK
309
+ headers:
310
+ Cache-Control:
311
+ - no-cache
312
+ Content-Length:
313
+ - '236'
314
+ Content-Type:
315
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
316
+ Server:
317
+ - Microsoft-IIS/10.0
318
+ X-Content-Type-Options:
319
+ - nosniff
320
+ OData-Version:
321
+ - 4.0;
322
+ X-AspNet-Version:
323
+ - 4.0.30319
324
+ X-Powered-By:
325
+ - ASP.NET
326
+ Access-Control-Allow-Origin:
327
+ - "*"
328
+ Access-Control-Allow-Methods:
329
+ - GET
330
+ Access-Control-Allow-Headers:
331
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
332
+ Access-Control-Expose-Headers:
333
+ - DataServiceVersion
334
+ Date:
335
+ - Tue, 16 Jan 2018 20:30:37 GMT
336
+ body:
337
+ encoding: UTF-8
338
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":0,"Name":"Bread","Description":"Whole
339
+ grain bread","ReleaseDate":"1992-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":4,"Price":2.5}]}'
340
+ http_version: '1.1'
341
+ adapter_metadata:
342
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
343
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
344
+ - request:
345
+ method: get
346
+ uri: http://services.odata.org/V4/OData/OData.svc/Products
347
+ body:
348
+ encoding: US-ASCII
349
+ string: ''
350
+ headers:
351
+ User-Agent:
352
+ - Typhoeus - https://github.com/typhoeus/typhoeus
353
+ OData-Version:
354
+ - '4.0'
355
+ Accept:
356
+ - application/atom+xml,application/json,text/plain
357
+ Expect:
358
+ - ''
359
+ response:
360
+ status:
361
+ code: 200
362
+ message: OK
363
+ headers:
364
+ Cache-Control:
365
+ - no-cache
366
+ Content-Length:
367
+ - '1981'
368
+ Content-Type:
369
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
370
+ Server:
371
+ - Microsoft-IIS/10.0
372
+ X-Content-Type-Options:
373
+ - nosniff
374
+ OData-Version:
375
+ - 4.0;
376
+ X-AspNet-Version:
377
+ - 4.0.30319
378
+ X-Powered-By:
379
+ - ASP.NET
380
+ Access-Control-Allow-Origin:
381
+ - "*"
382
+ Access-Control-Allow-Methods:
383
+ - GET
384
+ Access-Control-Allow-Headers:
385
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
386
+ Access-Control-Expose-Headers:
387
+ - DataServiceVersion
388
+ Date:
389
+ - Tue, 16 Jan 2018 20:30:37 GMT
390
+ body:
391
+ encoding: UTF-8
392
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":0,"Name":"Bread","Description":"Whole
393
+ grain bread","ReleaseDate":"1992-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":4,"Price":2.5},{"ID":1,"Name":"Milk","Description":"Low
394
+ fat milk","ReleaseDate":"1995-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":3.5},{"ID":2,"Name":"Vint
395
+ soda","Description":"Americana Variety - Mix of 6 flavors","ReleaseDate":"2000-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":20.9},{"ID":3,"Name":"Havina
396
+ Cola","Description":"The Original Key Lime Cola","ReleaseDate":"2005-10-01T00:00:00Z","DiscontinuedDate":"2006-10-01T00:00:00Z","Rating":3,"Price":19.9},{"ID":4,"Name":"Fruit
397
+ Punch","Description":"Mango flavor, 8.3 Ounce Cans (Pack of 24)","ReleaseDate":"2003-01-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.99},{"ID":5,"Name":"Cranberry
398
+ Juice","Description":"16-Ounce Plastic Bottles (Pack of 12)","ReleaseDate":"2006-08-04T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.8},{"ID":6,"Name":"Pink
399
+ Lemonade","Description":"36 Ounce Cans (Pack of 3)","ReleaseDate":"2006-11-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":18.8},{"ID":7,"Name":"DVD
400
+ Player","Description":"1080P Upconversion DVD Player","ReleaseDate":"2006-11-15T00:00:00Z","DiscontinuedDate":null,"Rating":5,"Price":35.88},{"ID":8,"Name":"LCD
401
+ HDTV","Description":"42 inch 1080p LCD with Built-in Blu-ray Disc Player","ReleaseDate":"2008-05-08T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":1088.8},{"@odata.type":"#ODataDemo.FeaturedProduct","ID":9,"Name":"Lemonade","Description":"Classic,
402
+ refreshing lemonade (Single bottle)","ReleaseDate":"1970-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":7,"Price":1.01},{"@odata.type":"#ODataDemo.FeaturedProduct","ID":10,"Name":"Coffee","Description":"Bulk
403
+ size can of instant coffee","ReleaseDate":"1982-12-31T00:00:00Z","DiscontinuedDate":null,"Rating":1,"Price":6.99}]}'
404
+ http_version: '1.1'
405
+ adapter_metadata:
406
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products
407
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
408
+ - request:
409
+ method: get
410
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$filter=Name%20eq%20'Milk'
411
+ body:
412
+ encoding: US-ASCII
413
+ string: ''
414
+ headers:
415
+ User-Agent:
416
+ - Typhoeus - https://github.com/typhoeus/typhoeus
417
+ OData-Version:
418
+ - '4.0'
419
+ Accept:
420
+ - application/atom+xml,application/json,text/plain
421
+ Expect:
422
+ - ''
423
+ response:
424
+ status:
425
+ code: 200
426
+ message: OK
427
+ headers:
428
+ Cache-Control:
429
+ - no-cache
430
+ Content-Length:
431
+ - '230'
432
+ Content-Type:
433
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
434
+ Server:
435
+ - Microsoft-IIS/10.0
436
+ X-Content-Type-Options:
437
+ - nosniff
438
+ OData-Version:
439
+ - 4.0;
440
+ X-AspNet-Version:
441
+ - 4.0.30319
442
+ X-Powered-By:
443
+ - ASP.NET
444
+ Access-Control-Allow-Origin:
445
+ - "*"
446
+ Access-Control-Allow-Methods:
447
+ - GET
448
+ Access-Control-Allow-Headers:
449
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
450
+ Access-Control-Expose-Headers:
451
+ - DataServiceVersion
452
+ Date:
453
+ - Tue, 16 Jan 2018 20:30:37 GMT
454
+ body:
455
+ encoding: UTF-8
456
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":1,"Name":"Milk","Description":"Low
457
+ fat milk","ReleaseDate":"1995-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":3.5}]}'
458
+ http_version: '1.1'
459
+ adapter_metadata:
460
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$filter=Name%20eq%20'Milk'
461
+ recorded_at: Tue, 16 Jan 2018 20:30:38 GMT
462
+ - request:
463
+ method: get
464
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$top=5
465
+ body:
466
+ encoding: US-ASCII
467
+ string: ''
468
+ headers:
469
+ User-Agent:
470
+ - Typhoeus - https://github.com/typhoeus/typhoeus
471
+ OData-Version:
472
+ - '4.0'
473
+ Accept:
474
+ - application/atom+xml,application/json,text/plain
475
+ Expect:
476
+ - ''
477
+ response:
478
+ status:
479
+ code: 200
480
+ message: OK
481
+ headers:
482
+ Cache-Control:
483
+ - no-cache
484
+ Content-Length:
485
+ - '888'
486
+ Content-Type:
487
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
488
+ Server:
489
+ - Microsoft-IIS/10.0
490
+ X-Content-Type-Options:
491
+ - nosniff
492
+ OData-Version:
493
+ - 4.0;
494
+ X-AspNet-Version:
495
+ - 4.0.30319
496
+ X-Powered-By:
497
+ - ASP.NET
498
+ Access-Control-Allow-Origin:
499
+ - "*"
500
+ Access-Control-Allow-Methods:
501
+ - GET
502
+ Access-Control-Allow-Headers:
503
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
504
+ Access-Control-Expose-Headers:
505
+ - DataServiceVersion
506
+ Date:
507
+ - Tue, 16 Jan 2018 20:30:37 GMT
508
+ body:
509
+ encoding: UTF-8
510
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":0,"Name":"Bread","Description":"Whole
511
+ grain bread","ReleaseDate":"1992-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":4,"Price":2.5},{"ID":1,"Name":"Milk","Description":"Low
512
+ fat milk","ReleaseDate":"1995-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":3.5},{"ID":2,"Name":"Vint
513
+ soda","Description":"Americana Variety - Mix of 6 flavors","ReleaseDate":"2000-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":20.9},{"ID":3,"Name":"Havina
514
+ Cola","Description":"The Original Key Lime Cola","ReleaseDate":"2005-10-01T00:00:00Z","DiscontinuedDate":"2006-10-01T00:00:00Z","Rating":3,"Price":19.9},{"ID":4,"Name":"Fruit
515
+ Punch","Description":"Mango flavor, 8.3 Ounce Cans (Pack of 24)","ReleaseDate":"2003-01-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.99}]}'
516
+ http_version: '1.1'
517
+ adapter_metadata:
518
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$top=5
519
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
520
+ - request:
521
+ method: get
522
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$skip=5&$top=5
523
+ body:
524
+ encoding: US-ASCII
525
+ string: ''
526
+ headers:
527
+ User-Agent:
528
+ - Typhoeus - https://github.com/typhoeus/typhoeus
529
+ OData-Version:
530
+ - '4.0'
531
+ Accept:
532
+ - application/atom+xml,application/json,text/plain
533
+ Expect:
534
+ - ''
535
+ response:
536
+ status:
537
+ code: 200
538
+ message: OK
539
+ headers:
540
+ Cache-Control:
541
+ - no-cache
542
+ Content-Length:
543
+ - '985'
544
+ Content-Type:
545
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
546
+ Server:
547
+ - Microsoft-IIS/10.0
548
+ X-Content-Type-Options:
549
+ - nosniff
550
+ OData-Version:
551
+ - 4.0;
552
+ X-AspNet-Version:
553
+ - 4.0.30319
554
+ X-Powered-By:
555
+ - ASP.NET
556
+ Access-Control-Allow-Origin:
557
+ - "*"
558
+ Access-Control-Allow-Methods:
559
+ - GET
560
+ Access-Control-Allow-Headers:
561
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
562
+ Access-Control-Expose-Headers:
563
+ - DataServiceVersion
564
+ Date:
565
+ - Tue, 16 Jan 2018 20:30:37 GMT
566
+ body:
567
+ encoding: UTF-8
568
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":5,"Name":"Cranberry
569
+ Juice","Description":"16-Ounce Plastic Bottles (Pack of 12)","ReleaseDate":"2006-08-04T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.8},{"ID":6,"Name":"Pink
570
+ Lemonade","Description":"36 Ounce Cans (Pack of 3)","ReleaseDate":"2006-11-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":18.8},{"ID":7,"Name":"DVD
571
+ Player","Description":"1080P Upconversion DVD Player","ReleaseDate":"2006-11-15T00:00:00Z","DiscontinuedDate":null,"Rating":5,"Price":35.88},{"ID":8,"Name":"LCD
572
+ HDTV","Description":"42 inch 1080p LCD with Built-in Blu-ray Disc Player","ReleaseDate":"2008-05-08T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":1088.8},{"@odata.type":"#ODataDemo.FeaturedProduct","ID":9,"Name":"Lemonade","Description":"Classic,
573
+ refreshing lemonade (Single bottle)","ReleaseDate":"1970-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":7,"Price":1.01}]}'
574
+ http_version: '1.1'
575
+ adapter_metadata:
576
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$skip=5&$top=5
577
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
578
+ - request:
579
+ method: get
580
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$skip=10&$top=5
581
+ body:
582
+ encoding: US-ASCII
583
+ string: ''
584
+ headers:
585
+ User-Agent:
586
+ - Typhoeus - https://github.com/typhoeus/typhoeus
587
+ OData-Version:
588
+ - '4.0'
589
+ Accept:
590
+ - application/atom+xml,application/json,text/plain
591
+ Expect:
592
+ - ''
593
+ response:
594
+ status:
595
+ code: 200
596
+ message: OK
597
+ headers:
598
+ Cache-Control:
599
+ - no-cache
600
+ Content-Length:
601
+ - '296'
602
+ Content-Type:
603
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
604
+ Server:
605
+ - Microsoft-IIS/10.0
606
+ X-Content-Type-Options:
607
+ - nosniff
608
+ OData-Version:
609
+ - 4.0;
610
+ X-AspNet-Version:
611
+ - 4.0.30319
612
+ X-Powered-By:
613
+ - ASP.NET
614
+ Access-Control-Allow-Origin:
615
+ - "*"
616
+ Access-Control-Allow-Methods:
617
+ - GET
618
+ Access-Control-Allow-Headers:
619
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
620
+ Access-Control-Expose-Headers:
621
+ - DataServiceVersion
622
+ Date:
623
+ - Tue, 16 Jan 2018 20:30:37 GMT
624
+ body:
625
+ encoding: UTF-8
626
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"@odata.type":"#ODataDemo.FeaturedProduct","ID":10,"Name":"Coffee","Description":"Bulk
627
+ size can of instant coffee","ReleaseDate":"1982-12-31T00:00:00Z","DiscontinuedDate":null,"Rating":1,"Price":6.99}]}'
628
+ http_version: '1.1'
629
+ adapter_metadata:
630
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$skip=10&$top=5
631
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
632
+ - request:
633
+ method: get
634
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$skip=15&$top=5
635
+ body:
636
+ encoding: US-ASCII
637
+ string: ''
638
+ headers:
639
+ User-Agent:
640
+ - Typhoeus - https://github.com/typhoeus/typhoeus
641
+ OData-Version:
642
+ - '4.0'
643
+ Accept:
644
+ - application/atom+xml,application/json,text/plain
645
+ Expect:
646
+ - ''
647
+ response:
648
+ status:
649
+ code: 200
650
+ message: OK
651
+ headers:
652
+ Cache-Control:
653
+ - no-cache
654
+ Content-Length:
655
+ - '95'
656
+ Content-Type:
657
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
658
+ Server:
659
+ - Microsoft-IIS/10.0
660
+ X-Content-Type-Options:
661
+ - nosniff
662
+ OData-Version:
663
+ - 4.0;
664
+ X-AspNet-Version:
665
+ - 4.0.30319
666
+ X-Powered-By:
667
+ - ASP.NET
668
+ Access-Control-Allow-Origin:
669
+ - "*"
670
+ Access-Control-Allow-Methods:
671
+ - GET
672
+ Access-Control-Allow-Headers:
673
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
674
+ Access-Control-Expose-Headers:
675
+ - DataServiceVersion
676
+ Date:
677
+ - Tue, 16 Jan 2018 20:30:37 GMT
678
+ body:
679
+ encoding: UTF-8
680
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[]}'
681
+ http_version: '1.1'
682
+ adapter_metadata:
683
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$skip=15&$top=5
684
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
685
+ - request:
686
+ method: get
687
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$orderby=Name
688
+ body:
689
+ encoding: US-ASCII
690
+ string: ''
691
+ headers:
692
+ User-Agent:
693
+ - Typhoeus - https://github.com/typhoeus/typhoeus
694
+ OData-Version:
695
+ - '4.0'
696
+ Accept:
697
+ - application/atom+xml,application/json,text/plain
698
+ Expect:
699
+ - ''
700
+ response:
701
+ status:
702
+ code: 200
703
+ message: OK
704
+ headers:
705
+ Cache-Control:
706
+ - no-cache
707
+ Content-Length:
708
+ - '1981'
709
+ Content-Type:
710
+ - application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
711
+ Server:
712
+ - Microsoft-IIS/10.0
713
+ X-Content-Type-Options:
714
+ - nosniff
715
+ OData-Version:
716
+ - 4.0;
717
+ X-AspNet-Version:
718
+ - 4.0.30319
719
+ X-Powered-By:
720
+ - ASP.NET
721
+ Access-Control-Allow-Origin:
722
+ - "*"
723
+ Access-Control-Allow-Methods:
724
+ - GET
725
+ Access-Control-Allow-Headers:
726
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
727
+ Access-Control-Expose-Headers:
728
+ - DataServiceVersion
729
+ Date:
730
+ - Tue, 16 Jan 2018 20:30:37 GMT
731
+ body:
732
+ encoding: UTF-8
733
+ string: '{"@odata.context":"http://services.odata.org/V4/OData/OData.svc/$metadata#Products","value":[{"ID":0,"Name":"Bread","Description":"Whole
734
+ grain bread","ReleaseDate":"1992-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":4,"Price":2.5},{"@odata.type":"#ODataDemo.FeaturedProduct","ID":10,"Name":"Coffee","Description":"Bulk
735
+ size can of instant coffee","ReleaseDate":"1982-12-31T00:00:00Z","DiscontinuedDate":null,"Rating":1,"Price":6.99},{"ID":5,"Name":"Cranberry
736
+ Juice","Description":"16-Ounce Plastic Bottles (Pack of 12)","ReleaseDate":"2006-08-04T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.8},{"ID":7,"Name":"DVD
737
+ Player","Description":"1080P Upconversion DVD Player","ReleaseDate":"2006-11-15T00:00:00Z","DiscontinuedDate":null,"Rating":5,"Price":35.88},{"ID":4,"Name":"Fruit
738
+ Punch","Description":"Mango flavor, 8.3 Ounce Cans (Pack of 24)","ReleaseDate":"2003-01-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":22.99},{"ID":3,"Name":"Havina
739
+ Cola","Description":"The Original Key Lime Cola","ReleaseDate":"2005-10-01T00:00:00Z","DiscontinuedDate":"2006-10-01T00:00:00Z","Rating":3,"Price":19.9},{"ID":8,"Name":"LCD
740
+ HDTV","Description":"42 inch 1080p LCD with Built-in Blu-ray Disc Player","ReleaseDate":"2008-05-08T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":1088.8},{"@odata.type":"#ODataDemo.FeaturedProduct","ID":9,"Name":"Lemonade","Description":"Classic,
741
+ refreshing lemonade (Single bottle)","ReleaseDate":"1970-01-01T00:00:00Z","DiscontinuedDate":null,"Rating":7,"Price":1.01},{"ID":1,"Name":"Milk","Description":"Low
742
+ fat milk","ReleaseDate":"1995-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":3.5},{"ID":6,"Name":"Pink
743
+ Lemonade","Description":"36 Ounce Cans (Pack of 3)","ReleaseDate":"2006-11-05T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":18.8},{"ID":2,"Name":"Vint
744
+ soda","Description":"Americana Variety - Mix of 6 flavors","ReleaseDate":"2000-10-01T00:00:00Z","DiscontinuedDate":null,"Rating":3,"Price":20.9}]}'
745
+ http_version: '1.1'
746
+ adapter_metadata:
747
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$orderby=Name
748
+ recorded_at: Tue, 16 Jan 2018 20:30:39 GMT
749
+ recorded_with: VCR 2.9.3