Base repository for all unit tests
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

BaseUnitTest.cs 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. using System;
  2. using Unibase.Data.Sql;
  3. using Unibase.Dependency;
  4. using Unibase.Platform.Data;
  5. using Unibase.Security.Principal;
  6. using Unibase.Data;
  7. using System.Dynamic;
  8. using Unibase.Platform.Managers;
  9. namespace UnitTests.Core
  10. {
  11. public abstract class BaseUnitTest
  12. {
  13. private static AppIdentity _salesPersonIdentity = null;
  14. private static AppIdentity _adminIdentity = null;
  15. private static AppIdentity _hrIdentity = null;
  16. private static AppIdentity _Identity = null;
  17. private static bool _initialize = false;
  18. // private static AppIdentity _Identity = null;
  19. public AppIdentity GetAdminIdentity(string sessionid)
  20. {
  21. return _adminIdentity == null ? BuildAdminIdentity(sessionid) : _adminIdentity;
  22. }
  23. public AppIdentity GetIdentity(string sessionid)
  24. {
  25. return _Identity == null ? BuildIdentity(sessionid) : _Identity;
  26. }
  27. public AppIdentity GetSalesPersonIdentity(string sessionid)
  28. {
  29. return _adminIdentity == null ? BuildSalesPersonIdentity(sessionid) : _adminIdentity;
  30. }
  31. public AppIdentity GetHrExecutiveIdentity()
  32. {
  33. return _adminIdentity == null ? BuildHrExecutiveIdentity() : _hrIdentity;
  34. }
  35. AppIdentity BuildAdminIdentity(string sessionid)
  36. {
  37. // _adminIdentity = new AppIdentity() { };
  38. // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection);
  39. // SqlDialect.Default(new Data.DbProviders.PgSqlDbProvider.DbContext().Dialect);
  40. if (_initialize == false)
  41. {
  42. Initialize();
  43. }
  44. var identity = new Unibase.Security.Principal.AppIdentity("", 0);
  45. SelectRequest request = new SelectRequest(null)
  46. {
  47. Identity = identity
  48. };
  49. if (sessionid == null)
  50. {
  51. sessionid = "9e5af21ec1a24c0293fc3dda352cdd93 ";
  52. }
  53. //var _usermanger = DependencyConfig.Resolve<Unibase.Platform.Common.Managers.IUserManager>();
  54. //var response = _usermanger.SignIn(request, "anji@gmail.com", "123456", true, false);
  55. var response = Unibase.Platform.Membership.IdentityRegistry.GetIdentityByStaticSessionandTenantid(sessionid, 1);
  56. return response;
  57. }
  58. AppIdentity BuildIdentity(string sessionid)
  59. {
  60. // _adminIdentity = new AppIdentity() { };
  61. // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection);
  62. // SqlDialect.Default(new Data.DbProviders.PgSqlDbProvider.DbContext().Dialect);
  63. if (_initialize == false)
  64. {
  65. Initialize();
  66. }
  67. var identity = new Unibase.Security.Principal.AppIdentity("", 0);
  68. SelectRequest request = new SelectRequest(null)
  69. {
  70. Identity = identity
  71. };
  72. if (sessionid == null)
  73. {
  74. sessionid = "9e5af21ec1a24c0293fc3dda352cdd93";
  75. }
  76. // var unibaseid = "274949a46ed54b2c887169ba078fe7e8";
  77. // var _usermanger = DependencyConfig.Resolve<Unibase.Platform.Common.Managers.IUserManager>();
  78. // var identityresponse = _usermanger.GenerateSession(unibaseid);
  79. //var response = _usermanger.SignIn(request, "anji@gmail.com", "123456", true, false);
  80. var response = Unibase.Platform.Membership.IdentityRegistry.GetIdentityByStaticSessionandTenantid(sessionid, 1);
  81. return response;
  82. }
  83. AppIdentity BuildSalesPersonIdentity(string sessionid)
  84. {
  85. _salesPersonIdentity = new AppIdentity() { };
  86. return _salesPersonIdentity;
  87. }
  88. AppIdentity BuildHrExecutiveIdentity()
  89. {
  90. _salesPersonIdentity = new AppIdentity() { };
  91. return _salesPersonIdentity;
  92. }
  93. Boolean Initialize()
  94. {
  95. string commondbid = "0";
  96. string tenantdbid = "1";
  97. string connectionstring = "server=localhost;port=5432;Database=common_88_unittest;User id=postgres;Password=Bizgaze@123";
  98. string tenantconnectionstring = "server=localhost;port=5432;Database=unittest_88;User id=postgres;Password=Bizgaze@123";
  99. //Unibase.Web.Server.Startup(IConfiguration configuration);
  100. // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection);
  101. var container = DependencyConfig.GetContainer();
  102. DependencyConfig.Register();
  103. container.RegisterType<Unibase.Core.Helpers.IReflectionHelper, Unibase.Core.Helpers.ReflectionHelper>();
  104. container.RegisterType<IRepository, Unibase.Platform.Data.NsDbRepository>("NsDbRepository");
  105. container.RegisterType<IRepository, Unibase.Platform.Data.Repository>();
  106. container.RegisterType<Unibase.Security.ITokenHelper, Unibase.Core.Helpers.Base64TokenHelper>();
  107. // DependencyConfig.Register(Unibase.Dependency.Enums.DIType.ServiceCollection);
  108. SqlDialect.Default(new Unibase.Data.DbProviders.PgSqlDbProvider.DbContext().Dialect);
  109. container.RegisterType<IDbContext, Unibase.Data.DbProviders.PgSqlDbProvider.DbContext>();
  110. Unibase.Dependency.StartupConfig.Register();
  111. container.RegisterType<Unibase.Data.INsDbContext, Unibase.Data.DbProviders.MongoDbProvider.DbContext>();
  112. DbRegistry.RegisterDatabase(commondbid, connectionstring);
  113. DbRegistry.RegisterDatabase(tenantdbid, tenantconnectionstring);
  114. Unibase.Data.DbRegistry.RegisterDatabase("nsdb_" + tenantdbid, "common_88_unittest");
  115. Unibase.Dependency.DependencyConfig.Resolve<IDbContext>();
  116. _initialize = true;
  117. return _initialize;
  118. }
  119. public ActionResponse Set( ActionRequest request ,string formuniqueid, ExpandoObject options)
  120. {
  121. //var request = new ActionRequest();
  122. //if (request.Identity == null)
  123. //{
  124. // request.Identity = GetAdminIdentity();
  125. //}
  126. SelectRequest srequest = SelectRequest.FromRequest(request);
  127. request.DisableEventLog = true;
  128. // var _dataapimanger = DependencyConfig.Resolve<Unibase.Platform.DataSources.Managers.IDataApiManager>();
  129. //var data = _dataapimanger.Set(request, options);
  130. var _formmanager = DependencyConfig.Resolve<Unibase.Platform.Forms.Managers.IFormManager>();
  131. if (!String.IsNullOrEmpty(formuniqueid))
  132. {
  133. var forminfo = _formmanager.GetForm(srequest, formuniqueid).Result;
  134. if (forminfo != null)
  135. {
  136. var response = _formmanager.SaveDynForm(request, forminfo.FormId, options);
  137. if (response.Status == ResponseStatus.Error)
  138. {
  139. return ActionResponse.CreateErrorResponse("error", response.Message);
  140. }
  141. }
  142. }
  143. return ActionResponse.CreateSuccessResponse("UnitTest Success");
  144. }
  145. public Unibase.Platform.Data.Enums.PermissionLevel CheckPermission(ActionRequest request)
  146. {
  147. SelectRequest srequest= SelectRequest.FromRequest(request);
  148. BaseUnitTestManager _baseunittestmanager = new BaseUnitTestManager();
  149. var permissionlevel = _baseunittestmanager.CheckPermission(srequest);
  150. return permissionlevel;
  151. }
  152. }
  153. }