odata 0.3.1 → 0.3.2

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.
@@ -0,0 +1,164 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/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
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Cache-Control:
18
+ - no-cache
19
+ Content-Length:
20
+ - '10034'
21
+ Content-Type:
22
+ - application/xml;charset=utf-8
23
+ Server:
24
+ - Microsoft-IIS/8.0
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ DataServiceVersion:
28
+ - 3.0;
29
+ X-AspNet-Version:
30
+ - 4.0.30319
31
+ X-Powered-By:
32
+ - ASP.NET
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Allow-Methods:
36
+ - GET
37
+ Access-Control-Allow-Headers:
38
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
39
+ Access-Control-Expose-Headers:
40
+ - DataServiceVersion
41
+ Set-Cookie:
42
+ - ARRAffinity=a9aad020fb0149d28d0efdb1e8bab24ad3481a904c8fb94abced8813c01ee265;Path=/;Domain=services.odata.org
43
+ Date:
44
+ - Sat, 19 Jul 2014 02:59:51 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"><edmx:DataServices
48
+ m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><Schema
49
+ Namespace="ODataDemo" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"><EntityType
50
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
51
+ Nullable="false" /><Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationTitle"
52
+ m:FC_ContentKind="text" m:FC_KeepInContent="false" /><Property Name="Description"
53
+ Type="Edm.String" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text"
54
+ m:FC_KeepInContent="false" /><Property Name="ReleaseDate" Type="Edm.DateTime"
55
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTime" /><Property
56
+ Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price" Type="Edm.Double"
57
+ Nullable="false" /><NavigationProperty Name="Categories" Relationship="ODataDemo.Product_Categories_Category_Products"
58
+ ToRole="Category_Products" FromRole="Product_Categories" /><NavigationProperty
59
+ Name="Supplier" Relationship="ODataDemo.Product_Supplier_Supplier_Products"
60
+ ToRole="Supplier_Products" FromRole="Product_Supplier" /><NavigationProperty
61
+ Name="ProductDetail" Relationship="ODataDemo.Product_ProductDetail_ProductDetail_Product"
62
+ ToRole="ProductDetail_Product" FromRole="Product_ProductDetail" /></EntityType><EntityType
63
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
64
+ Relationship="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"
65
+ ToRole="Advertisement_FeaturedProduct" FromRole="FeaturedProduct_Advertisement"
66
+ /></EntityType><EntityType Name="ProductDetail"><Key><PropertyRef Name="ProductID"
67
+ /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property
68
+ Name="Details" Type="Edm.String" /><NavigationProperty Name="Product" Relationship="ODataDemo.Product_ProductDetail_ProductDetail_Product"
69
+ ToRole="Product_ProductDetail" FromRole="ProductDetail_Product" /></EntityType><EntityType
70
+ Name="Category" OpenType="true"><Key><PropertyRef Name="ID" /></Key><Property
71
+ Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String"
72
+ m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" m:FC_KeepInContent="true"
73
+ /><NavigationProperty Name="Products" Relationship="ODataDemo.Product_Categories_Category_Products"
74
+ ToRole="Product_Categories" FromRole="Category_Products" /></EntityType><EntityType
75
+ Name="Supplier"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
76
+ Nullable="false" /><Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationTitle"
77
+ m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Address"
78
+ Type="ODataDemo.Address" /><Property Name="Location" Type="Edm.GeographyPoint"
79
+ SRID="Variable" /><Property Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed"
80
+ Nullable="false" /><NavigationProperty Name="Products" Relationship="ODataDemo.Product_Supplier_Supplier_Products"
81
+ ToRole="Product_Supplier" FromRole="Supplier_Products" /></EntityType><ComplexType
82
+ Name="Address"><Property Name="Street" Type="Edm.String" /><Property Name="City"
83
+ Type="Edm.String" /><Property Name="State" Type="Edm.String" /><Property Name="ZipCode"
84
+ Type="Edm.String" /><Property Name="Country" Type="Edm.String" /></ComplexType><EntityType
85
+ Name="Person"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
86
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty
87
+ Name="PersonDetail" Relationship="ODataDemo.Person_PersonDetail_PersonDetail_Person"
88
+ ToRole="PersonDetail_Person" FromRole="Person_PersonDetail" /></EntityType><EntityType
89
+ Name="Customer" BaseType="ODataDemo.Person"><Property Name="TotalExpense"
90
+ Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType Name="Employee"
91
+ BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64" Nullable="false"
92
+ /><Property Name="HireDate" Type="Edm.DateTime" Nullable="false" /><Property
93
+ Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
94
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
95
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
96
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
97
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
98
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
99
+ Name="Person" Relationship="ODataDemo.Person_PersonDetail_PersonDetail_Person"
100
+ ToRole="Person_PersonDetail" FromRole="PersonDetail_Person" /></EntityType><EntityType
101
+ Name="Advertisement" m:HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
102
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
103
+ /><Property Name="AirDate" Type="Edm.DateTime" Nullable="false" /><NavigationProperty
104
+ Name="FeaturedProduct" Relationship="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"
105
+ ToRole="FeaturedProduct_Advertisement" FromRole="Advertisement_FeaturedProduct"
106
+ /></EntityType><Association Name="Product_Categories_Category_Products"><End
107
+ Type="ODataDemo.Category" Role="Category_Products" Multiplicity="*" /><End
108
+ Type="ODataDemo.Product" Role="Product_Categories" Multiplicity="*" /></Association><Association
109
+ Name="Product_Supplier_Supplier_Products"><End Type="ODataDemo.Supplier" Role="Supplier_Products"
110
+ Multiplicity="0..1" /><End Type="ODataDemo.Product" Role="Product_Supplier"
111
+ Multiplicity="*" /></Association><Association Name="Product_ProductDetail_ProductDetail_Product"><End
112
+ Type="ODataDemo.ProductDetail" Role="ProductDetail_Product" Multiplicity="0..1"
113
+ /><End Type="ODataDemo.Product" Role="Product_ProductDetail" Multiplicity="0..1"
114
+ /></Association><Association Name="FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"><End
115
+ Type="ODataDemo.Advertisement" Role="Advertisement_FeaturedProduct" Multiplicity="0..1"
116
+ /><End Type="ODataDemo.FeaturedProduct" Role="FeaturedProduct_Advertisement"
117
+ Multiplicity="0..1" /></Association><Association Name="Person_PersonDetail_PersonDetail_Person"><End
118
+ Type="ODataDemo.PersonDetail" Role="PersonDetail_Person" Multiplicity="0..1"
119
+ /><End Type="ODataDemo.Person" Role="Person_PersonDetail" Multiplicity="0..1"
120
+ /></Association><EntityContainer Name="DemoService" m:IsDefaultEntityContainer="true"><EntitySet
121
+ Name="Products" EntityType="ODataDemo.Product" /><EntitySet Name="ProductDetails"
122
+ EntityType="ODataDemo.ProductDetail" /><EntitySet Name="Categories" EntityType="ODataDemo.Category"
123
+ /><EntitySet Name="Suppliers" EntityType="ODataDemo.Supplier" /><EntitySet
124
+ Name="Persons" EntityType="ODataDemo.Person" /><EntitySet Name="PersonDetails"
125
+ EntityType="ODataDemo.PersonDetail" /><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"
126
+ /><FunctionImport Name="GetProductsByRating" ReturnType="Collection(ODataDemo.Product)"
127
+ EntitySet="Products" m:HttpMethod="GET"><Parameter Name="rating" Type="Edm.Int16"
128
+ Nullable="false" /></FunctionImport><AssociationSet Name="Products_Advertisement_Advertisements"
129
+ Association="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"><End
130
+ Role="FeaturedProduct_Advertisement" EntitySet="Products" /><End Role="Advertisement_FeaturedProduct"
131
+ EntitySet="Advertisements" /></AssociationSet><AssociationSet Name="Products_Categories_Categories"
132
+ Association="ODataDemo.Product_Categories_Category_Products"><End Role="Product_Categories"
133
+ EntitySet="Products" /><End Role="Category_Products" EntitySet="Categories"
134
+ /></AssociationSet><AssociationSet Name="Products_Supplier_Suppliers" Association="ODataDemo.Product_Supplier_Supplier_Products"><End
135
+ Role="Product_Supplier" EntitySet="Products" /><End Role="Supplier_Products"
136
+ EntitySet="Suppliers" /></AssociationSet><AssociationSet Name="Products_ProductDetail_ProductDetails"
137
+ Association="ODataDemo.Product_ProductDetail_ProductDetail_Product"><End Role="Product_ProductDetail"
138
+ EntitySet="Products" /><End Role="ProductDetail_Product" EntitySet="ProductDetails"
139
+ /></AssociationSet><AssociationSet Name="Persons_PersonDetail_PersonDetails"
140
+ Association="ODataDemo.Person_PersonDetail_PersonDetail_Person"><End Role="Person_PersonDetail"
141
+ EntitySet="Persons" /><End Role="PersonDetail_Person" EntitySet="PersonDetails"
142
+ /></AssociationSet></EntityContainer><Annotations Target="ODataDemo.DemoService"><ValueAnnotation
143
+ Term="Org.OData.Display.V1.Description" String="This is a sample OData service
144
+ with vocabularies" /></Annotations><Annotations Target="ODataDemo.Product"><ValueAnnotation
145
+ Term="Org.OData.Display.V1.Description" String="All Products available in
146
+ the online store" /></Annotations><Annotations Target="ODataDemo.Product/Name"><ValueAnnotation
147
+ Term="Org.OData.Display.V1.DisplayName" String="Product Name" /></Annotations><Annotations
148
+ Target="ODataDemo.DemoService/Suppliers"><ValueAnnotation Term="Org.OData.Publication.V1.PublisherName"
149
+ String="Microsoft Corp." /><ValueAnnotation Term="Org.OData.Publication.V1.PublisherId"
150
+ String="MSFT" /><ValueAnnotation Term="Org.OData.Publication.V1.Keywords"
151
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><ValueAnnotation
152
+ Term="Org.OData.Publication.V1.AttributionUrl" String="http://www.odata.org/"
153
+ /><ValueAnnotation Term="Org.OData.Publication.V1.AttributionDescription"
154
+ String="All rights reserved" /><ValueAnnotation Term="Org.OData.Publication.V1.DocumentationUrl
155
+ " String="http://www.odata.org/" /><ValueAnnotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
156
+ String="All rights reserved" /><ValueAnnotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
157
+ String="http://www.odata.org/" /><ValueAnnotation Term="Org.OData.Publication.V1.LastModified"
158
+ String="4/2/2013" /><ValueAnnotation Term="Org.OData.Publication.V1.ImageUrl
159
+ " String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
160
+ http_version: '1.1'
161
+ adapter_metadata:
162
+ effective_url: http://services.odata.org/OData/OData.svc/$metadata
163
+ recorded_at: Sat, 19 Jul 2014 02:59:52 GMT
164
+ recorded_with: VCR 2.9.2
@@ -0,0 +1,164 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://services.odata.org/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
+ response:
13
+ status:
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ Cache-Control:
18
+ - no-cache
19
+ Content-Length:
20
+ - '10034'
21
+ Content-Type:
22
+ - application/xml;charset=utf-8
23
+ Server:
24
+ - Microsoft-IIS/8.0
25
+ X-Content-Type-Options:
26
+ - nosniff
27
+ DataServiceVersion:
28
+ - 3.0;
29
+ X-AspNet-Version:
30
+ - 4.0.30319
31
+ X-Powered-By:
32
+ - ASP.NET
33
+ Access-Control-Allow-Origin:
34
+ - "*"
35
+ Access-Control-Allow-Methods:
36
+ - GET
37
+ Access-Control-Allow-Headers:
38
+ - Accept, Origin, Content-Type, MaxDataServiceVersion
39
+ Access-Control-Expose-Headers:
40
+ - DataServiceVersion
41
+ Set-Cookie:
42
+ - ARRAffinity=a9aad020fb0149d28d0efdb1e8bab24ad3481a904c8fb94abced8813c01ee265;Path=/;Domain=services.odata.org
43
+ Date:
44
+ - Sat, 19 Jul 2014 02:59:53 GMT
45
+ body:
46
+ encoding: UTF-8
47
+ string: <?xml version="1.0" encoding="utf-8"?><edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx"><edmx:DataServices
48
+ m:DataServiceVersion="3.0" m:MaxDataServiceVersion="3.0" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><Schema
49
+ Namespace="ODataDemo" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"><EntityType
50
+ Name="Product"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
51
+ Nullable="false" /><Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationTitle"
52
+ m:FC_ContentKind="text" m:FC_KeepInContent="false" /><Property Name="Description"
53
+ Type="Edm.String" m:FC_TargetPath="SyndicationSummary" m:FC_ContentKind="text"
54
+ m:FC_KeepInContent="false" /><Property Name="ReleaseDate" Type="Edm.DateTime"
55
+ Nullable="false" /><Property Name="DiscontinuedDate" Type="Edm.DateTime" /><Property
56
+ Name="Rating" Type="Edm.Int16" Nullable="false" /><Property Name="Price" Type="Edm.Double"
57
+ Nullable="false" /><NavigationProperty Name="Categories" Relationship="ODataDemo.Product_Categories_Category_Products"
58
+ ToRole="Category_Products" FromRole="Product_Categories" /><NavigationProperty
59
+ Name="Supplier" Relationship="ODataDemo.Product_Supplier_Supplier_Products"
60
+ ToRole="Supplier_Products" FromRole="Product_Supplier" /><NavigationProperty
61
+ Name="ProductDetail" Relationship="ODataDemo.Product_ProductDetail_ProductDetail_Product"
62
+ ToRole="ProductDetail_Product" FromRole="Product_ProductDetail" /></EntityType><EntityType
63
+ Name="FeaturedProduct" BaseType="ODataDemo.Product"><NavigationProperty Name="Advertisement"
64
+ Relationship="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"
65
+ ToRole="Advertisement_FeaturedProduct" FromRole="FeaturedProduct_Advertisement"
66
+ /></EntityType><EntityType Name="ProductDetail"><Key><PropertyRef Name="ProductID"
67
+ /></Key><Property Name="ProductID" Type="Edm.Int32" Nullable="false" /><Property
68
+ Name="Details" Type="Edm.String" /><NavigationProperty Name="Product" Relationship="ODataDemo.Product_ProductDetail_ProductDetail_Product"
69
+ ToRole="Product_ProductDetail" FromRole="ProductDetail_Product" /></EntityType><EntityType
70
+ Name="Category" OpenType="true"><Key><PropertyRef Name="ID" /></Key><Property
71
+ Name="ID" Type="Edm.Int32" Nullable="false" /><Property Name="Name" Type="Edm.String"
72
+ m:FC_TargetPath="SyndicationTitle" m:FC_ContentKind="text" m:FC_KeepInContent="true"
73
+ /><NavigationProperty Name="Products" Relationship="ODataDemo.Product_Categories_Category_Products"
74
+ ToRole="Product_Categories" FromRole="Category_Products" /></EntityType><EntityType
75
+ Name="Supplier"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
76
+ Nullable="false" /><Property Name="Name" Type="Edm.String" m:FC_TargetPath="SyndicationTitle"
77
+ m:FC_ContentKind="text" m:FC_KeepInContent="true" /><Property Name="Address"
78
+ Type="ODataDemo.Address" /><Property Name="Location" Type="Edm.GeographyPoint"
79
+ SRID="Variable" /><Property Name="Concurrency" Type="Edm.Int32" ConcurrencyMode="Fixed"
80
+ Nullable="false" /><NavigationProperty Name="Products" Relationship="ODataDemo.Product_Supplier_Supplier_Products"
81
+ ToRole="Product_Supplier" FromRole="Supplier_Products" /></EntityType><ComplexType
82
+ Name="Address"><Property Name="Street" Type="Edm.String" /><Property Name="City"
83
+ Type="Edm.String" /><Property Name="State" Type="Edm.String" /><Property Name="ZipCode"
84
+ Type="Edm.String" /><Property Name="Country" Type="Edm.String" /></ComplexType><EntityType
85
+ Name="Person"><Key><PropertyRef Name="ID" /></Key><Property Name="ID" Type="Edm.Int32"
86
+ Nullable="false" /><Property Name="Name" Type="Edm.String" /><NavigationProperty
87
+ Name="PersonDetail" Relationship="ODataDemo.Person_PersonDetail_PersonDetail_Person"
88
+ ToRole="PersonDetail_Person" FromRole="Person_PersonDetail" /></EntityType><EntityType
89
+ Name="Customer" BaseType="ODataDemo.Person"><Property Name="TotalExpense"
90
+ Type="Edm.Decimal" Nullable="false" /></EntityType><EntityType Name="Employee"
91
+ BaseType="ODataDemo.Person"><Property Name="EmployeeID" Type="Edm.Int64" Nullable="false"
92
+ /><Property Name="HireDate" Type="Edm.DateTime" Nullable="false" /><Property
93
+ Name="Salary" Type="Edm.Single" Nullable="false" /></EntityType><EntityType
94
+ Name="PersonDetail"><Key><PropertyRef Name="PersonID" /></Key><Property Name="PersonID"
95
+ Type="Edm.Int32" Nullable="false" /><Property Name="Age" Type="Edm.Byte" Nullable="false"
96
+ /><Property Name="Gender" Type="Edm.Boolean" Nullable="false" /><Property
97
+ Name="Phone" Type="Edm.String" /><Property Name="Address" Type="ODataDemo.Address"
98
+ /><Property Name="Photo" Type="Edm.Stream" Nullable="false" /><NavigationProperty
99
+ Name="Person" Relationship="ODataDemo.Person_PersonDetail_PersonDetail_Person"
100
+ ToRole="Person_PersonDetail" FromRole="PersonDetail_Person" /></EntityType><EntityType
101
+ Name="Advertisement" m:HasStream="true"><Key><PropertyRef Name="ID" /></Key><Property
102
+ Name="ID" Type="Edm.Guid" Nullable="false" /><Property Name="Name" Type="Edm.String"
103
+ /><Property Name="AirDate" Type="Edm.DateTime" Nullable="false" /><NavigationProperty
104
+ Name="FeaturedProduct" Relationship="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"
105
+ ToRole="FeaturedProduct_Advertisement" FromRole="Advertisement_FeaturedProduct"
106
+ /></EntityType><Association Name="Product_Categories_Category_Products"><End
107
+ Type="ODataDemo.Category" Role="Category_Products" Multiplicity="*" /><End
108
+ Type="ODataDemo.Product" Role="Product_Categories" Multiplicity="*" /></Association><Association
109
+ Name="Product_Supplier_Supplier_Products"><End Type="ODataDemo.Supplier" Role="Supplier_Products"
110
+ Multiplicity="0..1" /><End Type="ODataDemo.Product" Role="Product_Supplier"
111
+ Multiplicity="*" /></Association><Association Name="Product_ProductDetail_ProductDetail_Product"><End
112
+ Type="ODataDemo.ProductDetail" Role="ProductDetail_Product" Multiplicity="0..1"
113
+ /><End Type="ODataDemo.Product" Role="Product_ProductDetail" Multiplicity="0..1"
114
+ /></Association><Association Name="FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"><End
115
+ Type="ODataDemo.Advertisement" Role="Advertisement_FeaturedProduct" Multiplicity="0..1"
116
+ /><End Type="ODataDemo.FeaturedProduct" Role="FeaturedProduct_Advertisement"
117
+ Multiplicity="0..1" /></Association><Association Name="Person_PersonDetail_PersonDetail_Person"><End
118
+ Type="ODataDemo.PersonDetail" Role="PersonDetail_Person" Multiplicity="0..1"
119
+ /><End Type="ODataDemo.Person" Role="Person_PersonDetail" Multiplicity="0..1"
120
+ /></Association><EntityContainer Name="DemoService" m:IsDefaultEntityContainer="true"><EntitySet
121
+ Name="Products" EntityType="ODataDemo.Product" /><EntitySet Name="ProductDetails"
122
+ EntityType="ODataDemo.ProductDetail" /><EntitySet Name="Categories" EntityType="ODataDemo.Category"
123
+ /><EntitySet Name="Suppliers" EntityType="ODataDemo.Supplier" /><EntitySet
124
+ Name="Persons" EntityType="ODataDemo.Person" /><EntitySet Name="PersonDetails"
125
+ EntityType="ODataDemo.PersonDetail" /><EntitySet Name="Advertisements" EntityType="ODataDemo.Advertisement"
126
+ /><FunctionImport Name="GetProductsByRating" ReturnType="Collection(ODataDemo.Product)"
127
+ EntitySet="Products" m:HttpMethod="GET"><Parameter Name="rating" Type="Edm.Int16"
128
+ Nullable="false" /></FunctionImport><AssociationSet Name="Products_Advertisement_Advertisements"
129
+ Association="ODataDemo.FeaturedProduct_Advertisement_Advertisement_FeaturedProduct"><End
130
+ Role="FeaturedProduct_Advertisement" EntitySet="Products" /><End Role="Advertisement_FeaturedProduct"
131
+ EntitySet="Advertisements" /></AssociationSet><AssociationSet Name="Products_Categories_Categories"
132
+ Association="ODataDemo.Product_Categories_Category_Products"><End Role="Product_Categories"
133
+ EntitySet="Products" /><End Role="Category_Products" EntitySet="Categories"
134
+ /></AssociationSet><AssociationSet Name="Products_Supplier_Suppliers" Association="ODataDemo.Product_Supplier_Supplier_Products"><End
135
+ Role="Product_Supplier" EntitySet="Products" /><End Role="Supplier_Products"
136
+ EntitySet="Suppliers" /></AssociationSet><AssociationSet Name="Products_ProductDetail_ProductDetails"
137
+ Association="ODataDemo.Product_ProductDetail_ProductDetail_Product"><End Role="Product_ProductDetail"
138
+ EntitySet="Products" /><End Role="ProductDetail_Product" EntitySet="ProductDetails"
139
+ /></AssociationSet><AssociationSet Name="Persons_PersonDetail_PersonDetails"
140
+ Association="ODataDemo.Person_PersonDetail_PersonDetail_Person"><End Role="Person_PersonDetail"
141
+ EntitySet="Persons" /><End Role="PersonDetail_Person" EntitySet="PersonDetails"
142
+ /></AssociationSet></EntityContainer><Annotations Target="ODataDemo.DemoService"><ValueAnnotation
143
+ Term="Org.OData.Display.V1.Description" String="This is a sample OData service
144
+ with vocabularies" /></Annotations><Annotations Target="ODataDemo.Product"><ValueAnnotation
145
+ Term="Org.OData.Display.V1.Description" String="All Products available in
146
+ the online store" /></Annotations><Annotations Target="ODataDemo.Product/Name"><ValueAnnotation
147
+ Term="Org.OData.Display.V1.DisplayName" String="Product Name" /></Annotations><Annotations
148
+ Target="ODataDemo.DemoService/Suppliers"><ValueAnnotation Term="Org.OData.Publication.V1.PublisherName"
149
+ String="Microsoft Corp." /><ValueAnnotation Term="Org.OData.Publication.V1.PublisherId"
150
+ String="MSFT" /><ValueAnnotation Term="Org.OData.Publication.V1.Keywords"
151
+ String="Inventory, Supplier, Advertisers, Sales, Finance" /><ValueAnnotation
152
+ Term="Org.OData.Publication.V1.AttributionUrl" String="http://www.odata.org/"
153
+ /><ValueAnnotation Term="Org.OData.Publication.V1.AttributionDescription"
154
+ String="All rights reserved" /><ValueAnnotation Term="Org.OData.Publication.V1.DocumentationUrl
155
+ " String="http://www.odata.org/" /><ValueAnnotation Term="Org.OData.Publication.V1.TermsOfUseUrl"
156
+ String="All rights reserved" /><ValueAnnotation Term="Org.OData.Publication.V1.PrivacyPolicyUrl"
157
+ String="http://www.odata.org/" /><ValueAnnotation Term="Org.OData.Publication.V1.LastModified"
158
+ String="4/2/2013" /><ValueAnnotation Term="Org.OData.Publication.V1.ImageUrl
159
+ " String="http://www.odata.org/" /></Annotations></Schema></edmx:DataServices></edmx:Edmx>
160
+ http_version: '1.1'
161
+ adapter_metadata:
162
+ effective_url: http://services.odata.org/OData/OData.svc/$metadata
163
+ recorded_at: Sat, 19 Jul 2014 02:59:53 GMT
164
+ recorded_with: VCR 2.9.2
@@ -1,22 +1,21 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe OData::EntitySet do
3
+ describe OData::EntitySet, vcr: {cassette_name: 'entity_set_specs'} do
4
+ before(:example) do
5
+ OData::Service.open('http://services.odata.org/OData/OData.svc')
6
+ end
7
+
4
8
  let(:subject) { OData::EntitySet.new(options) }
