Beispiel #1
0
        public void CanReturnHierarchyAndOmitHiddenReports()
        {
            var serviceMock = MakeMockSsrsService();
            var item1       = new CatalogItem()
            {
                Path     = @"/Test1",
                Name     = @"Test1",
                TypeName = CrcReportFolderFactory.ReportServiceItemTypes.Report,
                Hidden   = true
            };
            var item2 = new CatalogItem()
            {
                Path     = @"/Test2",
                Name     = @"Test2",
                TypeName = CrcReportFolderFactory.ReportServiceItemTypes.Report,
                Hidden   = false
            };

            CatalogItem[] twoitems = new CatalogItem[] { item1, item2 };

            var returnResponse = new ListChildrenResponse(null, twoitems);

            serviceMock.Expect(s => s.ListChildren(Arg <ListChildrenRequest> .Matches(lcr => lcr.ItemPath == @"/"))).Return(returnResponse);

            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(0, ret.SubFolders.Count());
            Assert.AreEqual(1, ret.Reports.Count());
            Assert.IsTrue(ret.Reports.FirstOrDefault(r => r.DisplayName == @"Test2") != null);
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context)
        {
            ListChildrenResponse response = new ListChildrenResponse();

            context.Read();
            int targetDepth = context.CurrentDepth;

            while (context.ReadAtDepth(targetDepth))
            {
                if (context.TestExpression("Children", targetDepth))
                {
                    var unmarshaller = new ListUnmarshaller <Child, ChildUnmarshaller>(ChildUnmarshaller.Instance);
                    response.Children = unmarshaller.Unmarshall(context);
                    continue;
                }
                if (context.TestExpression("NextToken", targetDepth))
                {
                    var unmarshaller = StringUnmarshaller.Instance;
                    response.NextToken = unmarshaller.Unmarshall(context);
                    continue;
                }
            }

            return(response);
        }
Beispiel #3
0
        public void SetListChildrenExpectation(ReportingService2010Soap mockService, string path, CatalogItem[] returnItems)
        {
            var lcResponse = new ListChildrenResponse(null, returnItems);

            mockService.Expect(m => m.ListChildren(
                                   Arg <ListChildrenRequest> .Matches(
                                       lcr => lcr.ItemPath == path)
                                   )).Return(lcResponse);
        }
