frodata 0.9.1

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 (128) 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 +150 -0
  9. data/Gemfile +4 -0
  10. data/LICENSE.txt +23 -0
  11. data/README.md +427 -0
  12. data/Rakefile +7 -0
  13. data/TODO.md +55 -0
  14. data/frodata.gemspec +34 -0
  15. data/lib/frodata.rb +36 -0
  16. data/lib/frodata/entity.rb +332 -0
  17. data/lib/frodata/entity_container.rb +75 -0
  18. data/lib/frodata/entity_set.rb +161 -0
  19. data/lib/frodata/errors.rb +68 -0
  20. data/lib/frodata/navigation_property.rb +29 -0
  21. data/lib/frodata/navigation_property/proxy.rb +80 -0
  22. data/lib/frodata/properties.rb +32 -0
  23. data/lib/frodata/properties/binary.rb +50 -0
  24. data/lib/frodata/properties/boolean.rb +37 -0
  25. data/lib/frodata/properties/collection.rb +50 -0
  26. data/lib/frodata/properties/complex.rb +114 -0
  27. data/lib/frodata/properties/date.rb +27 -0
  28. data/lib/frodata/properties/date_time.rb +83 -0
  29. data/lib/frodata/properties/date_time_offset.rb +17 -0
  30. data/lib/frodata/properties/decimal.rb +50 -0
  31. data/lib/frodata/properties/enum.rb +62 -0
  32. data/lib/frodata/properties/float.rb +67 -0
  33. data/lib/frodata/properties/geography.rb +13 -0
  34. data/lib/frodata/properties/geography/base.rb +162 -0
  35. data/lib/frodata/properties/geography/line_string.rb +33 -0
  36. data/lib/frodata/properties/geography/point.rb +31 -0
  37. data/lib/frodata/properties/geography/polygon.rb +38 -0
  38. data/lib/frodata/properties/guid.rb +17 -0
  39. data/lib/frodata/properties/integer.rb +107 -0
  40. data/lib/frodata/properties/number.rb +14 -0
  41. data/lib/frodata/properties/string.rb +72 -0
  42. data/lib/frodata/properties/time.rb +40 -0
  43. data/lib/frodata/properties/time_of_day.rb +27 -0
  44. data/lib/frodata/property.rb +139 -0
  45. data/lib/frodata/property_registry.rb +41 -0
  46. data/lib/frodata/query.rb +233 -0
  47. data/lib/frodata/query/criteria.rb +92 -0
  48. data/lib/frodata/query/criteria/comparison_operators.rb +49 -0
  49. data/lib/frodata/query/criteria/date_functions.rb +61 -0
  50. data/lib/frodata/query/criteria/geography_functions.rb +21 -0
  51. data/lib/frodata/query/criteria/lambda_operators.rb +27 -0
  52. data/lib/frodata/query/criteria/string_functions.rb +40 -0
  53. data/lib/frodata/query/in_batches.rb +58 -0
  54. data/lib/frodata/railtie.rb +19 -0
  55. data/lib/frodata/schema.rb +155 -0
  56. data/lib/frodata/schema/complex_type.rb +79 -0
  57. data/lib/frodata/schema/enum_type.rb +95 -0
  58. data/lib/frodata/service.rb +254 -0
  59. data/lib/frodata/service/request.rb +85 -0
  60. data/lib/frodata/service/response.rb +162 -0
  61. data/lib/frodata/service/response/atom.rb +40 -0
  62. data/lib/frodata/service/response/json.rb +41 -0
  63. data/lib/frodata/service/response/plain.rb +36 -0
  64. data/lib/frodata/service/response/xml.rb +40 -0
  65. data/lib/frodata/service_registry.rb +52 -0
  66. data/lib/frodata/version.rb +3 -0
  67. data/spec/fixtures/files/entity_to_xml.xml +17 -0
  68. data/spec/fixtures/files/error.xml +5 -0
  69. data/spec/fixtures/files/metadata.xml +150 -0
  70. data/spec/fixtures/files/product_0.json +10 -0
  71. data/spec/fixtures/files/product_0.xml +28 -0
  72. data/spec/fixtures/files/products.json +106 -0
  73. data/spec/fixtures/files/products.xml +308 -0
  74. data/spec/fixtures/files/supplier_0.json +26 -0
  75. data/spec/fixtures/files/supplier_0.xml +32 -0
  76. data/spec/fixtures/vcr_cassettes/entity_set_specs.yml +1635 -0
  77. data/spec/fixtures/vcr_cassettes/entity_set_specs/bad_entry.yml +183 -0
  78. data/spec/fixtures/vcr_cassettes/entity_set_specs/existing_entry.yml +256 -0
  79. data/spec/fixtures/vcr_cassettes/entity_set_specs/new_entry.yml +185 -0
  80. data/spec/fixtures/vcr_cassettes/entity_specs.yml +285 -0
  81. data/spec/fixtures/vcr_cassettes/navigation_property_proxy_specs.yml +346 -0
  82. data/spec/fixtures/vcr_cassettes/query/result_specs.yml +189 -0
  83. data/spec/fixtures/vcr_cassettes/query_specs.yml +1060 -0
  84. data/spec/fixtures/vcr_cassettes/schema/complex_type_specs.yml +127 -0
  85. data/spec/fixtures/vcr_cassettes/service/request_specs.yml +193 -0
  86. data/spec/fixtures/vcr_cassettes/service_registry_specs.yml +129 -0
  87. data/spec/fixtures/vcr_cassettes/service_specs.yml +127 -0
  88. data/spec/fixtures/vcr_cassettes/usage_example_specs.yml +1330 -0
  89. data/spec/frodata/entity/shared_examples.rb +82 -0
  90. data/spec/frodata/entity_container_spec.rb +38 -0
  91. data/spec/frodata/entity_set_spec.rb +168 -0
  92. data/spec/frodata/entity_spec.rb +151 -0
  93. data/spec/frodata/errors_spec.rb +48 -0
  94. data/spec/frodata/navigation_property/proxy_spec.rb +44 -0
  95. data/spec/frodata/navigation_property_spec.rb +55 -0
  96. data/spec/frodata/properties/binary_spec.rb +50 -0
  97. data/spec/frodata/properties/boolean_spec.rb +72 -0
  98. data/spec/frodata/properties/collection_spec.rb +44 -0
  99. data/spec/frodata/properties/date_spec.rb +23 -0
  100. data/spec/frodata/properties/date_time_offset_spec.rb +30 -0
  101. data/spec/frodata/properties/date_time_spec.rb +23 -0
  102. data/spec/frodata/properties/decimal_spec.rb +51 -0
  103. data/spec/frodata/properties/float_spec.rb +45 -0
  104. data/spec/frodata/properties/geography/line_string_spec.rb +33 -0
  105. data/spec/frodata/properties/geography/point_spec.rb +29 -0
  106. data/spec/frodata/properties/geography/polygon_spec.rb +55 -0
  107. data/spec/frodata/properties/geography/shared_examples.rb +72 -0
  108. data/spec/frodata/properties/guid_spec.rb +17 -0
  109. data/spec/frodata/properties/integer_spec.rb +58 -0
  110. data/spec/frodata/properties/string_spec.rb +46 -0
  111. data/spec/frodata/properties/time_of_day_spec.rb +23 -0
  112. data/spec/frodata/properties/time_spec.rb +15 -0
  113. data/spec/frodata/property_registry_spec.rb +16 -0
  114. data/spec/frodata/property_spec.rb +71 -0
  115. data/spec/frodata/query/criteria_spec.rb +229 -0
  116. data/spec/frodata/query_spec.rb +199 -0
  117. data/spec/frodata/schema/complex_type_spec.rb +96 -0
  118. data/spec/frodata/schema/enum_type_spec.rb +112 -0
  119. data/spec/frodata/schema_spec.rb +97 -0
  120. data/spec/frodata/service/request_spec.rb +49 -0
  121. data/spec/frodata/service/response_spec.rb +85 -0
  122. data/spec/frodata/service_registry_spec.rb +18 -0
  123. data/spec/frodata/service_spec.rb +191 -0
  124. data/spec/frodata/usage_example_spec.rb +188 -0
  125. data/spec/spec_helper.rb +32 -0
  126. data/spec/support/coverage.rb +2 -0
  127. data/spec/support/vcr.rb +9 -0
  128. metadata +401 -0