5
9
  let(:options) { {
6
10
  container: 'DemoService', namespace: 'ODataDemo', name: 'Products',
7
11
  type: 'Product'
8
12
  } }
9
13
 
10
- before(:example) do
11
- OData::Service.open('http://services.odata.org/OData/OData.svc')
12
- end
13
-
14
14
  it { expect(subject).to respond_to(:name) }
15
15
  it { expect(subject).to respond_to(:type) }
16
16
  it { expect(subject).to respond_to(:container) }
17
17
  it { expect(subject).to respond_to(:namespace) }
18
18
  it { expect(subject).to respond_to(:new_entity) }
19
- it { expect(subject).to respond_to(:filter) }
20
19
  it { expect(subject).to respond_to(:[]) }
21
20
  it { expect(subject).to respond_to(:<<) }
22
21
 
@@ -39,11 +38,16 @@ describe OData::EntitySet do
39
38
  }.call.shuffle.first).to be_a(OData::Entity) }
40
39
  end
41
40
 
41
+ it { expect(subject).to respond_to(:count) }
42
42
  describe '#count' do
43
- it { expect(subject).to respond_to(:count) }
44
43
  it { expect(subject.count).to eq(11) }
45
44
  end
46
45
 
46
+ it { expect(subject).to respond_to(:query) }
47
+ describe '#query' do
48
+ it { expect(subject.query).to be_a(OData::Query) }
49
+ end
50
+
47
51
  describe '#new_entity' do
