1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
namespace ProductivityApiUnitTests
{
using System;
using System.Data.Common;
using System.Data.Entity;
using System.Data.Entity.Config;
using System.Data.Entity.Infrastructure;
using System.Reflection;
using Xunit;
/// <summary>
/// Tests for Database.DefaultConnectionFactory and related infrastructure classes.
/// </summary>
public class DefaultConnectionFactoryTests : TestBase
{
#region DefaultConnectionFactory positive tests
[Fact]
public void DefaultConnectionFactory_is_SqlServerConnectionFactory()
{
#pragma warning disable 612,618
Assert.IsType<SqlConnectionFactory>(Database.DefaultConnectionFactory);
#pragma warning restore 612,618
Assert.IsType<SqlConnectionFactory>(DbConfiguration.GetService<IDbConnectionFactory>());
}
private class FakeConnectionFactory : IDbConnectionFactory
{
public DbConnection CreateConnection(string nameOrConnectionString)
{
throw new NotImplementedException();
}
}
[Fact]
public void Setting_DefaultConnectionFactory_after_configuration_override_is_in_place_has_no_effect()
{
try
{
#pragma warning disable 612,618
// This call will have no effect because the functional tests are setup with a DbConfiguration
// that explicitly overrides this using an OnLockingConfiguration handler.
Database.DefaultConnectionFactory = new FakeConnectionFactory();
Assert.IsType<SqlConnectionFactory>(Database.DefaultConnectionFactory);
#pragma warning restore 612,618
}
finally
{
typeof(Database).GetMethod("ResetDefaultConnectionFactory", BindingFlags.Static | BindingFlags.NonPublic).Invoke(null, null);
Database.ResetDefaultConnectionFactory();
}
}
#endregion
#region DefaultConnectionFactory negative tests
[Fact]
public void DefaultConnectionFactory_throws_when_set_to_null()
{
#pragma warning disable 612,618
Assert.Equal("value", Assert.Throws<ArgumentNullException>(() => Database.DefaultConnectionFactory = null).ParamName);
#pragma warning restore 612,618
}
#endregion
}
}
|