public void SetSettingsWorksAsExpected() { // --- Arrange const string KEY = "TypeResolverBackup"; var settings = new TypeResolverConfigurationSettings(new List <string> { "System" }, new List <string> { "TypeResolution" }); var provider = new AppConfigProvider(); // --- Act provider.SetSetting(KEY, settings); // --- Assert ConfigurationManager.RefreshSection(KEY); var config = ConfigurationManager.GetSection(KEY) as XElement; config.ShouldNotBeNull(); settings = new TypeResolverConfigurationSettings(config); settings.AssemblyNames.ShouldHaveCountOf(1); settings.AssemblyNames[0].ShouldEqual("System"); settings.Namespaces.ShouldHaveCountOf(1); settings.Namespaces[0].ShouldEqual("TypeResolution"); }
static void Main(string[] args) { var rand = new Random(); var paramsProvider = new AppConfigProvider(ConfigurationManager.AppSettings); var configProvider = new ConfigurationProvider(); var configFactory = new ConfigurationFactory(new ClientParams(paramsProvider), configProvider); var clientConfig = configFactory.Create<ClientConfiguration>(); clientConfig.Port = rand.Next()%1000 + 25000; LogManager.Debug("Address is : 127.0.0.1:{0}", clientConfig.Port); var client = new Client(clientConfig); client.Start(Console.ReadLine(), () => { var small = SmallTestObject.Create(); while (true) { var key = Console.ReadKey(); if (key.Key == ConsoleKey.Enter) break; small.Message = key.KeyChar.ToString(); client.SendObject(small); } }); }
public void TestUnexistingKeyReturnsNull() { _manager = new AppConfigProvider(); var value = _manager.Get("nonExisting"); Assert.IsNull(value); }
public ClientScriptRegistry(ClientScriptResourceHandler clientScriptResourceHandler, AppConfigProvider appConfigProvider, IEqualityComparer <ClientScriptResource> resourceEqualityComparer, DependencyGraphProvider dependencyGraphProvider) { ClientScriptResourceHandler = clientScriptResourceHandler; AppConfigProvider = appConfigProvider; ResourceEqualityComparer = resourceEqualityComparer; DependencyGraphProvider = dependencyGraphProvider; }
internal bool ActivationSwitchMatch(MemberInfo objectToCheck, AppConfigProvider provider) { var attrs = objectToCheck.GetCustomAttributes(typeof(ActivationSwitchAttribute), true).Cast <ActivationSwitchAttribute>(); return(ActivationSwitchMatch(attrs, provider)); }
public void GetSettingValueRaisesExceptionWithMissingSection() { // --- Arrange const string KEY = "missingSection"; var provider = new AppConfigProvider(); // --- Act provider.GetSetting<AppConfigurationSettings>(KEY); }
public void GetSettingValueRaisesExceptionWithMissingSection() { // --- Arrange const string KEY = "missingSection"; var provider = new AppConfigProvider(); // --- Act provider.GetSetting <AppConfigurationSettings>(KEY); }
static void Main(string[] args) { var paramsProvider = new AppConfigProvider(ConfigurationManager.AppSettings); var configProvider = new ConfigurationProvider(); var factory = new ConfigurationFactory(new ServerParams(paramsProvider), configProvider); using(var server = new Server(factory.Create<ServerConfiguration>())) server.Listen(); }
public Guards( ICachedShippingMethodCollectionProvider cachedShippingMethodCollectionProvider, GiftCardManager giftCardManager, AppConfigProvider appConfigProvider, ICheckoutAccountStatusProvider checkoutAccountStatusProvider) { CachedShippingMethodCollectionProvider = cachedShippingMethodCollectionProvider; GiftCardManager = giftCardManager; AppConfigProvider = appConfigProvider; CheckoutAccountStatusProvider = checkoutAccountStatusProvider; }
public SagePayPiController( NoticeProvider noticeProvider, IPaymentOptionProvider paymentOptionProvider, IPersistedCheckoutContextProvider persistedCheckoutContextProvider, IStringResourceProvider stringResourceProvider, AppConfigProvider appConfigProvider) { NoticeProvider = noticeProvider; PaymentOptionProvider = paymentOptionProvider; PersistedCheckoutContextProvider = persistedCheckoutContextProvider; StringResourceProvider = stringResourceProvider; AppConfigProvider = appConfigProvider; }
public void IsSettingValueDefinedWorksAsExpected() { // --- Arrange var provider = new AppConfigProvider(); // --- Act var test1 = provider.IsValueDefined("setting1"); var test2 = provider.IsValueDefined("nonExisting"); // --- Assert test1.ShouldBeTrue(); test2.ShouldBeFalse(); }
public void IsSeectionDefinedWorksAsExpected() { // --- Arrange var provider = new AppConfigProvider(); // --- Act var test1 = provider.IsSettingDefined("TypeResolver"); var test2 = provider.IsSettingDefined("nonExisting"); // --- Assert test1.ShouldBeTrue(); test2.ShouldBeFalse(); }
public void IsSeectionDefinedWorksAsExpected() { // --- Arrange var provider = new AppConfigProvider(); // --- Act var test1 = provider.IsSettingDefined("TypeResolver"); var test2 = provider.IsSettingDefined("nonExisting"); // --- Assert test1.ShouldBeTrue(); test2.ShouldBeFalse(); }
public CheckoutShippingSelectionDependencyStateManager( AppConfigProvider appConfigProvider, ICheckoutSelectionProvider checkoutSelectionProvider, IPersistedCheckoutContextProvider persistedCheckoutContextProvider, IPaymentMethodInfoProvider paymentMethodInfoProvider, HashProvider hashProvider) { AppConfigProvider = appConfigProvider; CheckoutSelectionProvider = checkoutSelectionProvider; PersistedCheckoutContextProvider = persistedCheckoutContextProvider; PaymentMethodInfoProvider = paymentMethodInfoProvider; HashProvider = hashProvider; }
public ThreeDSecureController( ICachedShoppingCartProvider cachedShoppingCartProvider, NoticeProvider noticeProvider, IPersistedCheckoutContextProvider persistedCheckoutContextProvider, IStringResourceProvider stringResourceProvider, AppConfigProvider appConfigProvider) { CachedShoppingCartProvider = cachedShoppingCartProvider; NoticeProvider = noticeProvider; PersistedCheckoutContextProvider = persistedCheckoutContextProvider; StringResourceProvider = stringResourceProvider; AppConfigProvider = appConfigProvider; }
public void IsSettingValueDefinedWorksAsExpected() { // --- Arrange var provider = new AppConfigProvider(); // --- Act var test1 = provider.IsValueDefined("setting1"); var test2 = provider.IsValueDefined("nonExisting"); // --- Assert test1.ShouldBeTrue(); test2.ShouldBeFalse(); }
public AccountController(NoticeProvider noticeProvider, IClaimsIdentityProvider claimsIdentityProvider, CaptchaStorageService captchaStorageService, SendWelcomeEmailProvider sendWelcomeEmailProvider, AppConfigProvider appConfigProvider) { Settings = new AccountSettings(); ControllerHelper = new AccountControllerHelper(Settings); NoticeProvider = noticeProvider; ClaimsIdentityProvider = claimsIdentityProvider; CaptchaStorageService = captchaStorageService; SendWelcomeEmailProvider = sendWelcomeEmailProvider; AppConfigProvider = appConfigProvider; }
public void TestNoProviderReturnsEmptyString() { try { _manager = new AppConfigProvider(); ConfigurationManager.AppSettings["existingKey"] = "myValue"; var value = _manager.Get("existingKey"); Assert.AreEqual("myValue", value); } finally { ConfigurationManager.AppSettings["existingKey"] = null; } }
public void SetSettingValueWorksWithNewSettingName() { // --- Arrange const string KEY = "newTestSetting"; const string VALUE = "testValue"; var provider = new AppConfigProvider(); // --- Act provider.SetValue(KEY, VALUE); // --- Assert ConfigurationManager.RefreshSection("appSettings"); var value = ConfigurationManager.AppSettings[KEY]; value.ShouldEqual(VALUE); }
List <IService> LoadService(string[] files) { List <IService> serviceList = new List <IService>(); foreach (string cfg in files) { AppConfigProvider provider = new AppConfigProvider(cfg); if (!provider.CanAccess) { provider.Dispose(); //winLOG.Write($"加载服务:[{Path.GetFileNameWithoutExtension(cfg)}]失败,配置文件不可读!"); continue; } IConfig setting = new IConfig(); setting.Initialize(provider); setting.Name = Path.GetFileNameWithoutExtension(cfg); IService service; #region 加载终端数据解释器 if (setting.ServiceAssembly == null || setting.ServiceAssembly == string.Empty) { throw new Exception($"解析服务[{setting.Name},必须加载服务配置ServiceAssembly!"); } else { try { service = (IService)AssemblyHelper.CreateInstance(setting.ServiceAssembly.Split(',')); if (service == null) { throw new Exception($"解析服务[{setting.Name},无法加载!找不到指定的程序集:{setting.ServiceAssembly}"); } service.Initialize(provider); } catch (Exception ex) { throw new Exception($"解析服务[{setting.Name},在加载时发生错误!", ex); } } #endregion serviceList.Add(service); } return(serviceList); }
private static List <DataSyncService> LoadService(string[] files) { List <DataSyncService> serviceList = new List <DataSyncService>(); foreach (string cfg in files) { AppConfigProvider provider = new AppConfigProvider(cfg); if (!provider.CanAccess) { provider.Dispose(); //log.Debug(string.Format("加载服务:[{0}]失败,配置文件不可读!", Path.GetFileNameWithoutExtension(cfg))); continue; } Setting setting = new Setting(); setting.Initialize(provider); setting.Name = Path.GetFileNameWithoutExtension(cfg); DataSyncService service; #region 加载终端数据解释器 if (setting.ServiceAssembly == null || setting.ServiceAssembly == string.Empty) { throw new Exception("解析服务[{0},必须加载服务配置ServiceAssembly!".format(setting.Name)); } else { try { service = (DataSyncService)AssemblyHelper.CreateInstance(setting.ServiceAssembly.Split(',')); if (service == null) { throw new Exception("解析服务[{0},无法加载!找不到指定的程序集:{1}".format(setting.Name, setting.ServiceAssembly)); } service.Initialize(provider); } catch (Exception ex) { throw new Exception("解析服务[{0},在加载时发生错误!".format(setting.Name), ex); } } #endregion serviceList.Add(service); } return(serviceList); }
public CheckoutShippingMethodController( ICachedShippingMethodCollectionProvider cachedShippingMethodCollectionProvider, ICachedShoppingCartProvider cachedShoppingCartProvider, IEffectiveShippingAddressProvider effectiveShippingAddressProvider, NoticeProvider noticeProvider, IPersistedCheckoutContextProvider persistedCheckoutContextProvider, IShippingMethodCartItemApplicator shippingMethodCartItemApplicator, IStringResourceProvider stringResourceProvider, AppConfigProvider appConfigProvider) { CachedShippingMethodCollectionProvider = cachedShippingMethodCollectionProvider; CachedShoppingCartProvider = cachedShoppingCartProvider; EffectiveShippingAddressProvider = effectiveShippingAddressProvider; NoticeProvider = noticeProvider; PersistedCheckoutContextProvider = persistedCheckoutContextProvider; ShippingMethodCartItemApplicator = shippingMethodCartItemApplicator; StringResourceProvider = stringResourceProvider; AppConfigProvider = appConfigProvider; }
public void SetSettingsWorksAsExpected() { // --- Arrange const string KEY = "TypeResolverBackup"; var settings = new TypeResolverConfigurationSettings(new List<string> { "System" }, new List<string> { "TypeResolution" }); var provider = new AppConfigProvider(); // --- Act provider.SetSetting(KEY, settings); // --- Assert ConfigurationManager.RefreshSection(KEY); var config = ConfigurationManager.GetSection(KEY) as XElement; config.ShouldNotBeNull(); settings = new TypeResolverConfigurationSettings(config); settings.AssemblyNames.ShouldHaveCountOf(1); settings.AssemblyNames[0].ShouldEqual("System"); settings.Namespaces.ShouldHaveCountOf(1); settings.Namespaces[0].ShouldEqual("TypeResolution"); }
public AccountController(NoticeProvider noticeProvider, IClaimsIdentityProvider claimsIdentityProvider, SendWelcomeEmailProvider sendWelcomeEmailProvider, AppConfigProvider appConfigProvider, CartActionProvider cartActionProvider, IDataRetentionService dataRetentionService, IStringResourceProvider stringResourceProvider, CaptchaVerificationProvider captchaVerificationProvider) { Settings = new AccountSettings(); CaptchaSettings = new CaptchaSettings(); ControllerHelper = new AccountControllerHelper(Settings); NoticeProvider = noticeProvider; ClaimsIdentityProvider = claimsIdentityProvider; SendWelcomeEmailProvider = sendWelcomeEmailProvider; AppConfigProvider = appConfigProvider; CartActionProvider = cartActionProvider; DataRetentionService = dataRetentionService; StringResourceProvider = stringResourceProvider; CaptchaVerificationProvider = captchaVerificationProvider; }
private static void Main(string[] args) { var inputFilePath = GetInputFilePath(); var outputDirectory = GetOutputDirectory(); var verboseEnabled = GetVerboseLoggingEnabled(); var verboseLogger = new VerboseLogger(verboseEnabled, Console.WriteLine); var configProvider = new AppConfigProvider(); var httpWebRequestAgent = new HttpWebRequestAgent(verboseLogger); var extractor = new ExtractionManager(new ExtractionRequest { InputFilePath = inputFilePath, OutputDirectory = outputDirectory, VerboseLogger = verboseLogger }, configProvider, httpWebRequestAgent, verboseLogger); var response = extractor.RunExtraction(); if (!string.IsNullOrEmpty(response.GeneralException)) { Console.WriteLine($"Process failed. Error: {response.GeneralException}."); Console.ReadKey(); return; } if (response.HasExtractionException) { foreach (var extrctException in response.ExtractionExceptions) { Console.WriteLine( $"Extraction did not complete for url: {extrctException.InputUrl}. " + $"Error: {extrctException}"); } Console.ReadKey(); } Console.WriteLine($"Process complete. {response.SuccessfulExtractions} website(s) successfully processed."); Console.ReadKey(); }
public CheckoutAccountController( AccountControllerHelper accountControllerHelper, AppConfigProvider appConfigProvider, ICheckoutAccountStatusProvider checkoutAccountStatusProvider, IClaimsIdentityProvider claimsIdentityProvider, NoticeProvider noticeProvider, IPersistedCheckoutContextProvider persistedCheckoutContextProvider, SendWelcomeEmailProvider sendWelcomeEmailProvider, CartActionProvider cartActionProvider, CaptchaVerificationProvider captchaVerificationProvider) { AccountControllerHelper = accountControllerHelper; AppConfigProvider = appConfigProvider; CheckoutAccountStatusProvider = checkoutAccountStatusProvider; ClaimsIdentityProvider = claimsIdentityProvider; NoticeProvider = noticeProvider; PersistedCheckoutContextProvider = persistedCheckoutContextProvider; SendWelcomeEmailProvider = sendWelcomeEmailProvider; CartActionProvider = cartActionProvider; CaptchaVerificationProvider = captchaVerificationProvider; CaptchaSettings = new CaptchaSettings(); }
static void Main(string[] args) { // This section serves as the composition root. // In Dependency Injection or Inversion of Control, the composition root is the "entry" point of the application. // For web-applications it is the App_Start or AppStart, for windows services it is the OnStart method. // For console applications, it is the main method. // Only executables have a REAL composition root. Class libraries are by definition a library of types to be used by // calling code to accomplish a goal. The class library cannot (and should not) make any assumptions beyond it's own behavior // regarding how it will be used. // Take note of the difference between the IConfigurationProvider and the AppConfigProvider. // The interface is defined in the class library, while the implementation is defined in the console application project. // This setup allows the console application to be able to "read" configuration, without having to know how that particular configuration // should be accessed. You COULD provide a default provider in the class library for configuration (as we did with the FileSystem) // but this gives us maximum flexibility. This same class library used in a web.application would load config from a web.config // file instead of an app.config. Or it could be a SQLConfigurationProvider as long as they implement the class library interface. IConfigurationProvider provider = new AppConfigProvider(); IDataProcessor processor = new TextFileProcessor(); IFileSystemProvider fileSystem = new SimpleFileSystemProvider(); // Notice the .Out property of the static Console class being passed as an argument. // The constructor dependency for the ConsoleReportViewer requires a TextWriter instance (which the .Out property happens to be). // We could really pass in ANY TextWriter instance, so you COULD rename the ConsoleReportViewer to TextReportViewer to be more specific. // It is this injected dependency that allows us to // A) Actually test the output in tests // B) De-couple the ConsoleReportViewer from NEEDING to run in a place where it has access to the actual Console. // In this case, we don't have to worry about disposing of the TextWriter (like you would normally) because it's lifetime is managed // by the Console Application IReportViewer viewer = new ConsoleReportViewer(Console.Out); // Because we have modified the constructor to take interface arguments, and moved the primary logic from the actual viewer // to a new "layer" called an engine, our code-base has become larger, but also more loosely coupled. ReportingEngine engine = new ReportingEngine(provider, processor, fileSystem, viewer); engine.GenerateReport(); Console.ReadLine(); }
public EWay() { AppConfigProvider = DependencyResolver.Current.GetService <AppConfigProvider>(); }
public SignifydController(SignifydCaseApi signifydApi, SignifydConfigurationProvider signifydConfigurationProvider, AppConfigProvider appConfigProvider) { AppConfigProvider = appConfigProvider; SignifydApi = signifydApi; SignifydConfigurationProvider = signifydConfigurationProvider; }
public void SetSettingValueWorksAsExpected() { // --- Arrange const string KEY = "setting1"; const string VALUE = "testValue"; var provider = new AppConfigProvider(); // --- Act provider.SetValue(KEY, VALUE); // --- Assert ConfigurationManager.RefreshSection("appSettings"); var value = ConfigurationManager.AppSettings[KEY]; value.ShouldEqual(VALUE); }
public SignifydConfigurationProvider(AppConfigProvider appConfigProvider) { AppConfigProvider = appConfigProvider; }
public SagePayPi() { StringResourceProvider = DependencyResolver.Current.GetService <IStringResourceProvider>(); AppConfigProvider = DependencyResolver.Current.GetService <AppConfigProvider>(); }
internal bool ActivationSwitchMatch(IEnumerable <ActivationSwitchAttribute> attributes, AppConfigProvider provider) { var enums = attributes.Where(k => k.Switch != null).Select(k => k.Switch).OfType <Enum>().ToArray(); var keys = attributes.Where(k => k.Name != null) .Zip(attributes.Where(k => k.Value != null), (a, b) => new KeyValuePair <string, string>(a.Name, b.Value)).ToArray(); return(FlagsMatch(enums) & AppConfigMatchMatch(keys, provider)); }
public DataRetentionService(AppConfigProvider appConfigProvider, IStringResourceProvider stringResourceProvider) { AppConfigProvider = appConfigProvider; StringResourceProvider = stringResourceProvider; }
public SiteDisclaimerController(AppConfigProvider appConfigProvider) { AppConfigProvider = appConfigProvider; }
public QueryDependencyStateManager(AppConfigProvider appConfigProvider, HashProvider hashProvider) { AppConfigProvider = appConfigProvider; HashProvider = hashProvider; }
internal bool ActivationSwitchMatch(ActivationSwitchAttribute attribute, AppConfigProvider provider) { return(FlagsMatch(attribute.CombinedEnums) && AppConfigMatchMatch(attribute.Configs, provider)); }