// 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>(); }
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); }