@@ -0,0 +1,183 @@
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
+ 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, 29 Nov 2017 01:44:57 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, 29 Nov 2017 01:44:57 GMT
127
+ - request:
128
+ method: post
129
+ uri: http://services.odata.org/V4/OData/OData.svc/Products
130
+ body:
131
+ encoding: UTF-8
132
+ string: |
133
+ <?xml version="1.0"?>
134
+ <entry xmlns="http://www.w3.org/2005/Atom" xmlns:data="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:metadata="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xml:base="http://services.odata.org/OData/OData.svc/"><category term="ODataDemo.Product" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme"/><author><name/></author><content type="application/xml"><metadata:properties><data:Name metadata:type="Edm.String" metadata:null="true"/><data:Description metadata:type="Edm.String" metadata:null="true"/><data:ReleaseDate metadata:type="Edm.DateTimeOffset" metadata:null="true"/><data:DiscontinuedDate metadata:type="Edm.DateTimeOffset" metadata:null="true"/><data:Rating metadata:type="Edm.Int16" metadata:null="true"/><data:Price metadata:type="Edm.Double" metadata:null="true"/></metadata:properties></content>
135
+ </entry>
136
+ headers:
137
+ User-Agent:
138
+ - Typhoeus - https://github.com/typhoeus/typhoeus
139
+ Accept:
140
+ - application/atom+xml
141
+ Content-Type:
142
+ - application/atom+xml
143
+ response:
144
+ status:
145
+ code: 400
146
+ message: Bad Request
147
+ headers:
148
+ Cache-Control:
149
+ - private
150
+ Content-Length:
151
+ - '253'
152
+ Content-Type:
153
+ - application/xml;charset=utf-8
154
+ Server:
155
+ - Microsoft-IIS/8.0
156
+ X-Content-Type-Options:
157
+ - nosniff
158
+ OData-Version:
159
+ - '4.0'
160
+ X-AspNet-Version:
161
+ - 4.0.30319
162
+ X-Powered-By:
163
+ - ASP.NET
164
+ Access-Control-Allow-Origin:
165
+ - "*"
166
+ Access-Control-Allow-Methods:
167
+ - GET
168
+ Access-Control-Allow-Headers:
169
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
170
+ Access-Control-Expose-Headers:
171
+ - DataServiceVersion
172
+ Date:
173
+ - Wed, 29 Nov 2017 01:44:57 GMT
174
+ body:
175
+ encoding: UTF-8
176
+ string: <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"><m:code
177
+ /><m:message>Error processing request stream. Type information must be specified
178
+ for types that take part in inheritance.</m:message></m:error>
179
+ http_version: '1.1'
180
+ adapter_metadata:
181
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products
182
+ recorded_at: Wed, 29 Nov 2017 01:44:57 GMT
183
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,256 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
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
+ Accept:
15
+ - application/atom+xml
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Cache-Control:
22
+ - no-cache
23
+ Content-Length:
24
+ - '2179'
25
+ Content-Type:
26
+ - application/atom+xml;type=feed;charset=utf-8
27
+ Server:
28
+ - Microsoft-IIS/8.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
+ - Wed, 29 Nov 2017 20:54:13 GMT
47
+ body:
48
+ encoding: UTF-8
49
+ string: <?xml version="1.0" encoding="utf-8"?><feed xml:base="http://services.odata.org/V4/OData/OData.svc/"
50
+ xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://docs.oasis-open.org/odata/ns/data"
51
+ xmlns:m="http://docs.oasis-open.org/odata/ns/metadata" xmlns:georss="http://www.georss.org/georss"
52
+ xmlns:gml="http://www.opengis.net/gml" m:context="http://services.odata.org/V4/OData/OData.svc/$metadata#Products"><id>http://services.odata.org/V4/OData/OData.svc/Products</id><title
53
+ type="text">Products</title><updated>2017-11-29T20:54:14Z</updated><link rel="self"
54
+ title="Products" href="Products" /><entry><id>http://services.odata.org/V4/OData/OData.svc/Products(0)</id><category
55
+ term="#ODataDemo.Product" scheme="http://docs.oasis-open.org/odata/ns/scheme"
56
+ /><link rel="edit" title="Product" href="Products(0)" /><link rel="http://docs.oasis-open.org/odata/ns/relatedlinks/Categories"
57
+ type="application/xml" title="Categories" href="Products(0)/Categories/$ref"
58
+ /><link rel="http://docs.oasis-open.org/odata/ns/related/Categories" type="application/atom+xml;type=feed"
59
+ title="Categories" href="Products(0)/Categories" /><link rel="http://docs.oasis-open.org/odata/ns/relatedlinks/Supplier"
60
+ type="application/xml" title="Supplier" href="Products(0)/Supplier/$ref" /><link
61
+ rel="http://docs.oasis-open.org/odata/ns/related/Supplier" type="application/atom+xml;type=entry"
62
+ title="Supplier" href="Products(0)/Supplier" /><link rel="http://docs.oasis-open.org/odata/ns/relatedlinks/ProductDetail"
63
+ type="application/xml" title="ProductDetail" href="Products(0)/ProductDetail/$ref"
64
+ /><link rel="http://docs.oasis-open.org/odata/ns/related/ProductDetail" type="application/atom+xml;type=entry"
65
+ title="ProductDetail" href="Products(0)/ProductDetail" /><title /><updated>2017-11-29T20:54:14Z</updated><author><name
66
+ /></author><content type="application/xml"><m:properties><d:ID m:type="Int32">0</d:ID><d:Name>Bread</d:Name><d:Description>Whole
67
+ grain bread</d:Description><d:ReleaseDate m:type="DateTimeOffset">1992-01-01T00:00:00Z</d:ReleaseDate><d:DiscontinuedDate
68
+ m:null="true" /><d:Rating m:type="Int16">4</d:Rating><d:Price m:type="Double">2.5</d:Price></m:properties></content></entry></feed>
69
+ http_version: '1.1'
70
+ adapter_metadata:
71
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products?$top=1
72
+ recorded_at: Wed, 29 Nov 2017 20:54:14 GMT
73
+ - request:
74
+ method: get
75
+ uri: http://services.odata.org/V4/OData/OData.svc/$metadata
76
+ body:
77
+ encoding: US-ASCII
78
+ string: ''
79
+ headers:
80
+ User-Agent:
81
+ - Typhoeus - https://github.com/typhoeus/typhoeus
82
+ OData-Version:
83
+ - '4.0'
84
+ response:
85
+ status:
86
+ code: 200
87
+ message: OK
88
+ headers:
89
+ Cache-Control:
90
+ - no-cache
91
+ Content-Length:
92
+ - '6742'
93
+ Content-Type:
94
+ - application/xml;charset=utf-8
95
+ Server:
96
+ - Microsoft-IIS/8.0
97
+ X-Content-Type-Options:
98
+ - nosniff
99
+ OData-Version:
100
+ - 4.0;
101
+ X-AspNet-Version:
102
+ - 4.0.30319
103
+ X-Powered-By:
104
+ - ASP.NET
105
+ Access-Control-Allow-Origin:
106
+ - "*"
107
+ Access-Control-Allow-Methods:
108
+ - GET
109
+ Access-Control-Allow-Headers:
110
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
111
+ Access-Control-Expose-Headers:
112
+ - DataServiceVersion
113
+ Date:
114
+ - Wed, 29 Nov 2017 20:54:13 GMT
115
+ body:
116
+ encoding: UTF-8
117
+ 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
118
+ Namespace="ODataDemo" xmlns="http://docs.oasis-open.org/odata/ns/edm"><EntityType
119
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
120
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><Property Name="Description"
121
+ Type="Edm.String" /><Property Name="ReleaseDate" Type="Edm.DateTimeOffset"
122
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTimeOffset"
123
+ /><Property Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price"
124
+ Type="Edm.Double" Nullable="false" /><NavigationProperty Name="Categories"
125
+ Type="Collection(ODataDemo.Category)" Partner="Products" /><NavigationProperty
126
+ Name="Supplier" Type="ODataDemo.Supplier" Partner="Products" /><NavigationProperty
127
+ Name="ProductDetail" Type="ODataDemo.ProductDetail" Partner="Product" /></EntityType><EntityType
128
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
129
+ Type="ODataDemo.Advertisement" Partner="FeaturedProduct" /></EntityType><EntityType
130
+ Name="ProductDetail"><Key><PropertyRef Name="ProductID" /></Key><Property
131
+ Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property Name="Details"
132
+ Type="Edm.String" /><NavigationProperty Name="Product" Type="ODataDemo.Product"
133
+ Partner="ProductDetail" /></EntityType><EntityType Name="Category" OpenType="true"><Key><PropertyRef
134
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
135
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
136
+ Partner="Categories" /></EntityType><EntityType Name="Supplier"><Key><PropertyRef
137
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
138
+ Name="Name" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
139
+ /><Property Name="Location" Type="Edm.GeographyPoint" SRID="Variable" /><Property
140
+ Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed" Nullable="false"
141
+ /><NavigationProperty Name="Products" Type="Collection(ODataDemo.Product)"
142
+ Partner="Supplier" /></EntityType><ComplexType Name="Address"><Property Name="Street"
143
+ Type="Edm.String" /><Property Name="City" Type="Edm.String" /><Property Name="State"
144
+ Type="Edm.String" /><Property Name="ZipCode" Type="Edm.String" /><Property
145
+ Name="Country" Type="Edm.String" /></ComplexType><EntityType Name="Person"><Key><PropertyRef
146
+ Name="ID" /></Key><Property Name="ID" Type="Edm.Int32" Nullable="false" /><Property
147
+ Name="Name" Type="Edm.String" /><NavigationProperty Name="PersonDetail" Type="ODataDemo.PersonDetail"
148
+ Partner="Person" /></EntityType><EntityType Name="Customer" BaseType="ODataDemo.Person"><Property
149
+ Name="TotalExpense" Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType
150
+ Name="Employee" BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64"
151
+ Nullable="false" /><Property Name="HireDate" Type="Edm.DateTimeOffset" Nullable="false"
152
+ /><Property Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
153
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
154
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
155
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
156
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
157
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
158
+ Name="Person" Type="ODataDemo.Person" Partner="PersonDetail" /></EntityType><EntityType
159
+ Name="Advertisement" HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
160
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
161
+ /><Property Name="AirDate" Type="Edm.DateTimeOffset" Nullable="false" /><NavigationProperty
162
+ Name="FeaturedProduct" Type="ODataDemo.FeaturedProduct" Partner="Advertisement"
163
+ /></EntityType><EntityContainer Name="DemoService"><EntitySet Name="Products"
164
+ EntityType="ODataDemo.Product"><NavigationPropertyBinding Path="ODataDemo.FeaturedProduct/Advertisement"
165
+ Target="Advertisements" /><NavigationPropertyBinding Path="Categories" Target="Categories"
166
+ /><NavigationPropertyBinding Path="Supplier" Target="Suppliers" /><NavigationPropertyBinding
167
+ Path="ProductDetail" Target="ProductDetails" /></EntitySet><EntitySet Name="ProductDetails"
168
+ EntityType="ODataDemo.ProductDetail"><NavigationPropertyBinding Path="Product"
169
+ Target="Products" /></EntitySet><EntitySet Name="Categories" EntityType="ODataDemo.Category"><NavigationPropertyBinding
170
+ Path="Products" Target="Products" /></EntitySet><EntitySet Name="Suppliers"
171
+ EntityType="ODataDemo.Supplier"><NavigationPropertyBinding Path="Products"
172
+ Target="Products" /></EntitySet><EntitySet Name="Persons" EntityType="ODataDemo.Person"><NavigationPropertyBinding
173
+ Path="PersonDetail" Target="PersonDetails" /></EntitySet><EntitySet Name="PersonDetails"
174
+ EntityType="ODataDemo.PersonDetail"><NavigationPropertyBinding Path="Person"
175
+ Target="Persons" /></EntitySet><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"><NavigationPropertyBinding
176
+ Path="FeaturedProduct" Target="Products" /></EntitySet></EntityContainer><Annotations
177
+ Target="ODataDemo.DemoService"><Annotation Term="Org.OData.Display.V1.Description"
178
+ String="This is a sample OData service with vocabularies" /></Annotations><Annotations
179
+ Target="ODataDemo.Product"><Annotation Term="Org.OData.Display.V1.Description"
180
+ String="All Products available in the online store" /></Annotations><Annotations
181
+ Target="ODataDemo.Product/Name"><Annotation Term="Org.OData.Display.V1.DisplayName"
182
+ String="Product Name" /></Annotations><Annotations Target="ODataDemo.DemoService/Suppliers"><Annotation
183
+ Term="Org.OData.Publication.V1.PublisherName" String="Microsoft Corp." /><Annotation
184
+ Term="Org.OData.Publication.V1.PublisherId" String="MSFT" /><Annotation Term="Org.OData.Publication.V1.Keywords"
185
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><Annotation Term="Org.OData.Publication.V1.AttributionUrl"
186
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.AttributionDescription"
187
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.DocumentationUrl
188
+ " String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
189
+ String="All rights reserved" /><Annotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
190
+ String="http://www.odata.org/" /><Annotation Term="Org.OData.Publication.V1.LastModified"
191
+ String="4/2/2013" /><Annotation Term="Org.OData.Publication.V1.ImageUrl "
192
+ String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
193
+ http_version: '1.1'
194
+ adapter_metadata:
195
+ effective_url: http://services.odata.org/V4/OData/OData.svc/$metadata
196
+ recorded_at: Wed, 29 Nov 2017 20:54:14 GMT
197
+ - request:
198
+ method: post
199
+ uri: http://services.odata.org/V4/OData/OData.svc/Products(0)
200
+ body:
201
+ encoding: UTF-8
202
+ string: |
203
+ <?xml version="1.0"?>
204
+ <entry xmlns="http://www.w3.org/2005/Atom" xmlns:data="http://docs.oasis-open.org/odata/ns/data" xmlns:metadata="http://docs.oasis-open.org/odata/ns/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xml:base="http://services.odata.org/V4/OData/OData.svc"><category term="ODataDemo.Product" scheme="http://docs.oasis-open.org/odata/ns/scheme"/><author><name/></author><content type="application/xml"><metadata:properties/></content>
205
+ </entry>
206
+ headers:
207
+ User-Agent:
208
+ - Typhoeus - https://github.com/typhoeus/typhoeus
209
+ Accept:
210
+ - application/atom+xml
211
+ Content-Type:
212
+ - application/atom+xml
213
+ response:
214
+ status:
215
+ code: 405
216
+ message: Method Not Allowed
217
+ headers:
218
+ Cache-Control:
219
+ - private
220
+ Allow:
221
+ - GET, PUT, PATCH, DELETE
222
+ Content-Length:
223
+ - '325'
224
+ Content-Type:
225
+ - application/xml;charset=utf-8
226
+ Server:
227
+ - Microsoft-IIS/8.0
228
+ X-Content-Type-Options:
229
+ - nosniff
230
+ OData-Version:
231
+ - '4.0'
232
+ X-AspNet-Version:
233
+ - 4.0.30319
234
+ X-Powered-By:
235
+ - ASP.NET
236
+ Access-Control-Allow-Origin:
237
+ - "*"
238
+ Access-Control-Allow-Methods:
239
+ - GET
240
+ Access-Control-Allow-Headers:
241
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
242
+ Access-Control-Expose-Headers:
243
+ - DataServiceVersion
244
+ Date:
245
+ - Wed, 29 Nov 2017 20:54:13 GMT
246
+ body:
247
+ encoding: UTF-8
248
+ string: <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"><m:code
249
+ /><m:message>The URI 'http://services.odata.org/V4/OData/OData.svc/Products(0)'
250
+ is not valid for POST operation. For POST operations, the URI must refer to
251
+ a service operation or an entity set.</m:message></m:error>
252
+ http_version: '1.1'
253
+ adapter_metadata:
254
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products(0)
255
+ recorded_at: Wed, 29 Nov 2017 20:54:14 GMT
256
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,185 @@
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
+ 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, 29 Nov 2017 20:59:10 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, 29 Nov 2017 20:59:11 GMT
127
+ - request:
128
+ method: post
129
+ uri: http://services.odata.org/V4/OData/OData.svc/Products
130
+ body:
131
+ encoding: UTF-8
132
+ string: |
133
+ <?xml version="1.0"?>
134
+ <entry xmlns="http://www.w3.org/2005/Atom" xmlns:data="http://docs.oasis-open.org/odata/ns/data" xmlns:metadata="http://docs.oasis-open.org/odata/ns/metadata" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml" xml:base="http://services.odata.org/V4/OData/OData.svc"><category term="ODataDemo.Product" scheme="http://docs.oasis-open.org/odata/ns/scheme"/><author><name/></author><content type="application/xml"><metadata:properties><data:Name metadata:type="Edm.String">Widget</data:Name><data:Description metadata:type="Edm.String">Just a simple widget</data:Description><data:ReleaseDate metadata:type="Edm.DateTimeOffset">2017-11-29T20:59:09+00:00</data:ReleaseDate><data:DiscontinuedDate metadata:type="Edm.DateTimeOffset" metadata:null="true"/><data:Rating metadata:type="Edm.Int16">4</data:Rating><data:Price metadata:type="Edm.Double">3.5</data:Price></metadata:properties></content>
135
+ </entry>
136
+ headers:
137
+ User-Agent:
138
+ - Typhoeus - https://github.com/typhoeus/typhoeus
139
+ Accept:
140
+ - application/atom+xml
141
+ Content-Type:
142
+ - application/atom+xml
143
+ response:
144
+ status:
145
+ code: 403
146
+ message: Forbidden
147
+ headers:
148
+ Cache-Control:
149
+ - private
150
+ Content-Length:
151
+ - '1254'
152
+ Content-Type:
153
+ - application/xml;charset=utf-8
154
+ Server:
155
+ - Microsoft-IIS/8.0
156
+ X-Content-Type-Options:
157
+ - nosniff
158
+ OData-Version:
159
+ - '4.0'
160
+ X-AspNet-Version:
161
+ - 4.0.30319
162
+ X-Powered-By:
163
+ - ASP.NET
164
+ Access-Control-Allow-Origin:
165
+ - "*"
166
+ Access-Control-Allow-Methods:
167
+ - GET
168
+ Access-Control-Allow-Headers:
169
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
170
+ Access-Control-Expose-Headers:
171
+ - DataServiceVersion
172
+ Date:
173
+ - Wed, 29 Nov 2017 20:59:10 GMT
174
+ body:
175
+ encoding: UTF-8
176
+ string: |-
177
+ <?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://docs.oasis-open.org/odata/ns/metadata"><m:code /><m:message>You are connected to a read-only data session. Update operations are not permitted for your session</m:message><m:innererror><m:message>Exception has been thrown by the target of an invocation.</m:message><m:type>System.Reflection.TargetInvocationException</m:type><m:stacktrace> at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)&#xD;
178
+ at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)&#xD;
179
+ at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)&#xD;
180
+ at Microsoft.OData.Service.UpdateTracker.FireNotifications()</m:stacktrace><m:internalexception><m:message>You are connected to a read-only data session. Update operations are not permitted for your session</m:message><m:type>Microsoft.OData.Service.DataServiceException</m:type><m:stacktrace> at ODataWebExperimental.OData.ODataService.OnUpdateOperation(Object source, UpdateOperations action)</m:stacktrace></m:internalexception></m:innererror></m:error>
181
+ http_version: '1.1'
182
+ adapter_metadata:
183
+ effective_url: http://services.odata.org/V4/OData/OData.svc/Products
184
+ recorded_at: Wed, 29 Nov 2017 20:59:11 GMT
185
+ recorded_with: VCR 2.9.3