public DashboardRouteAttribute(DashboardRoutes route)
        {
            var template = RouteMapper.Dashboard.GetDefinitionForRoute(route);

            HttpMethods = template.AllowedVerbs;
            Template    = template.Template;
            Name        = template.Name;
        }
        public void AddServices(IServiceCollection services)
        {
            var dashboardOptions = new DashboardOptions();

            _options?.Invoke(dashboardOptions);
            services.AddTransient <IStartupFilter, CapStartupFilter>();
            services.AddSingleton(dashboardOptions);
            services.AddSingleton(x => DashboardRoutes.GetDashboardRoutes(x.GetRequiredService <ISerializer>()));
            services.AddSingleton <IHttpRequester, HttpClientHttpRequester>();
            services.AddSingleton <IHttpClientCache, MemoryHttpClientCache>();
            services.AddSingleton <IRequestMapper, RequestMapper>();
        }
Esempio n. 3
0
        /// <summary>
        /// Initialize instance of middleware and maps services.
        /// </summary>
        /// <param name="provider">Root service provider.</param>
        /// <param name="loggingService">Shared instance of logging service across the owin pipeline.</param>
        public DashboardMiddleware(IServiceProvider provider, ILoggingService loggingService)
        {
            _basePath       = "/" + AutoPocoConfiguration.DashboardPathPrefix;
            _loggingService = loggingService;

            var _serviceScope = DashboardServiceProvider.Instance.GetServiceProvider(provider)
                                .GetRequiredService <IServiceScopeFactory>()
                                .CreateScope();

            var scopedServiceProvider = _serviceScope.ServiceProvider;

            _routes          = scopedServiceProvider.GetRequiredService <DashboardRoutes>();
            _serviceProvider = scopedServiceProvider;
        }
Esempio n. 4
0
        public void DataDictionaryTableRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, $"/DataDictionary/Table/{id}/tbl1");

            var page = new Mock <ObjectDetailsPage>(Mock.Of <IDataDictionaryRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.ListTableDetails(id, "tbl1")).Verifiable();

            Services.AddSingleton(page.Object);
            Context.UriMatch = dispatcher.Item2;
            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 5
0
        public void DataDictionarySchemaRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, $"/DataDictionary/Schema/{id}");

            var page = new Mock <SchemaPage>(Mock.Of <IDataDictionaryRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.ListDbObjects(id)).Verifiable();

            Services.AddSingleton(page.Object);
            Context.UriMatch = dispatcher.Item2;
            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 6
0
        public void DataDictionaryRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, "/DataDictionary");

            var page = new Mock <DataDictionaryPage>(Mock.Of <IConnectorRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.ListConnectors()).Verifiable();

            Services.AddSingleton(page.Object);

            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 7
0
        public void HistoryRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, "/Requests");

            var page = new Mock <RequestHistoryPage>(Mock.Of <IRequestHistoryRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.ListRequests()).Verifiable();

            Services.AddSingleton(page.Object);

            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 8
0
        public void WeeklyDashboardRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, "/Weekly");

            var page = new Mock <DashboardPage>(Mock.Of <IDashboardRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.WeeklyStats()).Verifiable();

            Services.AddSingleton(page.Object);

            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 9
0
        public void GetConnectorRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, $"/Connectors/Connector/{id}");

            var page = new Mock <ConnectorForm>(Mock.Of <IConnectorRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.GetById(id)).Verifiable();

            Services.AddSingleton(page.Object);
            Context.UriMatch = dispatcher.Item2;
            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 10
0
        public void NewConnectorRoute()
        {
            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, "/Connectors/Connector/New");

            var page = new Mock <ConnectorForm>(Mock.Of <IConnectorRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.NewConnector()).Verifiable();

            Services.AddSingleton(page.Object);

            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
Esempio n. 11
0
        public void SaveConnectorRoute()
        {
            SetupContext("post");

            var routes     = new DashboardRoutes();
            var dispatcher = routes.Routes.FindDispatcher(Context, $"/Connectors/Connector/{id}");

            var page = new Mock <ConnectorForm>(Mock.Of <IConnectorRepo>(), Mock.Of <ILayoutPage>());

            page.Setup(c => c.Save()).Verifiable();
            page.Setup(c => c.SetForm(It.IsAny <IDictionary <string, string[]> >())).Verifiable();

            Services.AddSingleton(page.Object);
            Context.UriMatch = dispatcher.Item2;
            dispatcher.Item1.Dispatch(Context, Logging);

            page.Verify();
        }
 protected IActionResult RedirectToRoute(DashboardRoutes route)
 {
     return(RedirectToRoute(GetRouteName(route)));
 }
 private string GetRouteName(DashboardRoutes route)
 {
     return(RouteMapper.Dashboard.GetDefinitionForRoute(route).Name);
 }
 protected IActionResult RedirectToRoute(DashboardRoutes route, object routeValues)
 {
     return(RedirectToRoute(GetRouteName(route), routeValues));
 }