Skip to content

Commit cd2ec63

Browse files
committed
Azure SQL Database SimpleTest for TeamCity
1 parent c84f6b1 commit cd2ec63

5 files changed

Lines changed: 36 additions & 18 deletions

File tree

Simple.Data.SqlTest/DatabaseHelper.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@ namespace Simple.Data.SqlTest
1111
{
1212
internal static class DatabaseHelper
1313
{
14-
public static readonly string ConnectionString =
14+
public static readonly string ConnectionString = GetConnectionString();
15+
16+
private static string GetConnectionString()
17+
{
1518
#if(MONO)
16-
"Data Source=10.37.129.4;Initial Catalog=SimpleTest;User ID=SimpleUser;Password=SimplePassword";
19+
return "Data Source=10.37.129.4;Initial Catalog=SimpleTest;User ID=SimpleUser;Password=SimplePassword";
1720
#else
18-
Properties.Settings.Default.ConnectionString;
21+
return Environment.GetEnvironmentVariable("SIMPLETESTDB") ?? Properties.Settings.Default.ConnectionString;
1922
#endif
23+
}
2024

2125
public static dynamic Open()
2226
{

Simple.Data.SqlTest/DatabaseOpenerTests.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ public void Setup()
2121
[Test]
2222
public void OpenNamedConnectionTest()
2323
{
24+
if (Environment.GetEnvironmentVariable("SIMPLETESTDB") != null)
25+
{
26+
Assert.Ignore();
27+
return;
28+
}
2429
var db = Database.OpenNamedConnection("Test");
2530
Assert.IsNotNull(db);
2631
var user = db.Users.FindById(1);
@@ -30,7 +35,7 @@ public void OpenNamedConnectionTest()
3035
[Test]
3136
public void TestProviderIsSqlProvider()
3237
{
33-
var provider = new ProviderHelper().GetProviderByConnectionString(Properties.Settings.Default.ConnectionString);
38+
var provider = new ProviderHelper().GetProviderByConnectionString(DatabaseHelper.ConnectionString);
3439
Assert.IsInstanceOf(typeof(SqlConnectionProvider), provider);
3540
}
3641

@@ -45,7 +50,7 @@ public void TestProviderIsSqlProviderFromOpen()
4550
[Test]
4651
public void TestProviderIsSqlProviderFromOpenConnection()
4752
{
48-
Database db = Database.OpenConnection(Properties.Settings.Default.ConnectionString);
53+
Database db = Database.OpenConnection(DatabaseHelper.ConnectionString);
4954
Assert.IsInstanceOf(typeof(AdoAdapter), db.GetAdapter());
5055
Assert.IsInstanceOf(typeof(SqlConnectionProvider), ((AdoAdapter)db.GetAdapter()).ConnectionProvider);
5156
}

Simple.Data.SqlTest/Resources/DatabaseReset.txt

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ BEGIN
8787
);
8888

8989
ALTER TABLE [dbo].[Users]
90-
ADD CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
90+
ADD CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED ([Id] ASC) ;
9191

9292
CREATE TABLE [dbo].[UsersWithChar] (
9393
[Id] INT IDENTITY (1, 1) NOT NULL,
@@ -97,7 +97,7 @@ BEGIN
9797
);
9898

9999
ALTER TABLE [dbo].[UsersWithChar]
100-
ADD CONSTRAINT [PK_UsersWithChar] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
100+
ADD CONSTRAINT [PK_UsersWithChar] PRIMARY KEY CLUSTERED ([Id] ASC) ;
101101

102102
CREATE TABLE [dbo].[Employee](
103103
[Id] [int] IDENTITY(1,1) NOT NULL,
@@ -114,7 +114,7 @@ BEGIN
114114
);
115115

116116
ALTER TABLE [dbo].[Orders]
117-
ADD CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED ([OrderId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
117+
ADD CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED ([OrderId] ASC) ;
118118

119119
CREATE TABLE [dbo].[OrderItems] (
120120
[OrderItemId] INT IDENTITY (1, 1) NOT NULL,
@@ -124,15 +124,15 @@ BEGIN
124124
);
125125

126126
ALTER TABLE [dbo].[OrderItems]
127-
ADD CONSTRAINT [PK_OrderItems] PRIMARY KEY CLUSTERED ([OrderItemId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
127+
ADD CONSTRAINT [PK_OrderItems] PRIMARY KEY CLUSTERED ([OrderItemId] ASC) ;
128128

129129
CREATE TABLE [dbo].[Images](
130130
[Id] [int] NOT NULL,
131131
[TheImage] [image] NOT NULL
132132
);
133133

134134
ALTER TABLE [dbo].[Images]
135-
ADD CONSTRAINT [PK_Images] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
135+
ADD CONSTRAINT [PK_Images] PRIMARY KEY CLUSTERED ([Id] ASC) ;
136136

137137
CREATE TABLE [dbo].[Items] (
138138
[ItemId] INT IDENTITY (1, 1) NOT NULL,
@@ -141,7 +141,7 @@ BEGIN
141141
);
142142

143143
ALTER TABLE [dbo].[Items]
144-
ADD CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED ([ItemId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
144+
ADD CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED ([ItemId] ASC) ;
145145

146146
CREATE TABLE [dbo].[Customers] (
147147
[CustomerId] INT IDENTITY (1, 1) NOT NULL,
@@ -150,15 +150,17 @@ BEGIN
150150
);
151151

152152
ALTER TABLE [dbo].[Customers]
153-
ADD CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED ([CustomerId] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
153+
ADD CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED ([CustomerId] ASC) ;
154154

155155
CREATE TABLE [dbo].[Notes](
156156
[NoteId] [int] IDENTITY(1,1) NOT NULL,
157157
[CustomerId] [int] NOT NULL,
158158
[Text] [nvarchar](50) NOT NULL,
159-
CONSTRAINT [PK_Notes] PRIMARY KEY CLUSTERED ( [NoteId] ASC) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY]
159+
CONSTRAINT [PK_Notes] PRIMARY KEY CLUSTERED ( [NoteId] ASC) )
160160

161-
CREATE TABLE [dbo].[PagingTest] ([Id] int not null, [Dummy] int);
161+
CREATE TABLE [dbo].[PagingTest] ([Id] int not null, [Dummy] int)
162+
163+
CREATE CLUSTERED INDEX [ci_azure_fixup_dbo_PagingTest] ON [dbo].[PagingTest] ( [Id] ASC )
162164

163165
CREATE TABLE [dbo].[Blobs](
164166
[Id] [int] NOT NULL,
@@ -188,6 +190,8 @@ BEGIN
188190
[Value] [decimal](20,6) NOT NULL
189191
)
190192

193+
CREATE CLUSTERED INDEX [ci_azure_fixup_dbo_DecimalTest] ON [dbo].[DecimalTest] ([Id] ASC)
194+
191195
CREATE TABLE [dbo].[GeographyTest](
192196
[Id] [int] IDENTITY(1,1) NOT NULL,
193197
[Description] [nvarchar](50) NOT NULL,
@@ -293,6 +297,8 @@ GO
293297

294298
CREATE TABLE [dbo].[SchemaTable] ([Id] int not null, [Description] nvarchar(100) not null);
295299
GO
300+
CREATE CLUSTERED INDEX [ci_azure_fixup_dbo_SchemaTable] ON [dbo].[SchemaTable] ( [Id] ASC)
301+
GO
296302
INSERT INTO [dbo].[SchemaTable] VALUES (1, 'Pass')
297303
GO
298304

@@ -301,6 +307,8 @@ GO
301307

302308
CREATE TABLE [test].[SchemaTable] ([Id] int not null, [Description] nvarchar(100) not null);
303309
GO
310+
CREATE CLUSTERED INDEX [ci_azure_fixup_test_SchemaTable] ON [test].[SchemaTable] ( [Id] ASC)
311+
GO
304312
INSERT INTO [test].[SchemaTable] VALUES (2, 'Pass')
305313
GO
306314

@@ -374,7 +382,7 @@ CREATE TABLE [dbo].[GroupTestMaster] (
374382
);
375383

376384
ALTER TABLE [dbo].[GroupTestMaster]
377-
ADD CONSTRAINT [PK_GroupTestMaster] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
385+
ADD CONSTRAINT [PK_GroupTestMaster] PRIMARY KEY CLUSTERED ([Id] ASC) ;
378386
GO
379387
CREATE TABLE [dbo].[GroupTestDetail] (
380388
[Id] INT IDENTITY (1, 1) NOT NULL,
@@ -384,7 +392,7 @@ CREATE TABLE [dbo].[GroupTestDetail] (
384392
);
385393

386394
ALTER TABLE [dbo].[GroupTestDetail]
387-
ADD CONSTRAINT [PK_GroupTestDetail] PRIMARY KEY CLUSTERED ([Id] ASC) WITH (ALLOW_PAGE_LOCKS = ON, ALLOW_ROW_LOCKS = ON, PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF, STATISTICS_NORECOMPUTE = OFF);
395+
ADD CONSTRAINT [PK_GroupTestDetail] PRIMARY KEY CLUSTERED ([Id] ASC) ;
388396

389397
ALTER TABLE [dbo].[GroupTestDetail] WITH NOCHECK
390398
ADD CONSTRAINT [FK_GroupTestDetail_GroupTestMaster] FOREIGN KEY ([MasterId]) REFERENCES [dbo].[GroupTestMaster] ([Id]) ON DELETE NO ACTION ON UPDATE NO ACTION;

Simple.Data.SqlTest/SchemaTests/DatabaseSchemaTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,8 @@ public void TestNewTableIsAddedToSchemaAfterReset()
7878
cmd.CommandText = @"IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[RuntimeTable]') AND type in (N'U'))
7979
DROP TABLE [dbo].[RuntimeTable]";
8080
cmd.ExecuteNonQuery();
81-
cmd.CommandText = "CREATE TABLE [dbo].[RuntimeTable] ([Id] int)";
81+
cmd.CommandText = @"CREATE TABLE [dbo].[RuntimeTable] ([Id] int,
82+
CONSTRAINT [PK_RuntimeTable] PRIMARY KEY CLUSTERED ( [Id] ASC))";
8283
cmd.ExecuteNonQuery();
8384
}
8485

Simple.Data.SqlTest/SetupFixture.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public void CreateStoredProcedures()
1919
var provider = new SqlServer.SqlConnectionProvider();
2020
Trace.Write("Loaded provider " + provider.GetType().Name);
2121

22-
using (var cn = new SqlConnection(Properties.Settings.Default.ConnectionString))
22+
using (var cn = new SqlConnection(DatabaseHelper.ConnectionString))
2323
{
2424
cn.Open();
2525
using (var cmd = cn.CreateCommand())

0 commit comments

Comments
 (0)