Beispiel #4
0
        public void CanReturnHierarchyForFolderWithReports()
        {
            var serviceMock = MakeMockSsrsService();
            var folder1     = new CatalogItem()
            {
                Path     = "/Foo",
                Name     = "Foo",
                TypeName = CrcReportFolderFactory.ReportServiceItemTypes.Folder,
            };

            CatalogItem[] onefolder = new CatalogItem[] { folder1 };
            var           item1     = new CatalogItem()
            {
                Path     = @"/Foo/Test1",
                Name     = @"Test1",
                TypeName = CrcReportFolderFactory.ReportServiceItemTypes.Report,
            };
            var item2 = new CatalogItem()
            {
                Path     = @"/Foo/Test2",
                Name     = @"Test2",
                TypeName = CrcReportFolderFactory.ReportServiceItemTypes.Report,
            };

            CatalogItem[] twoitems = new CatalogItem[] { item1, item2 };

            var returnResponse1 = new ListChildrenResponse(null, onefolder);

            serviceMock.Expect(s => s.ListChildren(Arg <ListChildrenRequest> .Matches(lcr => lcr.ItemPath == @"/"))).Return(returnResponse1);
            var expectedRequest2 = new ListChildrenRequest(null, @"/Foo", false); // first param null?
            var returnResponse2  = new ListChildrenResponse(null, twoitems);

            serviceMock.Expect(s => s.ListChildren(Arg <ListChildrenRequest> .Matches(lcr => lcr.ItemPath == @"/Foo"))).Return(returnResponse2);


            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(1, ret.SubFolders.Count());
            Assert.AreEqual(0, ret.Reports.Count());
            var subFolder = ret.SubFolders[0];

            Assert.AreEqual("/Foo", subFolder.Path);
            Assert.AreEqual("Foo", subFolder.FolderName);
            Assert.IsTrue(subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test1") != null);
            Assert.AreEqual(@"/Foo/Test1", subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test1").ReportPath);
            Assert.IsTrue(subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test2") != null);
            Assert.AreEqual(@"/Foo/Test2", subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test2").ReportPath);
        }
Beispiel #5
0
        public void CanReturnHierarchyForEmptyList()
        {
            var serviceMock = MakeMockSsrsService();

            CatalogItem[] empty = new CatalogItem[0];

            var returnResponse = new ListChildrenResponse(null, empty);

            serviceMock.Expect(s => s.ListChildren(Arg <ListChildrenRequest> .Matches(lcr => lcr.ItemPath == @"/"))).Return(returnResponse);

            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(0, ret.SubFolders.Count());
            Assert.AreEqual(0, ret.Reports.Count());
        }
 public void SetListChildrenExpectation(ReportingService2005Soap mockService, string path, CatalogItem[] returnItems)
 {
     var lcResponse = new ListChildrenResponse(null, returnItems);
     mockService.Expect(m => m.ListChildren(
         Arg<ListChildrenRequest>.Matches(
         lcr => lcr.Item == path)
         )).Return(lcResponse);
 }
        public void CanReturnHierarchyAndOmitHiddenReports()
        {
            var serviceMock = MakeMockSsrsService();
            var item1 = new CatalogItem()
            {
                Path = @"/Test1",
                Name = @"Test1",
                Type = ItemTypeEnum.Report,
                Hidden = true
            };
            var item2 = new CatalogItem()
            {
                Path = @"/Test2",
                Name = @"Test2",
                Type = ItemTypeEnum.Report,
                Hidden = false
            };
            CatalogItem[] twoitems = new CatalogItem[] { item1, item2 };

            var returnResponse = new ListChildrenResponse(null, twoitems);
            serviceMock.Expect(s => s.ListChildren(Arg<ListChildrenRequest>.Matches(lcr => lcr.Item == @"/"))).Return(returnResponse);

            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(0, ret.SubFolders.Count());
            Assert.AreEqual(1, ret.Reports.Count());
            Assert.IsTrue(ret.Reports.FirstOrDefault(r => r.DisplayName == @"Test2") != null);
        }
        public void CanReturnHierarchyForFolderWithReports()
        {
            var serviceMock = MakeMockSsrsService();
            var folder1 = new CatalogItem()
            {
                Path = "/Foo",
                Name = "Foo",
                Type = ItemTypeEnum.Folder
            };
            CatalogItem[] onefolder = new CatalogItem[] { folder1 };
            var item1 = new CatalogItem()
            {
                Path = @"/Foo/Test1",
                Name = @"Test1",
                Type = ItemTypeEnum.Report
            };
            var item2 = new CatalogItem()
            {
                Path = @"/Foo/Test2",
                Name = @"Test2",
                Type = ItemTypeEnum.Report
            };
            CatalogItem[] twoitems = new CatalogItem[] { item1, item2 };

            var returnResponse1 = new ListChildrenResponse(null, onefolder);
            serviceMock.Expect(s => s.ListChildren(Arg<ListChildrenRequest>.Matches(lcr => lcr.Item == @"/") )).Return(returnResponse1);
            var expectedRequest2 = new ListChildrenRequest(@"/Foo", false);
            var returnResponse2 = new ListChildrenResponse(null, twoitems);
            serviceMock.Expect(s => s.ListChildren(Arg<ListChildrenRequest>.Matches(lcr => lcr.Item == @"/Foo"))).Return(returnResponse2);

            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(1, ret.SubFolders.Count());
            Assert.AreEqual(0, ret.Reports.Count());
            var subFolder = ret.SubFolders[0];
            Assert.AreEqual("/Foo", subFolder.Path);
            Assert.AreEqual("Foo", subFolder.FolderName);
            Assert.IsTrue(subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test1") != null);
            Assert.AreEqual(@"/Foo/Test1", subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test1").ReportPath);
            Assert.IsTrue(subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test2") != null);
            Assert.AreEqual(@"/Foo/Test2", subFolder.Reports.FirstOrDefault(r => r.DisplayName == @"Test2").ReportPath);
        }
        public void CanReturnHierarchyForEmptyList()
        {
            var serviceMock = MakeMockSsrsService();
            CatalogItem[] empty = new CatalogItem[0];

            var returnResponse = new ListChildrenResponse(null, empty);
            serviceMock.Expect(s => s.ListChildren( Arg<ListChildrenRequest>.Matches(lcr => lcr.Item == @"/"))).Return(returnResponse);

            var fac = new CrcReportFolderFactory();
            var ret = fac.Create(serviceMock);

            Assert.IsNotNull(ret);
            Assert.AreEqual(String.Empty, ret.FolderName);
            Assert.AreEqual(@"/", ret.Path);
            Assert.AreEqual(0, ret.SubFolders.Count());
            Assert.AreEqual(0, ret.Reports.Count());
        }