Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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
            });
        }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
 public BaseItem()
 {
     Default  = new DefaultXml();
     Settings = new SettingsXml();
 }
Exemplo n.º 6
0
 public AbstractSystemUnderTestXml()
 {
     Default  = new DefaultXml();
     Settings = new SettingsXml();
 }
Exemplo n.º 7
0
 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);
     }
 }
Exemplo n.º 8
0
        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);
        }