using System; using Unibase.Data.Sql; using Unibase.Dependency; using Unibase.Platform.Data; using Unibase.Security.Principal; using Unibase.Data; using System.Dynamic; using Unibase.Platform.Managers; namespace UnitTests.Core { public abstract class BaseUnitTest { private static AppIdentity _salesPersonIdentity = null; private static AppIdentity _adminIdentity = null; private static AppIdentity _hrIdentity = null; private static AppIdentity _Identity = null; private static bool _initialize = false; // private static AppIdentity _Identity = null; public AppIdentity GetAdminIdentity(string sessionid) { return _adminIdentity == null ? BuildAdminIdentity(sessionid) : _adminIdentity; } public AppIdentity GetIdentity(string sessionid) { return _Identity == null ? BuildIdentity(sessionid) : _Identity; } public AppIdentity GetSalesPersonIdentity(string sessionid) { return _adminIdentity == null ? BuildSalesPersonIdentity(sessionid) : _adminIdentity; } public AppIdentity GetHrExecutiveIdentity() { return _adminIdentity == null ? BuildHrExecutiveIdentity() : _hrIdentity; } AppIdentity BuildAdminIdentity(string sessionid) { // _adminIdentity = new AppIdentity() { }; // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); // SqlDialect.Default(new Data.DbProviders.PgSqlDbProvider.DbContext().Dialect); if (_initialize == false) { Initialize(); } var identity = new Unibase.Security.Principal.AppIdentity("", 0); SelectRequest request = new SelectRequest(null) { Identity = identity }; if (sessionid == null) { sessionid = "9e5af21ec1a24c0293fc3dda352cdd93 "; } //var _usermanger = DependencyConfig.Resolve(); //var response = _usermanger.SignIn(request, "anji@gmail.com", "123456", true, false); var response = Unibase.Platform.Membership.IdentityRegistry.GetIdentityByStaticSessionandTenantid(sessionid, 1); return response; } AppIdentity BuildIdentity(string sessionid) { // _adminIdentity = new AppIdentity() { }; // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); // SqlDialect.Default(new Data.DbProviders.PgSqlDbProvider.DbContext().Dialect); if (_initialize == false) { Initialize(); } var identity = new Unibase.Security.Principal.AppIdentity("", 0); SelectRequest request = new SelectRequest(null) { Identity = identity }; if (sessionid == null) { sessionid = "9e5af21ec1a24c0293fc3dda352cdd93"; } // var unibaseid = "274949a46ed54b2c887169ba078fe7e8"; // var _usermanger = DependencyConfig.Resolve(); // var identityresponse = _usermanger.GenerateSession(unibaseid); //var response = _usermanger.SignIn(request, "anji@gmail.com", "123456", true, false); var response = Unibase.Platform.Membership.IdentityRegistry.GetIdentityByStaticSessionandTenantid(sessionid, 1); return response; } AppIdentity BuildSalesPersonIdentity(string sessionid) { _salesPersonIdentity = new AppIdentity() { }; return _salesPersonIdentity; } AppIdentity BuildHrExecutiveIdentity() { _salesPersonIdentity = new AppIdentity() { }; return _salesPersonIdentity; } Boolean Initialize() { string commondbid = "0"; string tenantdbid = "1"; string connectionstring = "server=localhost;port=5432;Database=common_88_unittest;User id=postgres;Password=Bizgaze@123"; string tenantconnectionstring = "server=localhost;port=5432;Database=unittest_88;User id=postgres;Password=Bizgaze@123"; //Unibase.Web.Server.Startup(IConfiguration configuration); // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); var container = DependencyConfig.GetContainer(); DependencyConfig.Register(); container.RegisterType(); container.RegisterType("NsDbRepository"); container.RegisterType(); container.RegisterType(); // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); SqlDialect.Default(new Unibase.Data.DbProviders.PgSqlDbProvider.DbContext().Dialect); container.RegisterType(); Unibase.Dependency.StartupConfig.Register(); container.RegisterType(); DbRegistry.RegisterDatabase(commondbid, connectionstring); DbRegistry.RegisterDatabase(tenantdbid, tenantconnectionstring); Unibase.Data.DbRegistry.RegisterDatabase("nsdb_" + tenantdbid, "common_88_unittest"); Unibase.Dependency.DependencyConfig.Resolve(); _initialize = true; return _initialize; } public ActionResponse Set( ActionRequest request ,string formuniqueid, ExpandoObject options) { //var request = new ActionRequest(); //if (request.Identity == null) //{ // request.Identity = GetAdminIdentity(); //} SelectRequest srequest = SelectRequest.FromRequest(request); request.DisableEventLog = true; // var _dataapimanger = DependencyConfig.Resolve(); //var data = _dataapimanger.Set(request, options); var _formmanager = DependencyConfig.Resolve(); if (!String.IsNullOrEmpty(formuniqueid)) { var forminfo = _formmanager.GetForm(srequest, formuniqueid).Result; if (forminfo != null) { var response = _formmanager.SaveDynForm(request, forminfo.FormId, options); if (response.Status == ResponseStatus.Error) { return ActionResponse.CreateErrorResponse("error", response.Message); } } } return ActionResponse.CreateSuccessResponse("UnitTest Success"); } public Unibase.Platform.Data.Enums.PermissionLevel CheckPermission(ActionRequest request) { SelectRequest srequest= SelectRequest.FromRequest(request); BaseUnitTestManager _baseunittestmanager = new BaseUnitTestManager(); var permissionlevel = _baseunittestmanager.CheckPermission(srequest); return permissionlevel; } } }