Example #1
0
        public void ToUiFormat_ProvideCorrectProvisioningFormUrl()
        {
            var stringGuid = "B4F93552-53C5-4EF1-BBA6-0AF52C3B785B";
            var testId     = Guid.Parse(stringGuid);
            var package    = TestHarness.CreatePackageModel(id: testId);

            package.PackageType = Models.PackageType.Tenant;
            var uiPackage = PackageExtensions.ToUiFormat(package, "https://example.com/testing", false);

            Assert.AreEqual(
                "https://example.com/testing/tenant/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(),
                uiPackage.ProvisioningFormUrl.ToLower());

            package.PackageType = Models.PackageType.Tenant;
            uiPackage           = PackageExtensions.ToUiFormat(package, "https://example.com", false);
            Assert.AreEqual(
                "https://example.com/tenant/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(),
                uiPackage.ProvisioningFormUrl.ToLower());

            package.PackageType = Models.PackageType.SiteCollection;
            uiPackage           = PackageExtensions.ToUiFormat(package, "https://example.com/testing", false);
            Assert.AreEqual(
                "https://example.com/testing/site/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(),
                uiPackage.ProvisioningFormUrl.ToLower());

            package.PackageType = Models.PackageType.SiteCollection;
            uiPackage           = PackageExtensions.ToUiFormat(package, "https://example.com", false);
            Assert.AreEqual(
                "https://example.com/site/home/provision?packageId=B4F93552-53C5-4EF1-BBA6-0AF52C3B785B".ToLower(),
                uiPackage.ProvisioningFormUrl.ToLower());
        }
Example #2
0
        public void GetAllWithPackages_FiltersOutPreviewProperly()
        {
            using (var db = TestHarness.GetPortalContext())
            {
                db.Categories.AddRange(
                    new Models.Category
                {
                    Id                = "TESTONE",
                    DisplayName       = "Test one",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTWO",
                    DisplayName       = "Test Two",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                    }
                }
                    );
                db.SaveChanges();
            }

            var categories = service.GetAllWithPackages().GetAwaiter().GetResult();

            Assert.AreEqual(1, categories.Count(), "should have filtered out category with only preview packages");
            Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only non preview packages");

            categories = service.GetAllWithPackages(doIncludePreview: true).GetAwaiter().GetResult();
            Assert.AreEqual(2, categories.Count(), "should have all categories");
            Assert.AreEqual(3, categories[0].Packages.Count, "first category should have the correct number of packages");
            Assert.AreEqual(1, categories[1].Packages.Count, "second category should have the correct number of packages");
        }
Example #3
0
        public void GetAllWithPackages_FiltersOutPlatformProperly()
        {
            var packageId = Guid.NewGuid();

            using (var db = TestHarness.GetPortalContext())
            {
                db.Platforms.Add(new Models.Platform {
                    Id = "PLATFORMTWO"
                });
                db.Categories.AddRange(
                    new Models.Category
                {
                    Id                = "TESTONE",
                    DisplayName       = "Test one",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel()
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                "PLATFORMTWO"
                            })
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            }, id: packageId)
                        },
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTWO",
                    DisplayName       = "Test Two",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                "PLATFORMTWO"
                            })
                        },
                    }
                }
                    );
                db.SaveChanges();
            }

            var categories = service.GetAllWithPackages().GetAwaiter().GetResult();

            Assert.AreEqual(1, categories.Count(), "should have filtered out category with no packages for the platform");
            Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only packages for the platform");
            Assert.AreEqual(packageId, categories[0].Packages[0].Id);
        }
Example #4
0
        public void GetAllWithPackages_SortsProperly()
        {
            using (var db = TestHarness.GetPortalContext())
            {
                db.Categories.AddRange(
                    new Models.Category
                {
                    Id                = "TESTONE",
                    DisplayName       = "Test One",
                    Order             = 2,
                    PackageCategories = new List <Models.PackageCategory> {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            })
                        }
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTWO",
                    DisplayName       = "Test Two",
                    Order             = 0,
                    PackageCategories = new List <Models.PackageCategory> {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            })
                        }
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTHREE",
                    DisplayName       = "Test Three",
                    Order             = 1,
                    PackageCategories = new List <Models.PackageCategory> {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            })
                        }
                    }
                }
                    );
                db.SaveChanges();
            }

            var categories = service.GetAllWithPackages().GetAwaiter().GetResult();

            Assert.AreEqual("TESTTWO", categories.ElementAt(0).Id);
            Assert.AreEqual("TESTTHREE", categories.ElementAt(1).Id);
            Assert.AreEqual("TESTONE", categories.ElementAt(2).Id);
        }
