CoreTestBaseModule.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Volo.Abp.Authorization;
  7. using Volo.Abp;
  8. using Volo.Abp.Modularity;
  9. using Volo.Abp.Autofac;
  10. using Microsoft.Extensions.DependencyInjection;
  11. using Volo.Abp.Threading;
  12. using Volo.Abp.Data;
  13. using Volo.Abp.BackgroundJobs;
  14. using Volo.Abp.IdentityServer;
  15. namespace Buissness.TestBase
  16. {
  17. [DependsOn(
  18. typeof(AbpAutofacModule),
  19. typeof(AbpTestBaseModule)
  20. )]
  21. public class CoreTestBaseModule : AbpModule
  22. {
  23. public override void PreConfigureServices(ServiceConfigurationContext context)
  24. {
  25. PreConfigure<AbpIdentityServerBuilderOptions>(options =>
  26. {
  27. options.AddDeveloperSigningCredential = false;
  28. });
  29. PreConfigure<IIdentityServerBuilder>(identityServerBuilder =>
  30. {
  31. identityServerBuilder.AddDeveloperSigningCredential(false, System.Guid.NewGuid().ToString());
  32. });
  33. }
  34. public override void ConfigureServices(ServiceConfigurationContext context)
  35. {
  36. Configure<AbpBackgroundJobOptions>(options =>
  37. {
  38. options.IsJobExecutionEnabled = false;
  39. });
  40. context.Services.AddAlwaysAllowAuthorization();
  41. }
  42. public override void OnApplicationInitialization(ApplicationInitializationContext context)
  43. {
  44. SeedTestData(context);
  45. }
  46. private static void SeedTestData(ApplicationInitializationContext context)
  47. {
  48. AsyncHelper.RunSync(async () =>
  49. {
  50. using (var scope = context.ServiceProvider.CreateScope())
  51. {
  52. await scope.ServiceProvider
  53. .GetRequiredService<IDataSeeder>()
  54. .SeedAsync();
  55. }
  56. });
  57. }
  58. }
  59. }