private static void ResolveAdditionals(IServiceCollection services)
        {
            services.AddControllers();

            services.AddSingleton(prov => AutoMapperProfileConfiguration.MapperConfiguration().CreateMapper());

            services.AddCors(opt =>
            {
                opt.AddPolicy("CorsPolicy", policy =>
                {
                    policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
                });
            });

            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo {
                    Title = "TODO API", Version = "v1"
                });

                var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                c.IncludeXmlComments(xmlPath);
            });

            services.AddHttpClient();
        }
예제 #2
0
        public ReportTemplateControllerTests()
        {
            mockUnitOfWork = new Mock <BLL.IUnitOfWork>();

            mockReportRepo = new Mock <Repository.IRepository <EF.Report> >();
            var mockIQueryableReport = new TestRepo().Reports.AsQueryable().BuildMock();

            mockReportRepo.Setup(x => x.Entities).Returns(mockIQueryableReport.Object);

            mockEventCategoryRepo = new Mock <Repository.IRepository <EF.EventCategory> >();
            var mockIQueryableEventCategory = new TestRepo().EventCategories.AsQueryable().BuildMock();

            mockEventCategoryRepo.Setup(x => x.Entities).Returns(mockIQueryableEventCategory.Object);

            mockUnitOfWork.Setup(x => x.ReportRepository).Returns(mockReportRepo.Object);
            mockUnitOfWork.Setup(x => x.EventCategoryRepository).Returns(mockEventCategoryRepo.Object);

            eventCategoryBusiness = new BLL.EventCategory(mockUnitOfWork.Object);
            reportBusiness        = new BLL.Report(mockUnitOfWork.Object);

            var profile      = new AutoMapperProfileConfiguration();
            var mapperConfig = new MapperConfiguration(config => config.AddProfile(profile));
            var mapper       = new Mapper(mapperConfig);

            controller = new ReportTemplateController(reportBusiness, eventCategoryBusiness, mapper);
            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.ControllerContext.HttpContext.Items.Add("EndUser", new EF.EndUser {
                MemberId = 1, Member = new EF.Member {
                    CommunityId = 1
                }
            });
        }
예제 #3
0
        public LocationControllerTest()
        {
            mockUnitOfWork = new Mock <BLL.IUnitOfWork>();

            mockLocationRepo = new Mock <Repository.IRepository <EF.Location> >();
            var mockIQueryableLocation = new TestRepo().Locations.AsQueryable().BuildMock();

            mockLocationRepo.Setup(x => x.Entities).Returns(mockIQueryableLocation.Object);

            var mockEventRepo       = new Mock <Repository.IRepository <EF.Event> >();
            var mockIQueryableEvent = new TestRepo().Events.AsQueryable().BuildMock();

            mockEventRepo.Setup(x => x.Entities).Returns(mockIQueryableEvent.Object);

            mockUnitOfWork.Setup(x => x.LocationRepository).Returns(mockLocationRepo.Object);
            mockUnitOfWork.Setup(x => x.EventRepository).Returns(mockEventRepo.Object);

            locationBusiness = new BLL.Location(mockUnitOfWork.Object);
            eventBusiness    = new BLL.Event(mockUnitOfWork.Object);

            var profile      = new AutoMapperProfileConfiguration();
            var mapperConfig = new MapperConfiguration(config => config.AddProfile(profile));
            var mapper       = new Mapper(mapperConfig);

            controller = new LocationController(locationBusiness, eventBusiness, mapper);
            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.ControllerContext.HttpContext.Items.Add("EndUser", new EF.EndUser {
                MemberId = 1, Member = new EF.Member {
                    CommunityId = 1
                }
            });
        }
예제 #4
0
        // This method gets called 作     者 the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            var mvcServices = services.AddMvc(option => option.Filters.Add(typeof(JerrisoftFilterAttribute)))
                              .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

            //绑定其他API
            InitBussinessLib(mvcServices);

            InitSwagger(services);


            AutoMapperProfileConfiguration.Configuration(); //DTO启动

            //配置文件
            new ConfClient().Start();

            //权限系统认证与授权
            services.AddIdentityClient()
            .AddJwtBearer(option =>
            {
            }).AddPermission(option =>
            {
                option.PermissionMap = GetPermissionMap();
            });

            //任务调度密钥设置
            services.AddScheduleClient()
            .AddSchedule(option =>
            {
                option.AccessSecret = AMS.Core.ClientConfigManager.AppsettingsConfig.JobAccessSecret;
            });
            Jerrisoft.Platform.Public.PlatformServiceCollection.Service = services;
            new AMS.API.Init.DefaultStartup().Run();

            CurrHttpContainer.SetInstance(services);

            services.AddSingleton <IHttpContextAccessor, HttpContextAccessor>();
            services.AddTransient <ICurrentUser, CurrentUser>();
            #region Log4 日志配置
            LoggerRepositoryModel.LoggerRepository = LogManager.CreateRepository("JerrisoftCoreLog");
            XmlConfigurator.Configure(LoggerRepositoryModel.LoggerRepository, new FileInfo("log4net.config"));
            #endregion
        }