48
52
  let(:new_entity) { subject.new_entity(properties) }
49
53
  let(:release_date) { DateTime.new(2014,7,5) }
@@ -65,21 +69,6 @@ describe OData::EntitySet do
65
69
  it { expect(new_entity['Price']).to eq(3.5) }
66
70
  end
67
71
 
68
- describe '#filter' do
69
- let(:one_entity) { "Name eq 'Bread'" }
70
- let(:many_entities) { 'Rating eq 3' }
71
-
72
- it { expect(subject.filter(one_entity)).to be_a(Array) }
73
- it { expect(subject.filter(one_entity).first).to be_a(OData::Entity) }
74
-
75
- it { expect(subject.filter(many_entities)).to be_a(Array) }
76
- it do
77
- subject.filter(one_entity).each do |entity|
78
- expect(entity).to be_a(OData::Entity)
79
- end
80
- end
81
- end
82
-
83
72
  describe '#[]' do
84
73
  let(:existing_entity) { subject[0] }
85
74
  let(:nonexistant_entity) { subject[99] }
@@ -103,28 +92,21 @@ describe OData::EntitySet do
103
92
  Price: 3.5
104
93
  } }
105
94
 
106
- it 'with an existing entity' do
107
- WebMock.stub_request(:post, 'http://services.odata.org/OData/OData.svc/Products(0)').
108
- to_return(status: 200, body: File.open('spec/fixtures/sample_service/product_0.xml'))
109
-
110
- expect {subject << existing_entity}.to_not raise_error
95
+ describe 'with an existing entity', vcr: {cassette_name: 'entity_set_specs/existing_entry'} do
96
+ it { expect {subject << existing_entity}.to_not raise_error }
111
97
  end
