Skip to content

Commit d9d5c5b

Browse files
committed
Add ability to run tests against managed ODP.NET
1 parent 6f4ba3f commit d9d5c5b

File tree

3 files changed

+312
-1
lines changed

3 files changed

+312
-1
lines changed
Lines changed: 298 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,298 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
3+
<xs:simpleType name="parameterDirection">
4+
<xs:restriction base="xs:string">
5+
<xs:enumeration value="Output"/>
6+
<xs:enumeration value="InputOutput"/>
7+
<xs:enumeration value="ReturnValue"/>
8+
</xs:restriction>
9+
</xs:simpleType>
10+
<xs:simpleType name="customBoolean">
11+
<xs:restriction base="xs:string">
12+
<xs:enumeration value="true"/>
13+
<xs:enumeration value="false"/>
14+
</xs:restriction>
15+
</xs:simpleType>
16+
<xs:simpleType name="ONSParameters">
17+
<xs:restriction base="xs:string">
18+
<xs:enumeration value="nodeList"/>
19+
<!--<xs:enumeration value="walletFile"/>
20+
<xs:enumeration value="walletPassword"/>-->
21+
</xs:restriction>
22+
</xs:simpleType>
23+
<xs:simpleType name="ONSModeValues">
24+
<xs:restriction base="xs:string">
25+
<xs:enumeration value="local"/>
26+
<xs:enumeration value="remote"/>
27+
</xs:restriction>
28+
</xs:simpleType>
29+
30+
<xs:simpleType name="datatype">
31+
<xs:restriction base="xs:string">
32+
<xs:enumeration value="System.Byte[]"/>
33+
<xs:enumeration value="System.Decimal"/>
34+
<xs:enumeration value="System.String"/>
35+
<xs:enumeration value="System.DateTime"/>
36+
<xs:enumeration value="System.DateTimeOffset"/>
37+
<xs:enumeration value="System.TimeSpan"/>
38+
<xs:enumeration value="System.Int64"/>
39+
<xs:enumeration value="System.Boolean"/>
40+
<xs:enumeration value="System.Char"/>
41+
<xs:enumeration value="System.Double"/>
42+
<xs:enumeration value="System.Guid"/>
43+
<xs:enumeration value="System.Int16"/>
44+
<xs:enumeration value="System.Int32"/>
45+
<xs:enumeration value="System.SByte"/>
46+
<xs:enumeration value="System.UInt16"/>
47+
<xs:enumeration value="System.UInt32"/>
48+
<xs:enumeration value="System.UInt64"/>
49+
<xs:enumeration value="System.Single"/>
50+
<xs:enumeration value="System.Array"/>
51+
<xs:enumeration value="System.Byte"/>
52+
<xs:enumeration value="System.Binary"/>
53+
</xs:restriction>
54+
</xs:simpleType>
55+
56+
<xs:simpleType name="providerType">
57+
<xs:restriction base="xs:string">
58+
<xs:enumeration value="BFile"/>
59+
<xs:enumeration value="BinaryFloat"/>
60+
<xs:enumeration value="BinaryDouble"/>
61+
<xs:enumeration value="Blob"/>
62+
<xs:enumeration value="Byte"/>
63+
<xs:enumeration value="Char"/>
64+
<xs:enumeration value="Clob"/>
65+
<xs:enumeration value="Date"/>
66+
<xs:enumeration value="Decimal"/>
67+
<xs:enumeration value="Double"/>
68+
<xs:enumeration value="Int16"/>
69+
<xs:enumeration value="Int32"/>
70+
<xs:enumeration value="Int64"/>
71+
<xs:enumeration value="IntervalDS"/>
72+
<xs:enumeration value="IntervalYM"/>
73+
<xs:enumeration value="Long"/>
74+
<xs:enumeration value="LongRaw"/>
75+
<xs:enumeration value="NChar"/>
76+
<xs:enumeration value="NClob"/>
77+
<xs:enumeration value="NVarchar2"/>
78+
<xs:enumeration value="Raw"/>
79+
<xs:enumeration value="RefCursor"/>
80+
<xs:enumeration value="Single"/>
81+
<xs:enumeration value="TimeStamp"/>
82+
<xs:enumeration value="TimeStampLTZ"/>
83+
<xs:enumeration value="TimeStampTZ"/>
84+
<xs:enumeration value="Varchar2"/>
85+
<xs:enumeration value="XmlType"/>
86+
</xs:restriction>
87+
</xs:simpleType>
88+
89+
<xs:simpleType name="nativeDataType">
90+
<xs:restriction base="xs:string">
91+
<xs:enumeration value="BFile"/>
92+
<xs:enumeration value="Binary_Float"/>
93+
<xs:enumeration value="Binary_Double"/>
94+
<xs:enumeration value="Blob"/>
95+
<xs:enumeration value="Byte"/>
96+
<xs:enumeration value="Char"/>
97+
<xs:enumeration value="Clob"/>
98+
<xs:enumeration value="Date"/>
99+
<xs:enumeration value="Number"/>
100+
<xs:enumeration value="Float"/>
101+
<xs:enumeration value="Integer"/>
102+
<xs:enumeration value="Interval Day To Second"/>
103+
<xs:enumeration value="Interval Year To Month"/>
104+
<xs:enumeration value="Long"/>
105+
<xs:enumeration value="Long Raw"/>
106+
<xs:enumeration value="NChar"/>
107+
<xs:enumeration value="NClob"/>
108+
<xs:enumeration value="NVarchar2"/>
109+
<xs:enumeration value="Raw"/>
110+
<xs:enumeration value="Ref Cursor"/>
111+
<xs:enumeration value="Timestamp"/>
112+
<xs:enumeration value="Timestamp With Local Time Zone"/>
113+
<xs:enumeration value="Timestamp With Time Zone"/>
114+
<xs:enumeration value="Varchar2"/>
115+
<xs:enumeration value="XmlType"/>
116+
</xs:restriction>
117+
</xs:simpleType>
118+
119+
<xs:simpleType name="providerDBType">
120+
<xs:restriction base="xs:string">
121+
<xs:enumeration value="Binary"/>
122+
<xs:enumeration value="Boolean"/>
123+
<xs:enumeration value="Byte"/>
124+
<xs:enumeration value="Currency"/>
125+
<xs:enumeration value="Date"/>
126+
<xs:enumeration value="DateTime"/>
127+
<xs:enumeration value="Decimal"/>
128+
<xs:enumeration value="Double"/>
129+
<xs:enumeration value="Guid"/>
130+
<xs:enumeration value="Int16"/>
131+
<xs:enumeration value="Int32"/>
132+
<xs:enumeration value="Int64"/>
133+
<xs:enumeration value="Object"/>
134+
<xs:enumeration value="SByte"/>
135+
<xs:enumeration value="Single"/>
136+
<xs:enumeration value="String"/>
137+
<xs:enumeration value="StringFixedLength"/>
138+
<xs:enumeration value="Time"/>
139+
<xs:enumeration value="UInt16"/>
140+
<xs:enumeration value="UInt32"/>
141+
<xs:enumeration value="Uint64"/>
142+
<xs:enumeration value="VarNumeric"/>
143+
<xs:enumeration value="Xml"/>
144+
<xs:enumeration value="DateTimeOffset"/>
145+
</xs:restriction>
146+
</xs:simpleType>
147+
148+
<xs:element name="oracle.manageddataaccess.client" >
149+
<xs:complexType>
150+
<xs:choice minOccurs="0" maxOccurs="unbounded">
151+
<xs:element name="version" type="versiontype" minOccurs="0" />
152+
</xs:choice>
153+
</xs:complexType>
154+
</xs:element>
155+
<xs:complexType name="versiontype">
156+
<xs:complexContent>
157+
<xs:extension base="parameters">
158+
<xs:attribute name="number" type="xs:string" use="required" />
159+
</xs:extension>
160+
</xs:complexContent>
161+
</xs:complexType>
162+
163+
<xs:complexType name="parameters">
164+
<xs:all>
165+
<xs:element minOccurs="0" name="settings">
166+
<xs:complexType>
167+
<xs:sequence>
168+
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
169+
<xs:complexType>
170+
<xs:attribute name="name" type="xs:string" use="required" />
171+
<xs:attribute name="value" type="xs:string" use="required" />
172+
</xs:complexType>
173+
</xs:element>
174+
</xs:sequence>
175+
</xs:complexType>
176+
</xs:element>
177+
<xs:element minOccurs="0" name="distributedTransaction">
178+
<xs:complexType>
179+
<xs:sequence>
180+
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
181+
<xs:complexType>
182+
<xs:attribute name="name" type="xs:string" use="required" />
183+
<xs:attribute name="value" type="xs:string" use="required" />
184+
</xs:complexType>
185+
</xs:element>
186+
</xs:sequence>
187+
</xs:complexType>
188+
</xs:element>
189+
<xs:element minOccurs="0" name="dataSources">
190+
<xs:complexType>
191+
<xs:sequence>
192+
<xs:element maxOccurs="unbounded" minOccurs="0" name="dataSource">
193+
<xs:complexType>
194+
<xs:attribute name="alias" type="xs:string" use="required" />
195+
<xs:attribute name="descriptor" type="xs:string" use="required" />
196+
</xs:complexType>
197+
</xs:element>
198+
</xs:sequence>
199+
</xs:complexType>
200+
</xs:element>
201+
<xs:element minOccurs="0" name="edmMappings">
202+
<xs:complexType>
203+
<xs:sequence>
204+
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmMapping">
205+
<xs:complexType>
206+
<xs:sequence>
207+
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
208+
<xs:complexType>
209+
<xs:attribute name="name" type="xs:string" use="required" />
210+
<xs:attribute name="precision" type="xs:int" use="required" />
211+
</xs:complexType>
212+
</xs:element>
213+
</xs:sequence>
214+
<xs:attribute name="dataType" type="xs:string" use="required" />
215+
</xs:complexType>
216+
</xs:element>
217+
</xs:sequence>
218+
</xs:complexType>
219+
</xs:element>
220+
<xs:element minOccurs="0" name="implicitRefCursor">
221+
<xs:complexType>
222+
<xs:sequence>
223+
<xs:element maxOccurs="unbounded" minOccurs="0" name="storedProcedure">
224+
<xs:complexType>
225+
<xs:sequence>
226+
<xs:element maxOccurs="unbounded" minOccurs="0" name="refCursor">
227+
<xs:complexType>
228+
<xs:sequence>
229+
<xs:element maxOccurs="1" minOccurs="1" name="bindInfo">
230+
<xs:complexType>
231+
<xs:attribute name="mode" type="parameterDirection" use="required" />
232+
</xs:complexType>
233+
</xs:element>
234+
<xs:element maxOccurs="unbounded" minOccurs="1" name="metadata">
235+
<xs:complexType>
236+
<xs:attribute name="columnOrdinal" type="xs:int" use="required" />
237+
<xs:attribute name="columnName" type="xs:string" use="required" />
238+
<xs:attribute name="baseColumnName" type="xs:string" use="optional" />
239+
<xs:attribute name="baseSchemaName" type="xs:string" use="optional" />
240+
<xs:attribute name="baseTableName" type="xs:string" use="optional" />
241+
<xs:attribute name="providerType" type="providerType" use="optional" />
242+
<xs:attribute name="columnSize" type="xs:int" use="optional" />
243+
<xs:attribute name="numericPrecision" type="xs:int" use="optional" />
244+
<xs:attribute name="numericScale" type="xs:int" use="optional" />
245+
<xs:attribute name="isUnique" type="customBoolean" use="optional" />
246+
<xs:attribute name="isKey" type="customBoolean" use="optional" />
247+
<xs:attribute name="isRowID" type="customBoolean" use="optional" />
248+
<xs:attribute name="dataType" type="datatype" use="optional" />
249+
<xs:attribute name="allowDBNull" type="customBoolean" use="optional" />
250+
<xs:attribute name="isAliased" type="customBoolean" use="optional" />
251+
<xs:attribute name="isByteSemantic" type="customBoolean" use="optional" />
252+
<xs:attribute name="isExpression" type="customBoolean" use="optional" />
253+
<xs:attribute name="isHidden" type="customBoolean" use="optional" />
254+
<xs:attribute name="isReadOnly" type="customBoolean" use="optional" />
255+
<xs:attribute name="isLong" type="customBoolean" use="optional" />
256+
<xs:attribute name="udtTypeName" type="xs:string" use="optional" />
257+
<xs:attribute name="nativeDataType" type="nativeDataType" use="optional" />
258+
<xs:attribute name="providerDBType" type="providerDBType" use="optional" />
259+
<xs:attribute name="objectName" type="xs:string" use="optional" />
260+
</xs:complexType>
261+
</xs:element>
262+
</xs:sequence>
263+
<xs:attribute name="name" type="xs:string" use="optional" />
264+
<xs:attribute name="position" type="xs:int" use="optional" />
265+
</xs:complexType>
266+
</xs:element>
267+
</xs:sequence>
268+
<xs:attribute name="schema" type="xs:string" use="required" />
269+
<xs:attribute name="name" type="xs:string" use="required" />
270+
</xs:complexType>
271+
</xs:element>
272+
</xs:sequence>
273+
</xs:complexType>
274+
</xs:element>
275+
<xs:element minOccurs="0" name="onsConfig">
276+
<xs:complexType>
277+
<xs:sequence>
278+
<xs:element minOccurs="0" maxOccurs="unbounded" name="ons">
279+
<xs:complexType>
280+
<xs:sequence>
281+
<xs:element maxOccurs="3" minOccurs="1" name="add">
282+
<xs:complexType>
283+
<xs:attribute name="name" type="ONSParameters" use="required" />
284+
<xs:attribute name="value" type="xs:string" use="required" />
285+
</xs:complexType>
286+
</xs:element>
287+
</xs:sequence>
288+
<xs:attribute name="database" type="xs:string" use="required" />
289+
</xs:complexType>
290+
</xs:element>
291+
</xs:sequence>
292+
<xs:attribute name="configFile" type="xs:string" use="optional" />
293+
<xs:attribute name="mode" type="ONSModeValues" use="required" />
294+
</xs:complexType>
295+
</xs:element>
296+
</xs:all>
297+
</xs:complexType>
298+
</xs:schema>
Binary file not shown.

