Base repository for all unit tests
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

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. }