Example #5
0
        public void GetFromQuery_FiltersByCategoryProperly()
        {
            var packageId1 = Guid.NewGuid();
            var packageId2 = Guid.NewGuid();

            using (var db = TestHarness.GetPortalContext())
            {
                var package1 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId1, platformIds: new List <string> {
                    TestPlatformId
                }));
                var package2 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId2, platformIds: new List <string> {
                    TestPlatformId
                }));
                db.Categories.AddRange(
                    new Models.Category
                {
                    Id                = "TESTONE",
                    DisplayName       = "Test One",
                    PackageCategories = new List <Models.PackageCategory> {
                        new Models.PackageCategory {
                            Package = package1.Entity
                        },
                        new Models.PackageCategory {
                            Package = package2.Entity
                        },
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTWO",
                    DisplayName       = "Test Two",
                    PackageCategories = new List <Models.PackageCategory> {
                        new Models.PackageCategory {
                            Package = package1.Entity
                        },
                    }
                }
                    );
                db.SaveChanges();
            }

            var packages = service.GetFromQuery(categoryId: "TESTONE").GetAwaiter().GetResult();

            Assert.AreEqual(2, packages.Count());
            Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package");
            Assert.IsTrue(packages.Any(p => p.Id == packageId2), "should contain the second package");

            packages = service.GetFromQuery(categoryId: "TESTTWO").GetAwaiter().GetResult();
            Assert.AreEqual(1, packages.Count());
            Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package");
        }
Example #6
0
        public void GetAllWithPackages_FiltersOutVisibleProperly()
        {
            using (var db = TestHarness.GetPortalContext())
            {
                db.Categories.AddRange(
                    new Models.Category
                {
                    Id                = "TESTONE",
                    DisplayName       = "Test one",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                    }
                },
                    new Models.Category
                {
                    Id                = "TESTTWO",
                    DisplayName       = "Test Two",
                    PackageCategories = new List <Models.PackageCategory>
                    {
                        new Models.PackageCategory {
                            Package = TestHarness.CreatePackageModel(isVisible: false, platformIds: new List <string> {
                                TestPlatformId
                            })
                        },
                    }
                }
                    );
                db.SaveChanges();
            }

            var categories = service.GetAllWithPackages().GetAwaiter().GetResult();

            Assert.AreEqual(1, categories.Count(), "should have filtered out category with no visible packages");
            Assert.AreEqual(1, categories[0].Packages.Count, "first category should have only visble packages");
        }
Example #7
0
        public void GetById_GetsById()
        {
            var id       = Guid.NewGuid();
            var metaData = new Models.UI.MetaData
            {
                DisplayInfo = new Models.UI.DisplayInfo
                {
                    PageTemplateId     = "my-template-id",
                    SystemRequirements = new List <Models.UI.SystemRequirement>
                    {
                        new Models.UI.SystemRequirement {
                            Name = "TestRequirement", Value = "TestValue"
                        }
                    }
                }
            };

            using (var db = TestHarness.GetPortalContext())
            {
                db.Packages.AddRange(
                    TestHarness.CreatePackageModel(id: id, metaData: metaData, platformIds: new List <string> {
                    TestPlatformId
                }),
                    TestHarness.CreatePackageModel(platformIds: new List <string> {
                    TestPlatformId
                })
                    );

                db.SaveChanges();
            }

            var package = service.GetById(id).GetAwaiter().GetResult();

            Assert.IsNotNull(package);
            Assert.AreEqual(id, package.Id);

            Assert.IsNotNull(package.DisplayInfo);
            Assert.AreEqual(metaData.DisplayInfo.PageTemplateId, package.DisplayInfo.PageTemplateId);
            Assert.AreEqual(1, package.DisplayInfo.SystemRequirements.Count);
            Assert.AreEqual("TestRequirement", package.DisplayInfo.SystemRequirements[0].Name);
            Assert.AreEqual("TestValue", package.DisplayInfo.SystemRequirements[0].Value);
        }
