public async Task FailsIfOneConfigsInCollectionIsInvalid() { var max = 4; var sample = new SampleConfig { ListOfConfigs = new List <ListConfig> { new ListConfig { Name = "item one", Value = 5 }, new ListConfig { Name = "item two", Value = 2 } } }; modelBuilder.Collection(p => p.ListOfConfigs) .Property(p => p.Value) .WithMaxValue(max); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.False(result.IsValid); Assert.Single(result.Errors); Assert.Equal(ValidationStrings.GreaterThanMax(nameof(ListConfig.Value), max), result.Errors.Single()); }
public async Task ReturnFailedIfValidationFailed() { var config = new SampleConfig { LlamaCapacity = 23 }; var options = new List <OptionFromConfigSet> { new OptionFromConfigSet { Id = 1, Description = "One" } }; var input = new UpdateConfigurationSetFromJsonUploadCommand(expectedIdentity, typeof(SampleConfigSet), jsonPayload); configurationSetUploadMapper.Setup(r => r.MapConfigurationSetUpload(input.JsonUpload, model)) .Returns(() => BuildConfigs(config, options)); var validationResult = new ValidationResult(new[] { "Error", "Error2" }); configurationValidator.Setup(v => v.Validate(It.IsAny <object>(), It.IsAny <ConfigurationModel>(), expectedIdentity)) .ReturnsAsync(() => validationResult); var result = await target.Handle(input); Assert.False(result.IsSuccessful); Assert.Equal(string.Join(Environment.NewLine, new ValidationResult(new[] { validationResult, validationResult }).Errors), result.ErrorMessage); }
public async Task CheckOptionsAreUpdated() { var config = new SampleConfig { Option = new Option { Id = 1, Description = "Not the right description" }, MoarOptions = new List <Option> { new Option { Id = 3, Description = "fail" }, OptionProvider.OptionTwo } }; var instance = new ConfigInstance <SampleConfig>(config, identity.ClientId); mockConfigProvider.Setup(test => test.GetAsync(typeof(SampleConfig), identity)) .Returns(() => Task.FromResult <ConfigInstance>(instance)); var configSet = (TestConfiguationModule)await target.BuildConfigSet(typeof(TestConfiguationModule), identity); Assert.Equal(config.Option.Description, OptionProvider.OptionOne.Description); Assert.Equal(config.MoarOptions[0].Description, OptionProvider.OptionThree.Description); Assert.Equal(config.MoarOptions[1], OptionProvider.OptionTwo); }
public ConfigurationSetFactoryTests() { identity = new ConfigurationIdentity("fbce468f-0950-4b5f-a7e1-8e24e746bb91"); registry = new ConfigurationSetRegistry(); registry.AddConfigurationSet(new TestConfiguationModule().BuildConfigurationSetModel()); defaultOptions = new List <ExternalOption> { new ExternalOption { Id = 1, Description = "testOne" } }; additionalOption = new List <OptionDependentOnAnotherOption> { new OptionDependentOnAnotherOption { Id = 1, ExternalOption = defaultOptions[0], Value = 23.3 } }; mockConfigProvider = new Mock <IConfigProvider>(); mockConfigProvider.Setup(test => test.GetCollectionAsync(typeof(ExternalOption), It.IsAny <ConfigurationIdentity>())) .Returns(() => Task.FromResult <IEnumerable>(defaultOptions)); mockConfigProvider.Setup(test => test.GetCollectionAsync(typeof(OptionDependentOnAnotherOption), It.IsAny <ConfigurationIdentity>())) .Returns(() => Task.FromResult <IEnumerable>(additionalOption)); defaultConfig = new SampleConfig { LlamaCapacity = 23, ExternalOption = defaultOptions[0] }; var instance = new ConfigInstance <SampleConfig>(defaultConfig, identity.ClientId); mockConfigProvider.Setup(test => test.GetAsync(typeof(SampleConfig), identity)) .Returns(() => Task.FromResult <ConfigInstance>(instance)); target = new ConfigurationSetFactory(mockConfigProvider.Object, new TestOptionSetFactory(), registry); }
public ConfigurationEditPayloadMapperTests() { target = new ConfigurationEditPayloadMapper(new TestOptionSetFactory(), new PropertyTypeProvider()); definition = new SampleConfigSet().BuildConfigurationSetModel(); sample = new SampleConfig { Choice = Choice.OptionThree, IsLlamaFarmer = true, Decimal = 0.23m, StartDate = new DateTime(2013, 10, 10), LlamaCapacity = 47, Name = "Name 1", Option = OptionProvider.OptionOne, MoarOptions = new List <Option> { OptionProvider.OptionOne, OptionProvider.OptionThree }, ListOfConfigs = new List <ListConfig> { new ListConfig { Name = "One", Value = 23 } } }; updatedSample = new SampleConfig { Choice = Choice.OptionTwo, IsLlamaFarmer = false, Decimal = 0.213m, StartDate = new DateTime(2013, 10, 11), LlamaCapacity = 147, Name = "Name 2", Option = OptionProvider.OptionTwo, MoarOptions = new List <Option> { OptionProvider.OptionTwo, OptionProvider.OptionThree }, ListOfConfigs = new List <ListConfig> { new ListConfig { Name = "Two plus Two", Value = 5 } } }; dynamic updatedValue = new ExpandoObject(); updatedValue.Choice = updatedSample.Choice; updatedValue.IsLlamaFarmer = updatedSample.IsLlamaFarmer; updatedValue.Decimal = updatedSample.Decimal; updatedValue.StartDate = updatedSample.StartDate; updatedValue.LlamaCapacity = updatedSample.LlamaCapacity; updatedValue.Name = updatedSample.Name; updatedValue.Option = updatedSample.Option.Id; updatedValue.MoarOptions = updatedSample.MoarOptions.Select(s => s.Id).ToList(); updatedValue.ListOfConfigs = updatedSample.ListOfConfigs; var serilaisationSetting = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }; var json = JsonConvert.SerializeObject(updatedValue, serilaisationSetting); updatedObject = JObject.Parse(json); }
public void Before() { var config = new SampleConfig(); this.reducer = new SampleReducer(config); this.sceneState = new SceneState <SampleScene>(); this.pageState = new PageState <SamplePage>(); }
public void JsonTest() { var config = SampleConfig; string jsonConfig = SampleConfig.ToJson(); var configFromJson = Config.FromJson(jsonConfig); Assert.IsTrue(config.COMPort == configFromJson.COMPort); }
private bool DoesMatch(ConfigInstance c, SampleConfig testConfig) { if (c is ConfigInstance <SampleConfig> castConfig) { return(testConfig.LlamaCapacity == castConfig.Configuration.LlamaCapacity); } return(false); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var applicationId = "3E37AC18-A00F-47A5-B84E-C79E0823F6D4"; var application2Id = "6A302E7D-05E9-4188-9612-4A2920E5C1AE"; // Add framework services. services.AddMvc(); services.AddConfigServer() .UseConfigSet <SampleConfigSet>() .UseInMemoryProvider() .UseLocalConfigServerClient(applicationId) .WithConfig <SampleConfig>(); services.AddTransient <IOptionProvider, OptionProvider>(); var optionProvider = new OptionProvider(); var config = new SampleConfig { LlamaCapacity = 23, Name = "Name", Decimal = 23.47m, StartDate = new DateTime(2013, 10, 10), IsLlamaFarmer = false, Option = optionProvider.GetOptions().First(), MoarOptions = optionProvider.GetOptions().Take(2).ToList(), ListOfConfigs = new List <ListConfig> { new ListConfig { Name = "Value One", Value = 1 }, new ListConfig { Name = "Value Two", Value = 2 } } }; var config2 = new SampleConfig { LlamaCapacity = 41, Name = "Name 2", Decimal = 41.47m, StartDate = new DateTime(2013, 11, 11), IsLlamaFarmer = true, Option = optionProvider.GetOptions().First(), MoarOptions = optionProvider.GetOptions().Take(2).ToList(), }; var serviceProvider = services.BuildServiceProvider(); var configRepo = serviceProvider.GetService <IConfigRepository>(); configRepo.UpdateClientAsync(new ConfigurationClient { ClientId = applicationId, Name = "Mvc App", Description = "Embeded Application" }).Wait(); configRepo.UpdateClientAsync(new ConfigurationClient { ClientId = application2Id, Name = "Mvc App 2", Description = "Second Application" }).Wait(); configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config, applicationId)).Wait(); configRepo.UpdateConfigAsync(new ConfigInstance <SampleConfig>(config2, application2Id)).Wait(); }
internal ExtensionImageVersion(XElement xml) { var azureNamespace = XmlNamespaces.WindowsAzure; xml.HydrateObject(azureNamespace, this); PublicConfigurationSchema = PublicConfigurationSchema.FromBase64String(); PrivateConfigurationSchema = PrivateConfigurationSchema.FromBase64String(); SampleConfig = SampleConfig.FromBase64String(); }
public void GetPageScenesTest() { var config = new SampleConfig(); Assert.AreEqual(new[] { SampleScene.PageScene1, SampleScene.PageScene2, }, config.GetPageScenes()); }
public FooController( IFooService fooService, IOptions <SampleConfig> sampleConfig, ILogger <FooController> logger) { _fooService = fooService; _logger = logger; // Example: Use IOptions pattern _sampleConfig = sampleConfig.Value; }
internal AvailableExtensionImage(XElement xml, Subscription subscription) { Subscription = subscription; var azureNamespace = XmlNamespaces.WindowsAzure; xml.HydrateObject(azureNamespace, this); PublicConfigurationSchema = PublicConfigurationSchema.FromBase64String(); PrivateConfigurationSchema = PrivateConfigurationSchema.FromBase64String(); SampleConfig = SampleConfig.FromBase64String(); Versions = new LatentSequence <ExtensionImageVersion>(GetExtensionImageVersionsAsync); }
public void ShouldSave() { //Given var instance = CreateInstance(); var value = new SampleConfig {Value = "value"}; //When var serializedValue = instance.Serialize(value); var result = instance.Deserialize<SampleConfig>(serializedValue); //Then result.Value.ShouldBe(value.Value); }
public void ShouldSaveGenericMetadata() { //Given var instance = CreateInstance(); var sampleConfig = new SampleConfig {Value = "value"}; var serializedMetadata = instance.Serialize(sampleConfig); var metadata = instance.Deserialize<PoeConfigMetadata<SampleConfig>>(serializedMetadata); //When var result = instance.Serialize(metadata); //Then result.ShouldBe(serializedMetadata); }
public void SucceedsIfOptionFound() { var sample = new SampleConfig { Option = OptionProvider.OptionOne }; modelBuilder.PropertyWithOptions <SampleConfig, Option, OptionProvider>(p => p.Option, provider => provider.GetOptions(), o => o.Id, o => o.Description); var model = modelBuilder.Build(); var result = target.Validate(sample, model); Assert.True(result.IsValid); }
public async Task SucceedsIfEqualToMax_decimal() { var max = 3m; var sample = new SampleConfig { Decimal = max }; modelBuilder.Property(k => k.Decimal).WithMaxValue(max); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public void SucceedsIfEqualToMin_decimal() { var min = 3m; var sample = new SampleConfig { Decimal = min }; modelBuilder.Property(k => k.Decimal).WithMinValue(min); var model = modelBuilder.Build(); var result = target.Validate(sample, model); Assert.True(result.IsValid); }
public void InitializeConfigWithoutSetName() { // Initialize config file Configuration = G9ConfigManagementSingleton <SampleConfig> .GetInstance(); // Initialize config var sampleConfig = new SampleConfig(); // Check config file name Assert.AreEqual(Configuration.ConfigFileName, nameof(SampleConfig)); // Check version Assert.AreEqual(Configuration.Configuration.ConfigVersion, sampleConfig.ConfigVersion); }
public async Task CallsUpdateWithRegularConfig() { var config = new SampleConfig { LlamaCapacity = 23 }; var existingInstance = new ConfigInstance <SampleConfig>(new SampleConfig(), expectedIdentity); var input = new UpdateConfigurationFromJsonUploadCommand(expectedIdentity, typeof(SampleConfig), JsonConvert.SerializeObject(config)); var result = await target.Handle(input); Assert.True(result.IsSuccessful); configRepository.Verify(repo => repo.UpdateConfigAsync(It.Is <ConfigInstance>(c => c.ConfigurationIdentity == existingInstance.ConfigurationIdentity && config.LlamaCapacity == ((ConfigInstance <SampleConfig>)c).Configuration.LlamaCapacity))); }
public void ShouldReadWithDefaultValues() { var @default = new SampleConfig { PiValue = 3.14159254f }; var objectInstance = TomlConfig .FromStream(Resources.Load("read.toml")) .ReadWithDefault(@default); Check.That(objectInstance.PiValue) .IsEqualTo(@default.PiValue); }
public async Task SucceedsIfEqualToMax_date() { var max = new DateTime(2013, 10, 10); var sample = new SampleConfig { StartDate = max }; modelBuilder.Property(k => k.StartDate).WithMaxValue(max); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public async Task SucceedsIfEqualToLength() { var max = 3; var sample = new SampleConfig { Name = "two" }; modelBuilder.Property(k => k.Name).WithMaxLength(max); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public async Task SucceedsIfPaternMatches() { var pattern = @"^\d{3}"; var sample = new SampleConfig { Name = "920wt" }; modelBuilder.Property(k => k.Name).WithPattern(pattern); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public void SucceedsIfEqualToMax_int() { var max = 3; var sample = new SampleConfig { LlamaCapacity = max }; modelBuilder.Property(k => k.LlamaCapacity).WithMaxValue(max); var model = modelBuilder.Build(); var result = target.Validate(sample, model); Assert.True(result.IsValid); }
public async Task SucceedsIfOptionFound() { var sample = new SampleConfig { OptionFromConfigSet = OptionFromConfigSet.OptionOne }; modelBuilder.PropertyWithOption(p => p.OptionFromConfigSet, (SampleConfigSet set) => set.Options); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public async Task SucceedsIfEqualToMin_int() { var min = 3; var sample = new SampleConfig { LlamaCapacity = min }; modelBuilder.Property(k => k.LlamaCapacity).WithMinValue(min); var model = modelBuilder.Build(); var result = await target.Validate(sample, model, configIdentity); Assert.True(result.IsValid); }
public void SucceedsIfEqualToMin_date() { var min = new DateTime(2013, 10, 10); var sample = new SampleConfig { StartDate = min }; modelBuilder.Property(k => k.StartDate).WithMinValue(min); var model = modelBuilder.Build(); var result = target.Validate(sample, model); Assert.True(result.IsValid); }
public ActionResult Api(string apiId) { if (!String.IsNullOrEmpty(apiId)) { SampleConfig.Register(Configuration); var apiModel = Configuration.GetHelpPageApiModel(apiId); if (apiModel != null) { return(View(apiModel)); } } return(View(ErrorViewName)); }
public async Task RaisesEvent() { var config = new SampleConfig { LlamaCapacity = 23 }; var existingInstance = new ConfigInstance <SampleConfig>(new SampleConfig(), expectedIdentity); var input = new UpdateConfigurationFromJsonUploadCommand(expectedIdentity, typeof(SampleConfig), JsonConvert.SerializeObject(config)); configurationService.Setup(r => r.GetAsync(input.ConfigurationType, input.Identity)) .ReturnsAsync(() => existingInstance); var result = await target.Handle(input); eventService.Verify(repo => repo.Publish(It.Is <ConfigurationUpdatedEvent>(c => c.ConfigurationType == existingInstance.ConfigType && c.Identity == expectedIdentity))); }
/// <summary> /// Creates a new sample. /// </summary> /// <param name="length">The sample's length, in bytes. </param> /// <param name="freq">The default sample rate. </param> /// <param name="channels">The number of channels... 1 = mono, 2 = stereo, etc. </param> /// <param name="max"> /// Maximum number of simultaneous playbacks... 1 (min) - 65535 (max)... use one of the /// SampleConfig.OverXX flags to choose the override decider, in the case of there being no free channel available for /// playback (ie. the sample is already playing max times). /// </param> /// <param name="config">Some configures of sample.</param> /// <exception cref="BassNotLoadedException"> /// Bass DLL not loaded, you must use <see cref="Initialize" /> to load Bass DLL /// first. /// </exception> /// <exception cref="BassErrorException"> /// Some error occur to call a Bass function, check the error code and error message /// to get more error information. /// </exception> public AudioSample(uint length, uint freq, uint channels, uint max, SampleConfig config) : this() { Handle = AudioSampleModule.SampleCreateFunction.CheckResult( AudioSampleModule.SampleCreateFunction.Delegate(length, freq, channels, max, config)); }