112
98
 
113
- it 'with a new entity' do
114
- WebMock.stub_request(:post, 'http://services.odata.org/OData/OData.svc/Products').
115
- to_return(status: 201, body: File.open('spec/fixtures/sample_service/product_9999.xml'))
116
-
117
- expect(new_entity['ID']).to be_nil
118
- expect {subject << new_entity}.to_not raise_error
119
- expect(new_entity['ID']).to_not be_nil
120
- expect(new_entity['ID']).to eq(9999)
99
+ describe 'with a new entity', vcr: {cassette_name: 'entity_set_specs/new_entry'} do
100
+ it do
101
+ expect(new_entity['ID']).to be_nil
102
+ expect {subject << new_entity}.to_not raise_error
103
+ expect(new_entity['ID']).to_not be_nil
104
+ expect(new_entity['ID']).to eq(9999)
105
+ end
121
106
  end
122
107
 
123
- it 'with a bad entity' do
124
- WebMock.stub_request(:post, 'http://services.odata.org/OData/OData.svc/Products').
125
- to_return(status: 400, body: nil)
126
-
127
- expect {subject << bad_entity}.to raise_error(StandardError, 'Something went wrong committing your entity')
108
+ describe 'with a bad entity', vcr: {cassette_name: 'entity_set_specs/bad_entry'} do
109
+ it { expect {subject << bad_entity}.to raise_error(StandardError, 'Something went wrong committing your entity') }
128
110
  end
129
111
  end
130
112
  end
@@ -1,6 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe OData::Entity do
3
+ describe OData::Entity, vcr: {cassette_name: 'entity_specs'} do
4
+ before(:example) do
5
+ OData::Service.open('http://services.odata.org/OData/OData.svc')
6
+ end
7
+
4
8
  let(:subject) { OData::Entity.new(options) }
5
9
  let(:options) { {
6
10
  type: 'ODataDemo.Product',
@@ -21,10 +25,6 @@ describe OData::Entity do
21
25
  document.xpath('//entry').first
22
26
  }
23
27
 
24
- before(:example) do
25
- OData::Service.open('http://services.odata.org/OData/OData.svc')
26
- end
27
-
28
28
  it { expect(OData::Entity).to respond_to(:from_xml) }
29
29
  it { expect(subject).to be_a(OData::Entity) }
30
30