public void TestCacheListSettingsGroups() { var cache = new TestCacheClient(); cache.ClearCache(); var service = new TestConfigurationService(); object request = new ListSettingsGroupsRequest(); object response = new ListSettingsGroupsResponse(new List <SettingsGroupDescriptor>()); var invocation = new TestInvocation { Target = service, Method = typeof(IApplicationConfigurationReadService).GetMethod("ListSettingsGroups", BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public), TargetType = typeof(IApplicationConfigurationReadService), Request = request, Response = response }; var directive = new ResponseCachingDirective(true, TimeSpan.FromMinutes(1), ResponseCachingSite.Server); var advice = new ConcreteResponseCachingAdvice(directive); advice.Intercept(invocation); var cacheEntry = cache.Get("ListSettingsGroups", new CacheGetOptions("")); Assert.IsNotNull(cacheEntry); request = new ImportSettingsGroupRequest( new SettingsGroupDescriptor("Test", new Version(1, 0), "Test", "Test", true), new List <SettingsPropertyDescriptor>(new[] { new SettingsPropertyDescriptor("Test", "Test", "Test", SettingScope.User, "Test") })); response = new ImportSettingsGroupResponse(); invocation = new TestInvocation { Target = service, Method = typeof(IConfigurationService).GetMethod("ImportSettingsGroup", BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public), TargetType = typeof(IConfigurationService), Request = request, Response = response }; advice = new ConcreteResponseCachingAdvice(null); advice.Intercept(invocation); cacheEntry = cache.Get("ListSettingsGroups", new CacheGetOptions("")); Assert.IsNull(cacheEntry); }
public ImportSettingsGroupResponse ImportSettingsGroup(ImportSettingsGroupRequest request) { Platform.CheckForNullReference(request, "request"); Platform.CheckMemberIsSet(request.Group, "Group"); var broker = PersistenceContext.GetBroker <IConfigurationSettingsGroupBroker>(); var where = ConfigurationSettingsGroup.GetCriteria(request.Group); var group = CollectionUtils.FirstElement(broker.Find(where)); if (group == null) { // group doesn't exist, need to create it group = new ConfigurationSettingsGroup(); group.UpdateFromDescriptor(request.Group); PersistenceContext.Lock(group, DirtyState.New); } else { // update group from descriptor group.UpdateFromDescriptor(request.Group); } if (request.Properties != null) { // update properties group.SettingsProperties.Clear(); foreach (var descriptor in request.Properties) { var property = new ConfigurationSettingsProperty(); property.UpdateFromDescriptor(descriptor); group.SettingsProperties.Add(property); } } PersistenceContext.SynchState(); return(new ImportSettingsGroupResponse()); }
public ImportSettingsGroupResponse ImportSettingsGroup(ImportSettingsGroupRequest request) { throw new NotImplementedException(); }