Example #8
0
        public void GetFromQuery_FiltersOutPlatformProperly()
        {
            var packageId1 = Guid.NewGuid();
            var packageId2 = Guid.NewGuid();

            using (var db = TestHarness.GetPortalContext())
            {
                var package1 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId1, platformIds: new List <string> {
                    TestPlatformId
                }));
                var package2 = db.Packages.Add(TestHarness.CreatePackageModel(id: packageId2, platformIds: new List <string> {
                    TestPlatformId
                }));
                var package3 = db.Packages.Add(TestHarness.CreatePackageModel(id: Guid.NewGuid()));
                db.Platforms.Add(
                    new Models.Platform
                {
                    Id = "PLATFORMTWO",
                    PackagePlatforms = new List <Models.PackagePlatform>
                    {
                        new Models.PackagePlatform {
                            Package = package1.Entity
                        },
                        new Models.PackagePlatform {
                            Package = package2.Entity
                        },
                        new Models.PackagePlatform {
                            Package = package3.Entity
                        },
                    }
                }
                    );
                db.SaveChanges();
            }

            var packages = service.GetFromQuery().GetAwaiter().GetResult();

            Assert.AreEqual(2, packages.Count());
            Assert.IsTrue(packages.Any(p => p.Id == packageId1), "should contain the first package");
            Assert.IsTrue(packages.Any(p => p.Id == packageId2), "should contain the second package");
        }
Example #9
0
        public void GetById_FiltersOutPlatformProperly()
        {
            var id = Guid.NewGuid();
            var idNotInPlatform = Guid.NewGuid();

            using (var db = TestHarness.GetPortalContext())
            {
                db.Packages.AddRange(
                    TestHarness.CreatePackageModel(id: id, platformIds: new List <string> {
                    TestPlatformId
                }),
                    TestHarness.CreatePackageModel(id: idNotInPlatform)
                    );
                db.SaveChanges();
            }

            var package = service.GetById(id).GetAwaiter().GetResult();

            Assert.IsNotNull(package, "should find package in the platform");

            package = service.GetById(idNotInPlatform).GetAwaiter().GetResult();
            Assert.IsNull(package, "should not find package that is not in the platform");
        }
Example #10
0
        public void GetById_FiltersOutPreviewProperly()
        {
            var id = Guid.NewGuid();

            using (var db = TestHarness.GetPortalContext())
            {
                db.Packages.AddRange(
                    TestHarness.CreatePackageModel(id: id, preview: true, platformIds: new List <string> {
                    TestPlatformId
                }),
                    TestHarness.CreatePackageModel(platformIds: new List <string> {
                    TestPlatformId
                })
                    );
                db.SaveChanges();
            }

            var package = service.GetById(id).GetAwaiter().GetResult();

            Assert.IsNull(package, "should filter out preview package when not including preview");

            package = service.GetById(id, doIncludePreview: true).GetAwaiter().GetResult();
            Assert.IsNotNull(package, "should find package when including preview");
        }
Example #11
0
        public void GetFromQuery_FiltersOutPreviewProperly()
        {
            var metaData = new Models.UI.MetaData
            {
                DisplayInfo = new Models.UI.DisplayInfo
                {
                    PageTemplateId     = "my-template-id",
                    SystemRequirements = new List <Models.UI.SystemRequirement>
                    {
                        new Models.UI.SystemRequirement {
                            Name = "TestRequirement", Value = "TestValue"
                        }
                    }
                }
            };

            using (var db = TestHarness.GetPortalContext())
            {
                db.Packages.AddRange(
                    TestHarness.CreatePackageModel(preview: true, platformIds: new List <string> {
                    TestPlatformId
                }),
                    TestHarness.CreatePackageModel(platformIds: new List <string> {
                    TestPlatformId
                })
                    );
                db.SaveChanges();
            }

            var packages = service.GetFromQuery().GetAwaiter().GetResult();

            Assert.AreEqual(1, packages.Count());

            packages = service.GetFromQuery(doIncludePreview: true).GetAwaiter().GetResult();
            Assert.AreEqual(2, packages.Count());
        }