public void GetSteamCmdDirectory() { GhostPanelConfig config = FakeConfig.GetFakeConfig(); var provider = new DefaultDirectoryProvider(config); Assert.Equal("C:\\SteamCmd", provider.GetSteamCmdDirectory()); }
public void GetBaseInstallDirectory() { GhostPanelConfig config = FakeConfig.GetFakeConfig(); var provider = new DefaultDirectoryProvider(config); Assert.Equal("C:\\Game Servers", provider.GetBaseInstallDirectory()); }
public void GetGameFileDirectory() { GhostPanelConfig config = FakeConfig.GetFakeConfig(); var provider = new DefaultDirectoryProvider(config); Assert.Equal("C:\\Server Files", provider.GetGameFileDirectory()); }
public void GetCorrectCredentailStringForAnonymous() { GhostPanelConfig config = FakeConfig.GetFakeConfig(); var credProvider = new SteamCredentialProvider(config); Assert.Equal("anonymous", credProvider.GetCredentialString()); }
public void GetCorrectCredentailStringForUserAndPass() { GhostPanelConfig config = FakeConfig.GetFakeConfig(); config.SteamSettings.Password = "******"; config.SteamSettings.Username = "******"; var credProvider = new SteamCredentialProvider(config); Assert.Equal("TestUser Password123", credProvider.GetCredentialString()); }
// TODO: Refactor to be smarter about searching for values instead of a method for each // TODO: Make config and interface public DefaultDirectoryProvider(GhostPanelConfig config) { _config = config; }
public SteamCredentialProvider(GhostPanelConfig config) { _config = config; }
// This method gets called by the runtime. Use this method to add services to the container. public IServiceProvider ConfigureServices(IServiceCollection services) { services.AddDbContext <AppDataContext>(ServiceLifetime.Transient); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddJsonOptions(options => { options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; }); services.AddCors(); services.AddMediatR(typeof(CreateServerCommandHandler).GetTypeInfo().Assembly); services.AddMediatR(typeof(QueryServerCommandHandler).GetTypeInfo().Assembly); GhostPanelConfig fullConfig = Configuration.Get <GhostPanelConfig>(); services.AddHangfire(x => x.UseSqlServerStorage(fullConfig.HangFireDatabaseConnectionString)); var builder = new ContainerBuilder(); builder.Populate(services); builder.RegisterGeneric(typeof(Logger <>)).As(typeof(ILogger <>)); builder.RegisterInstance(fullConfig).AsSelf().SingleInstance(); IRepository repository = SetUpDatabase.SetUpRepository(fullConfig.DatabaseConnectionString); builder.RegisterType <SteamCredentialProvider>().As <ISteamCredentialProvider>().SingleInstance(); builder.RegisterType <DefaultDirectoryProvider>().As <IDefaultDirectoryProvider>().SingleInstance(); builder.RegisterType <PortAndIpProvider>().As <IPortAndIpProvider>().SingleInstance(); // Game File Managers builder.RegisterType <LocalGameFileManager>().As <IGameFileManager>(); builder.RegisterType <SteamCmdGameFiles>().As <IGameFileManager>(); builder.RegisterType <GameFileManagerProvider>().As <IGameFileManagerProvider>().SingleInstance(); builder.RegisterInstance(repository).SingleInstance(); builder.RegisterType <PanelBackgroundTaskService>().As <IBackgroundService>().SingleInstance(); builder.RegisterType <BackgroundManager>().AsSelf().SingleInstance(); builder.RegisterType <ServerProcessManagerWin>().As <IServerProcessManager>().SingleInstance(); builder.RegisterType <ServerProcessManagerProvider>().As <IServerProcessManagerProvider>().SingleInstance(); builder.RegisterType <GameServerProvider>().As <IGameServerProvider>().SingleInstance(); builder.RegisterType <GameQueryFactory>().As <IGameQueryFactory>().SingleInstance(); builder.RegisterType <ServerStatService>().As <IServerStatService>().SingleInstance(); builder.RegisterType <ServerStatsRefresh>().As <IHostedService>(); builder.RegisterType <ScheduledTaskService>().As <IScheduledTaskService>().SingleInstance(); builder.RegisterType <ScheduledTaskWorker>().As <IHostedService>(); builder.RegisterType <PanelBackgroundWorker>().As <IHostedService>(); builder.RegisterType <CommandlineProcessor>().As <ICommandlineProcessor>().SingleInstance(); builder.RegisterType <GameServerManagerRefac>().As <IGameServerManager>().SingleInstance(); // Before started actions builder.RegisterType <ProcessConfigFilesBeforeStarted>().As <IBeforeStartedAction>(); builder.RegisterModule(new MediatorModule()); ApplicationContainer = builder.Build(); return(new AutofacServiceProvider(ApplicationContainer)); }