Esempio n. 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc(opts =>
            {
                var userDataService = new UserDataServiesProvider();
                IAuthonticationService authorizationService = new AuthonticationServiceProvider(userDataService);
                opts.Filters.Add(new KeyAuthorizeFilter(new AuthorizationPolicyBuilder().RequireRole("Key").Build(), authorizationService));
            });
            services.AddCors(options => options.AddPolicy("AllowCors",
                                                          builder =>
            {
                builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials();
            }));

            services.AddTransient <IUserServies, UserServiceProvider>();
            services.AddSingleton <IUserDataService, UserDataServiesProvider>();

            services.AddTransient <IPaintServies, PaintServiceProvider>();
            services.AddSingleton <IPaintDataService, PaintDataServiesProvider>();

            services.AddTransient <IUserServies, UserServiceProvider>();
            services.AddSingleton <IUserDataService, UserDataServiesProvider>();

            services.AddTransient <IStrokeService, StrokeServiceProvider>();
            services.AddSingleton <IStrokeDataService, StrokeDataServiesProvider>();

            services.AddTransient <ILineService, LineServiceProvider>();
            services.AddSingleton <ILineDataService, LineDataServiesProvider>();

            services.AddTransient <IReceiveDataHandler, ReceiveDataHandler>();
        }
Esempio n. 2
0
        public void ShouldCompletePaintTest()
        {
            //arrenge
            IUserDataService   userDataService   = new UserDataServiesProvider();
            IStrokeDataService strokeDataService = new StrokeDataServiesProvider();
            ILineDataService   lineDataService   = new LineDataServiesProvider();


            IPaintDataService paintDataService = new PaintDataServiesProvider();

            IUserServies   userServies   = new UserServiceProvider(userDataService);
            IPaintServies  paintService  = new PaintServiceProvider(paintDataService, userDataService, strokeDataService, lineDataService);
            IStrokeService strokeService = new StrokeServiceProvider(strokeDataService, userDataService, lineDataService);
            ILineService   lineService   = new LineServiceProvider(lineDataService, userDataService);

            //act
            var user   = userServies.CreateUser();
            var paint  = paintService.CreateOrGetPaint(user.Id);
            var stroke = strokeService.CreateStroke(new Stroke
            {
                PaintId    = paint.Id,
                StartPoint = new Point {
                    X = 1, Y = 1
                }
            });
            var line = lineService.CreateLine(new Line
            {
                StrokeId   = stroke.Id,
                StartPoint = new Point {
                    X = 10, Y = 10
                }
            });

            var paintResult = paintService.CreateOrGetPaint(user.Id);

            //assert
            Assert.Single(paintResult.Strokes);
            Assert.Single(paintResult.Strokes.FirstOrDefault().Lines);
        }