예제 #5
0
        public MemberControllerTests()
        {
            mockUnitOfWork = new Mock <BLL.IUnitOfWork>();

            mockMemberRepo = new Mock <Repository.IRepository <EF.Member> >();
            var mockIQueryableMember = new TestRepo().Members.AsQueryable().BuildMock();

            mockMemberRepo.Setup(x => x.Entities).Returns(mockIQueryableMember.Object);

            mockEndUserRepo = new Mock <Repository.IRepository <EF.EndUser> >();
            var mockIQueryableEndUser = new TestRepo().EndUsers.AsQueryable().BuildMock();

            mockEndUserRepo.Setup(x => x.Entities).Returns(mockIQueryableEndUser.Object);

            mockGroupRepo = new Mock <Repository.IRepository <EF.Group> >();
            var mockIQueryableGroup = new TestRepo().Groups.AsQueryable().BuildMock();

            mockGroupRepo.Setup(x => x.Entities).Returns(mockIQueryableGroup.Object);

            mockGroupMemberRepo = new Mock <Repository.IRepository <EF.GroupMember> >();
            var mockIQueryableGroupMember = new TestRepo().GroupMembers.AsQueryable().BuildMock();

            mockGroupMemberRepo.Setup(x => x.Entities).Returns(mockIQueryableGroupMember.Object);

            mockAttendanceRepo = new Mock <Repository.IRepository <EF.Attendance> >();
            var mockIQueryableAttendance = new TestRepo().Attendances.AsQueryable().BuildMock();

            mockAttendanceRepo.Setup(x => x.Entities).Returns(mockIQueryableAttendance.Object);

            mockEventRepo = new Mock <Repository.IRepository <EF.Event> >();
            var mockIQueryableEvent = new TestRepo().Events.AsQueryable().BuildMock();

            mockEventRepo.Setup(x => x.Entities).Returns(mockIQueryableEvent.Object);

            mockEventCategoryRepo = new Mock <Repository.IRepository <EF.EventCategory> >();
            var mockIQueryableEventCategory = new TestRepo().EventCategories.AsQueryable().BuildMock();

            mockEventCategoryRepo.Setup(x => x.Entities).Returns(mockIQueryableEventCategory.Object);

            mockUnitOfWork.Setup(x => x.MemberRepository).Returns(mockMemberRepo.Object);
            mockUnitOfWork.Setup(x => x.EndUserRepository).Returns(mockEndUserRepo.Object);
            mockUnitOfWork.Setup(x => x.GroupRepository).Returns(mockGroupRepo.Object);
            mockUnitOfWork.Setup(x => x.GroupMemberRepository).Returns(mockGroupMemberRepo.Object);
            mockUnitOfWork.Setup(x => x.AttendanceRepository).Returns(mockAttendanceRepo.Object);
            mockUnitOfWork.Setup(x => x.EventRepository).Returns(mockEventRepo.Object);
            mockUnitOfWork.Setup(x => x.EventCategoryRepository).Returns(mockEventCategoryRepo.Object);

            memberBusiness  = new BLL.Member(mockUnitOfWork.Object);
            endUserBusiness = new BLL.EndUser(mockUnitOfWork.Object);

            var mockOptions        = new Mock <IOptions <Core.Emailer> >();
            var mockLookUpBusiness = new Mock <BLL.ILookUp>();
            var mockDBContext      = new Mock <EF.AARSContext>();

            var profile      = new AutoMapperProfileConfiguration();
            var mapperConfig = new MapperConfiguration(config => config.AddProfile(profile));
            var mapper       = new Mapper(mapperConfig);

            controller = new MemberController(mockOptions.Object,
                                              memberBusiness,
                                              endUserBusiness,
                                              mockLookUpBusiness.Object,
                                              null,
                                              mapper)
            {
                ControllerContext = new ControllerContext()
            };
            controller.ControllerContext.HttpContext = new DefaultHttpContext();
            controller.ControllerContext.HttpContext.Items.Add("EndUser", new EF.EndUser {
                MemberId = 1, Member = new EF.Member {
                    CommunityId = 1
                }, RoleId = 1
            });
        }