Пример #1
0
        public void ParseFoldersWhenMultipleFolderNodeAndCreateThem()
        {
            var mockFolderService = new Mock <FolderService>();

            mockFolderService.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>())).Verifiable();
            var folderService = mockFolderService.Object;

            var stubReportService = new Mock <ReportService>();

            stubReportService.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <Dictionary <string, string> >(), It.IsAny <Dictionary <string, string> >())).Verifiable();
            var reportService = stubReportService.Object;

            var stubReportParser = new Mock <ReportParser>(reportService);

            stubReportParser.Setup(s => s.Execute(It.IsAny <XmlNode>())).Verifiable();
            var childParser = (IParser)stubReportParser.Object;

            var folderParser = new FolderParser(folderService, Enumerable.Repeat(childParser, 1));

            var xmlDoc = new XmlDocument();

            using (Stream stream = Assembly.GetExecutingAssembly()
                                   .GetManifestResourceStream("RsPackage.Testing.Resources.MultiLevelSample.xml"))
                using (StreamReader reader = new StreamReader(stream))
                    xmlDoc.Load(reader);

            var root = xmlDoc.FirstChild.NextSibling;

            folderParser.Execute(root);

            Mock.Get(folderService).Verify(s => s.Create("Analysis", null));
            Mock.Get(folderService).Verify(s => s.Create("Low-level", null));
            Mock.Get(folderService).Verify(s => s.Create("Realtime", "/Analysis"));
            Mock.Get(folderService).Verify(s => s.Create("Confidential", "/Analysis/Realtime"));
        }
Пример #2
0
        public void ParseFolderWithPolicy()
        {
            var stubFolderService = new Mock <FolderService>();

            stubFolderService.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>()));
            var folderService = stubFolderService.Object;

            var mockPolicyParser = new Mock <PolicyParser>();

            mockPolicyParser.Setup(p => p.Execute(It.IsAny <XmlNode>())).Verifiable();
            var policyParser = mockPolicyParser.Object;

            var parser = new FolderParser(folderService, new[] { policyParser });

            var xmlDoc = new XmlDocument();

            using (Stream stream = Assembly.GetExecutingAssembly()
                                   .GetManifestResourceStream("RsPackage.Testing.Resources.MultiLevelSample.xml"))
                using (StreamReader reader = new StreamReader(stream))
                    xmlDoc.Load(reader);

            var root = xmlDoc.FirstChild.NextSibling.SelectSingleNode("./Folder[@Name='Analysis']");

            parser.Execute(root);

            Mock.Get(policyParser).Verify(p => p.Execute(It.IsAny <XmlNode>()), Times.Exactly(2));
        }
Пример #3
0
        public void ParseReportsMultipleFolderNode()
        {
            var stubFolderService = new Mock <FolderService>();

            stubFolderService.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>())).Verifiable();
            var folderService = stubFolderService.Object;

            var stubReportService = new Mock <ReportService>();

            stubReportService.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <bool>(), It.IsAny <IDictionary <string, string> >(), It.IsAny <IDictionary <string, string> >())).Verifiable();
            var reportService = stubReportService.Object;

            var mockReportParser = new Mock <ReportParser>(reportService);

            mockReportParser.Setup(s => s.Execute(It.IsAny <XmlNode>())).Verifiable();
            var childParser = (IParser)mockReportParser.Object;

            var folderParser = new FolderParser(folderService, Enumerable.Repeat(childParser, 1));

            var xmlDoc = new XmlDocument();

            using (Stream stream = Assembly.GetExecutingAssembly()
                                   .GetManifestResourceStream("RsPackage.Testing.Resources.MultiLevelSample.xml"))
                using (StreamReader reader = new StreamReader(stream))
                    xmlDoc.Load(reader);

            var root = xmlDoc.FirstChild.NextSibling;

            folderParser.Execute(root);

            Mock.Get(childParser).Verify(s => s.Execute(It.IsAny <XmlNode>()), Times.Exactly(4));
        }
Пример #4
0
        public void ParseMultipleFolderNode()
        {
            var mock = new Mock <FolderService>();

            mock.Setup(s => s.Create(It.IsAny <string>(), It.IsAny <string>())).Verifiable();
            var service = mock.Object;

            var parser = new FolderParser(service);

            var xmlDoc = new XmlDocument();

            using (Stream stream = Assembly.GetExecutingAssembly()
                                   .GetManifestResourceStream("RsPackage.Testing.Resources.MultiLevelSample.xml"))
                using (StreamReader reader = new StreamReader(stream))
                    xmlDoc.Load(reader);

            var root = xmlDoc.FirstChild.NextSibling;

            parser.Execute(root);

            Mock.Get(service).Verify(s => s.Create(It.IsAny <string>(), It.IsAny <string>()), Times.Exactly(4));
        }