public override async Task AddAsync(HttpWebRequest rawRequest, IHttpWebResponse rawResponse) { if (rawResponse == null) { return; } if (rawResponse.StatusCode != HttpStatusCode.OK) { return; } string content; using (var responseStream = rawResponse.GetResponseStream()) { using (var reader = new StreamReader(responseStream)) { content = await reader.ReadToEndAsync(); } } rawResponse.SetResponseStream(new MemoryStream(Encoding.UTF8.GetBytes(content))); var cacheTarget = DefaultXml.Serialize(new CachedOnDisk { PersistDate = DateTime.Now, LastModified = rawResponse.LastModified, Value = content }); var key = GetCacheKey(rawResponse); var path = GetKeyPath(key); File.WriteAllText(path, cacheTarget); }
public override CachedObject Get(HttpWebRequest req) { if (req == null) { return(null); } if (!string.Equals(req.Method, HttpMethods.Get, StringComparison.InvariantCultureIgnoreCase)) { return(null); } var key = GetCacheKey(req); var path = GetKeyPath(key); if (!File.Exists(path)) { return(null); } var xmlString = File.ReadAllText(path); var cachedOnDisk = (CachedOnDisk)DefaultXml.Deserialize(xmlString, _cacheObjectType); return(new CachedObject(() => new MemoryStream(Encoding.UTF8.GetBytes(cachedOnDisk.Value))) { ModifiedDate = cachedOnDisk.LastModified }); }
public void GetSystemUnderTest_ConnectionStringInDefault_CorrectlyInitialized() { var sutXml = new MembersXml() { ChildrenOf = "memberCaption", Item = new HierarchyXml() { Perspective = "perspective", Dimension = "dimension", Caption = "hierarchy", } }; var defXml = new DefaultXml { ConnectionString = new ConnectionStringXml() { Inline = "connectionString-default" } }; sutXml.Default = defXml; var ctrXml = new ContainXml(); var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>(); discoFactoMockFactory.Setup(dfs => dfs.Build( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(new MembersDiscoveryRequest()); var discoFactoMock = discoFactoMockFactory.Object; var builder = new MembersContainBuilder(discoFactoMock); builder.Setup(sutXml, ctrXml); builder.Build(); var sut = builder.GetSystemUnderTest(); Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>()); discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString-default", It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null)); }
public void GetSystemUnderTest_ConnectionStringInDefault_CorrectlyInitialized() { var sutXml = new MembersXml(); var item = new HierarchyXml(); sutXml.Item = item; item.Perspective = "perspective"; item.Dimension = "dimension"; item.Caption = "hierarchy"; var defXml = new DefaultXml(); defXml.ConnectionString = "connectionString-default"; sutXml.Default = defXml; var ctrXml = new OrderedXml(); var discoFactoMockFactory = new Mock <DiscoveryRequestFactory>(); discoFactoMockFactory.Setup(dfs => dfs.Build( It.IsAny <string>(), It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Returns(new MembersDiscoveryRequest()); var discoFactoMock = discoFactoMockFactory.Object; var builder = new MembersOrderedBuilder(discoFactoMock); builder.Setup(sutXml, ctrXml); builder.Build(); var sut = builder.GetSystemUnderTest(); Assert.That(sut, Is.InstanceOf <MembersDiscoveryRequest>()); discoFactoMockFactory.Verify(dfm => dfm.Build("connectionString-default", It.IsAny <string>(), It.IsAny <List <string> >(), It.IsAny <List <PatternValue> >(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), null)); }
public BaseItem() { Default = new DefaultXml(); Settings = new SettingsXml(); }
public AbstractSystemUnderTestXml() { Default = new DefaultXml(); Settings = new SettingsXml(); }
private string GetBaseConnectionString(string connectionString, IEnumerable <ReferenceXml> references, DefaultXml @default) { if (!string.IsNullOrEmpty(connectionString)) { if (!connectionString.StartsWith("@")) { return(connectionString); } else { return(references.FirstOrDefault(x => x.Name == connectionString.Remove(0, 1))?.ConnectionString?.GetValue()); } } else if (@default != null && @default.ConnectionString != null) { return(@default.ConnectionString.GetValue()); } else { return(null); } }
protected string Execute(string rawConnectionString, IEnumerable <ReferenceXml> references, DefaultXml @default, string roles, string basePath) { var connectionString = GetBaseConnectionString(rawConnectionString, references, @default); //If it's an ODC file if (!string.IsNullOrEmpty(connectionString) && connectionString.TrimEnd().EndsWith(".odc")) { return(new OfficeDataConnectionFileParser(basePath).GetConnectionString(connectionString)); } //We must remove all the characters such as \r \n or \t if (!string.IsNullOrEmpty(connectionString)) { connectionString = connectionString.Replace("\r", "").Replace("\n", "").Replace("\t", ""); } if (!string.IsNullOrEmpty(roles)) { connectionString = ReplaceRoles(connectionString, roles); } return(connectionString); }