From 86c517f47b3d5eeb066b47b9c06eee339952f8b2 Mon Sep 17 00:00:00 2001 From: Manisha Reddy Date: Thu, 29 Jul 2021 16:14:27 +0530 Subject: [PATCH] UnitTest.Core First Commit --- UnitTests.Core/BaseUnitTest.cs | 157 ++++++++++++++++++++++++++ UnitTests.Core/BaseUnitTestManager.cs | 12 ++ UnitTests.Core/UnitTests.Core.csproj | 37 ++++++ 3 files changed, 206 insertions(+) create mode 100644 UnitTests.Core/BaseUnitTest.cs create mode 100644 UnitTests.Core/BaseUnitTestManager.cs create mode 100644 UnitTests.Core/UnitTests.Core.csproj diff --git a/UnitTests.Core/BaseUnitTest.cs b/UnitTests.Core/BaseUnitTest.cs new file mode 100644 index 0000000..e1db07a --- /dev/null +++ b/UnitTests.Core/BaseUnitTest.cs @@ -0,0 +1,157 @@ +using System; +using Unibase.Data.Sql; +using Unibase.Dependency; +using Unibase.Platform.Data; +using Unibase.Security.Principal; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Configuration; +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); + var 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, 2); + 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); + var 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, 2); + 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=unittest_common;User id=postgres;Password=Bizgaze@123"; + string tenantconnectionstring = "server=localhost;port=5432;Database=unittest_tenant;User id=postgres;Password=Bizgaze@123"; + //Unibase.Web.Server.Startup(IConfiguration configuration); + // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); + var container = DependencyConfig.GetContainer(); + container.RegisterType("NsDbRepository"); + container.RegisterType(); + // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection); + SqlDialect.Default(new Unibase.Data.DbProviders.PgSqlDbProvider.DbContext().Dialect); + container.RegisterType(); + DbRegistry.RegisterDatabase(commondbid, connectionstring); + DbRegistry.RegisterDatabase(tenantdbid, tenantconnectionstring); + 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; + } + } +} + diff --git a/UnitTests.Core/BaseUnitTestManager.cs b/UnitTests.Core/BaseUnitTestManager.cs new file mode 100644 index 0000000..f31bffa --- /dev/null +++ b/UnitTests.Core/BaseUnitTestManager.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace UnitTests.Core +{ + public class BaseUnitTestManager:Unibase.Platform.Managers.BaseManager + { + } +} diff --git a/UnitTests.Core/UnitTests.Core.csproj b/UnitTests.Core/UnitTests.Core.csproj new file mode 100644 index 0000000..351bd88 --- /dev/null +++ b/UnitTests.Core/UnitTests.Core.csproj @@ -0,0 +1,37 @@ + + + + net5.0 + + + + + + + + + + + + + + ..\..\dlls_unibase\Unibase.Core.dll + + + ..\..\dlls_unibase\Unibase.DbProviders.MongoDbProvider.dll + + + ..\..\dlls_unibase\Unibase.DbProviders.PgSqlDbProvider.dll + + + ..\..\dlls_unibase\Unibase.Platform.Apps.dll + + + ..\..\dlls_unibase\Unibase.Platform.Core.dll + + + ..\..\dlls_unibase\Unibase.Platform.Membership.dll + + + +