public readonly string CurrentNHibernateSessionKey = Guid.NewGuid().ToString(); //= "CurrentNHibernateSession.Key"; #region << Static Method >> /// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <returns>테스트용 UnitOfWork</returns> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> public static UnitOfWorkTestContext For(string containerConfigPath, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action <NHibernate.Cfg.Configuration> configAction) { return(new NHUnitOfWorkTestContext(dbStrategy, containerConfigPath, mappingInfo, configAction)); }
/// <summary> /// 생성자 /// </summary> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="windsorConfigPath">IoC 환경설정 파일경로</param> /// <param name="mappingInfo">NHibernate 매핑 정보</param> /// <param name="configAction">Configuration 빌드 시 추가할 사항을 정의한 Action</param> public NHUnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string windsorConfigPath, MappingInfo mappingInfo, Action <Configuration> configAction) : base(dbStrategy, windsorConfigPath, mappingInfo, configAction) { }
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <returns>테스트용 UnitOfWork</returns> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> /// <param name="conventions">명명규칙</param> public static UnitOfWorkTestContext FluentFor(string containerConfigPath, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action<NHibernate.Cfg.Configuration> configAction, params IConvention[] conventions) { return new FluentNHUnitOfWorkTestContext(dbStrategy, containerConfigPath, mappingInfo, configAction, conventions); }
public FluentNHUnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string windsorConfigPath, MappingInfo mappingInfo, Action<Configuration> configAction, params IConvention[] conventions) : base(dbStrategy, windsorConfigPath, mappingInfo, configAction) { _conventions = conventions; }
public void CanCreateUnitOfWorkContextFor_MsSql2005Express() { if (UnitOfWorkTestContextDbStrategy.IsSqlServer2005OrAboveInstalled()) { VerifyCanCreateUnitOfWorkContextFor(null, DatabaseEngine.MsSql2005Express); VerifyCanCreateUseAndDisposeSession(); } }
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <returns>테스트용 UnitOfWork</returns> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> /// <param name="conventions">명명규칙</param> public static UnitOfWorkTestContext FluentFor(string containerConfigPath, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action <NHibernate.Cfg.Configuration> configAction, params IConvention[] conventions) { return(new FluentNHUnitOfWorkTestContext(dbStrategy, containerConfigPath, mappingInfo, configAction, conventions)); }
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="container">Container</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> /// <returns>테스트용 UnitOfWork</returns> public static UnitOfWorkTestContext For(IWindsorContainer container, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action<NHibernate.Cfg.Configuration> configAction) { var context = For(string.Empty, dbStrategy, mappingInfo, configAction); context._container = container; return context; }
public void CanCreateUnitOfWorkContextFor_MsSql2005_IoC() { if (UnitOfWorkTestContextDbStrategy.IsSqlServer2005OrAboveInstalled()) { VerifyCanCreateUnitOfWorkContextFor(ContainerFilePath, DatabaseEngine.MsSql2005); VerifyCanCreateUseAndDisposeSession(); VerifyCanCreateUseAndDisposeUnitOfWork(); } }
public FluentNHUnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string windsorConfigPath, MappingInfo mappingInfo, Action <Configuration> configAction, params IConvention[] conventions) : base(dbStrategy, windsorConfigPath, mappingInfo, configAction) { _conventions = conventions; }
public void NewUnitOfWorkContextCreatedForDifferentDatabaseNames() { if (UnitOfWorkTestContextDbStrategy.IsSqlServer2005OrAboveInstalled()) { VerifyCanCreateUnitOfWorkContextFor(ContainerFilePath, DatabaseEngine.MsSql2005, "TestDb1"); VerifyCanCreateUnitOfWorkContextFor(ContainerFilePath, DatabaseEngine.MsSql2005, "TestDb2"); Assert.AreEqual(2, Contexts.Count); } }
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="container">Container</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> /// <returns>테스트용 UnitOfWork</returns> public static UnitOfWorkTestContext For(IWindsorContainer container, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action <NHibernate.Cfg.Configuration> configAction) { var context = For(string.Empty, dbStrategy, mappingInfo, configAction); context._container = container; return(context); }
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="mappingInfo">NHibernate 매핑 정보</param> /// <param name="configAction">Configuration 빌드 시 추가할 사항을 정의한 Action</param> protected UnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string containerConfigPath, MappingInfo mappingInfo, Action <NHibernate.Cfg.Configuration> configAction) { _containerConfigPath = containerConfigPath ?? string.Empty; _dbStrategy = dbStrategy; _mappingInfo = mappingInfo; _dbStrategy.TestContext = this; ConfigAction = configAction; }
/// <summary> /// Release unmanaged resources. 내부 Container를 메모리에서 해제한다. /// </summary> public void Dispose() { _dbStrategy = null; _mappingInfo = null; UnitOfWork.Stop(); //UnitOfWork.CurrentSession = null; if (_container != null) { _container.Dispose(); _container = null; } }
protected internal UnitOfWorkTestContext GetUnitOfWorkTestContext() { Predicate <UnitOfWorkTestContext> criteria; if (_container == null) { criteria = ctx => ctx.ContainerConfigPath == StringOrEmpty(_containerConfigPath) && ctx.DatabaseEngine == _root.DatabaseEngine && ctx.DatabaseName == _root.DatabaseName; } else { criteria = ctx => ctx.Container == _container && ctx.DatabaseEngine == _root.DatabaseEngine && ctx.DatabaseName == _root.DatabaseName; } var context = Contexts.Find(criteria); if (context == null) { var dbStrategy = UnitOfWorkTestContextDbStrategy.For(_root.DatabaseEngine, _root.DatabaseName, _root.NHibernateConfigurationProperties); context = (_container != null) ? UnitOfWorkTestContext.FluentFor(_container, dbStrategy, _root.MappingInfo, _root.ConfigAction, _root.Conventions) : UnitOfWorkTestContext.FluentFor(_containerConfigPath, dbStrategy, _root.MappingInfo, _root.ConfigAction, _root.Conventions); Contexts.Add(context); if (IsDebugEnabled) { log.Debug("Create another UnitOfWorkContext for: [{0}]", context); } } return(context); }
/// <summary> /// 생성자 /// </summary> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="windsorConfigPath">IoC 환경설정 파일경로</param> /// <param name="mappingInfo">NHibernate 매핑 정보</param> /// <param name="configAction">Configuration 빌드 시 추가할 사항을 정의한 Action</param> public NHUnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string windsorConfigPath, MappingInfo mappingInfo, Action<Configuration> configAction) : base(dbStrategy, windsorConfigPath, mappingInfo, configAction) {}
/// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="mappingInfo">NHibernate 매핑 정보</param> /// <param name="configAction">Configuration 빌드 시 추가할 사항을 정의한 Action</param> protected UnitOfWorkTestContext(UnitOfWorkTestContextDbStrategy dbStrategy, string containerConfigPath, MappingInfo mappingInfo, Action<NHibernate.Cfg.Configuration> configAction) { _containerConfigPath = containerConfigPath ?? string.Empty; _dbStrategy = dbStrategy; _mappingInfo = mappingInfo; _dbStrategy.TestContext = this; ConfigAction = configAction; }
public readonly string CurrentNHibernateSessionKey = Guid.NewGuid().ToString(); //= "CurrentNHibernateSession.Key"; #region << Static Method >> /// <summary> /// 인자에 맞는 <see cref="UnitOfWorkTestContext"/>의 인스턴스를 빌드한다. /// </summary> /// <param name="containerConfigPath">IoC 환경설정 파일경로</param> /// <param name="dbStrategy">테스트용 DB 생성 전략</param> /// <param name="mappingInfo">NHibernate용 Entity 정보</param> /// <returns>테스트용 UnitOfWork</returns> /// <param name="configAction">추가 환경설정 작업용 델리게이트</param> public static UnitOfWorkTestContext For(string containerConfigPath, UnitOfWorkTestContextDbStrategy dbStrategy, MappingInfo mappingInfo, Action<NHibernate.Cfg.Configuration> configAction) { return new NHUnitOfWorkTestContext(dbStrategy, containerConfigPath, mappingInfo, configAction); }
/// <summary> /// Release unmanaged resources. 내부 Container를 메모리에서 해제한다. /// </summary> public void Dispose() { _dbStrategy = null; _mappingInfo = null; UnitOfWork.Stop(); //UnitOfWork.CurrentSession = null; if(_container != null) { _container.Dispose(); _container = null; } }