teamcity.build

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,20 @@
116116
</copy>
117117
<property name="NHibernate.Test.IgnoreFail" value="true" />
118118
<property name="teamcity.last.result" value="${root.dir}/lib/teamcity/oracle/NHibernate.Test.last-results.xml" />
119-
</target>
119+
</target>
120+
121+
<target name="setup-teamcity-oracle">
122+
<property name="nhibernate.connection.driver_class" value="NHibernate.Driver.OracleManagedDataClientDriver" />
123+
<property name="nhibernate.dialect" value="NHibernate.Dialect.Oracle10gDialect" />
124+
<property name="nhibernate.connection.connection_string" value="User ID=nhibernate;Password=nhibernate;Data Source=XE" />
125+
<copy todir="${bin.dir}">
126+
<fileset basedir="${root.dir}/lib/teamcity/oracle/managed">
127+
<include name="*.dll"/>
128+
</fileset>
129+
</copy>
130+
<property name="NHibernate.Test.IgnoreFail" value="true" />
131+
<property name="teamcity.last.result" value="${root.dir}/lib/teamcity/oracle/NHibernate.Test.last-results.xml" />
132+
</target>
120133

121134
<target name="setup-teamcity-mysql">
122135
<property name="nhibernate.connection.driver_class" value="NHibernate.Driver.MySqlDataDriver" />

0 commit comments

Comments
 (0)