public void Setup() { _frameworkContext = new FakeFrameworkContext(); _unitScopedCache = new DictionaryScopedCache(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(1, 0, 1, _frameworkContext); var idRoot = new Uri("oh-yeah://this-is-my-root/"); _groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(_frameworkContext), _frameworkContext, () => _unitScopedCache); }
private HiveEntityUri ExecuteBinding(IValueProvider form, RouteData routeData, out ModelBindingContext bindingContext, out ControllerContext controllerContext) { var modelBinder = new HiveEntityUriModelBinder(); var httpContextFactory = new FakeHttpContextFactory("~/Umbraco/Editors/ContentEditor/Edit/1", routeData); var fakeFrameworkContext = new FakeFrameworkContext(); var hive = FakeHiveCmsManager.New(fakeFrameworkContext); var resolverContext = new MockedMapResolverContext(hive, new MockedPropertyEditorFactory(), new MockedParameterEditorFactory()); var webmModelMapper = new CmsModelMapper(resolverContext); var cmsPersistenceModelMapper = new CmsPersistenceModelMapper(resolverContext); var cmsModelMapper = new CmsDomainMapper(resolverContext); fakeFrameworkContext.SetTypeMappers(new FakeTypeMapperCollection(new AbstractTypeMapper[] { webmModelMapper, cmsModelMapper, cmsPersistenceModelMapper })); var umbracoApplicationContext = new FakeUmbracoApplicationContext(hive); controllerContext = new ControllerContext( httpContextFactory.RequestContext, new ContentEditorController(new FakeBackOfficeRequestContext(umbracoApplicationContext))); //put both the form and route values in the value provider var routeDataValueProvider = new RouteDataValueProvider(controllerContext); var values = new ValueProviderCollection(new List <IValueProvider>() { form, routeDataValueProvider }); bindingContext = GetBindingContext(new HiveEntityUri(1), values); //do the binding! var model = modelBinder.BindModel(controllerContext, bindingContext); //assert! Assert.IsInstanceOfType(model, typeof(HiveEntityUri), "Model isn't a HiveEntityUri"); var boundModel = (HiveEntityUri)model; return(boundModel); }
private HiveId ExecuteBinding(IValueProvider form, RouteData routeData, out ModelBindingContext bindingContext, out ControllerContext controllerContext) { var modelBinder = new HiveIdModelBinder(); var httpContextFactory = new FakeHttpContextFactory("~/Rebel/Editors/ContentEditor/Edit/1", routeData); var fakeFrameworkContext = new FakeFrameworkContext(); var hive = FakeHiveCmsManager.New(fakeFrameworkContext); var appContext = new FakeRebelApplicationContext(hive); var resolverContext = new MockedMapResolverContext(fakeFrameworkContext, hive, new MockedPropertyEditorFactory(appContext), new MockedParameterEditorFactory()); var webmModelMapper = new CmsModelMapper(resolverContext); fakeFrameworkContext.SetTypeMappers(new FakeTypeMapperCollection(new AbstractMappingEngine[] { webmModelMapper, new FrameworkModelMapper(fakeFrameworkContext) })); var rebelApplicationContext = new FakeRebelApplicationContext(hive); controllerContext = new ControllerContext( httpContextFactory.RequestContext, new ContentEditorController(new FakeBackOfficeRequestContext(rebelApplicationContext))); //put both the form and route values in the value provider var routeDataValueProvider = new RouteDataValueProvider(controllerContext); var values = new ValueProviderCollection(new List <IValueProvider>() { form, routeDataValueProvider }); bindingContext = GetBindingContext(new HiveId(1), values); //do the binding! var model = modelBinder.BindModel(controllerContext, bindingContext); //assert! Assert.That(model, Is.InstanceOf <HiveId>(), "Model isn't a HiveId"); var boundModel = (HiveId)model; return(boundModel); }
/// <summary> /// Returns a HiveManager using Examine /// </summary> /// <returns></returns> protected override IHiveManager CreateHiveManager() { return(FakeHiveCmsManager.NewWithExamine(new[] { FakeHiveCmsManager.CreateFakeTemplateMappingGroup(FrameworkContext) }, FrameworkContext)); }
public void WhenProviderIsMatched_IdIsRemappedToMappingGroup_OnReturn( int allItemCount, int numbProviderCount, int numberOfPassthroughProviders) { // Arrange var context = new FakeFrameworkContext(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(numbProviderCount, numberOfPassthroughProviders, allItemCount, context); var idRoot = new Uri("oh-yeah://this-is-my-root/"); var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context); // Act & Assert using (var uow = groupUnitFactory.Create <IContentStore>()) { Assert.NotNull(uow.IdRoot); Assert.AreEqual(uow.IdRoot, idRoot); var singleItem = uow.Repositories.Get <TypedEntity>(HiveId.Empty); Assert.NotNull(singleItem); Assert.NotNull(singleItem.Id.ProviderGroupRoot); Assert.AreEqual(singleItem.Id.ProviderGroupRoot, idRoot); Assert.NotNull(singleItem.Id.ProviderId); Assert.True(singleItem.Id.ToString(HiveIdFormatStyle.AsUri).StartsWith(idRoot.ToString()), "Was: " + singleItem.Id.ToFriendlyString()); var items = uow.Repositories.GetAll <TypedEntity>(); var itemShouldBeCount = allItemCount * numbProviderCount; Assert.AreEqual(itemShouldBeCount, items.Count()); foreach (var typedEntity in items) { AssertEntityIdIsRooted(idRoot, ((IReferenceByHiveId)typedEntity).Id); } AssertRelationsIdsHaveRoot(uow.Repositories.GetParentRelations(HiveId.Empty), idRoot); AssertRelationsIdsHaveRoot(uow.Repositories.GetDescendentRelations(HiveId.Empty), idRoot); AssertRelationsIdsHaveRoot(uow.Repositories.GetChildRelations(HiveId.Empty), idRoot); AssertRelationsIdsHaveRoot(uow.Repositories.GetAncestorRelations(HiveId.Empty), idRoot); } }
public void WhenGetIsCalled_WithMultipleIds_MultipleItemsAreReturned( int allItemCount, int numbProviderCount, int numberOfPassthroughProviders) { // Arrange var context = new FakeFrameworkContext(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(numbProviderCount, numberOfPassthroughProviders, allItemCount, context); var idRoot = new Uri("oh-yeah://this-is-my-root/"); var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context); HiveId int1 = HiveId.ConvertIntToGuid(1); HiveId int2 = HiveId.ConvertIntToGuid(2); HiveId int3 = HiveId.ConvertIntToGuid(3); // Act & Assert using (var uow = groupUnitFactory.Create <IContentStore>()) { Assert.NotNull(uow.IdRoot); Assert.AreEqual(uow.IdRoot, idRoot); // TODO: This looks like a poor test since Get with multiple ids is actually just mocked to return three // but the purpose of this test is to establish that when running with multiple providers, some of which // are passthrough, only the correct number of items should be returned var items = uow.Repositories.Get <TypedEntity>(true, int1, int2, int3); Assert.That(items.Count(), Is.EqualTo(3 * numbProviderCount), "item count wrong"); // Assert that the correct number of relations are returned too including passthrough providers being filtered for var parents = uow.Repositories.GetParentRelations(HiveId.Empty); Assert.That(parents.Count(), Is.EqualTo(GroupedProviderMockHelper.MockRelationCount * numbProviderCount), "parents count wrong"); } }
public void WhenTypedEntity_IsReturnedFromGroupEntityRepository_ItsRelationProxies_HaveAbsoluteId() { // Arrange var context = new FakeFrameworkContext(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(1, 0, 50, context); var idRoot = new Uri("myroot://yeah/"); var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context); // Act & Assert using (var uow = groupUnitFactory.Create()) { Assert.NotNull(uow.IdRoot); Assert.AreEqual(uow.IdRoot, idRoot); var item = uow.Repositories.Get <TypedEntity>(HiveId.Empty); AssertIdsOfRelationProxiesForEntity(item, idRoot); var items = uow.Repositories.GetAll <TypedEntity>(); Assert.True(items.Any()); foreach (var typedEntity in items) { AssertIdsOfRelationProxiesForEntity(typedEntity, idRoot); } } }
public void WhenTypedEntity_IsReturnedFromGroupEntityRepository_AllObjects_HaveProviderId() { // Arrange var context = new FakeFrameworkContext(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(1, 0, 50, context); var idRoot = new Uri("myroot://yeah/"); var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context); // Act & Assert using (var uow = groupUnitFactory.Create()) { Assert.NotNull(uow.IdRoot); Assert.AreEqual(uow.IdRoot, idRoot); var singleItem = uow.Repositories.Get <TypedEntity>(HiveId.Empty); var allDependentItems = singleItem.GetAllIdentifiableItems().ToArray(); Assert.IsTrue(allDependentItems.Any()); Assert.That(allDependentItems.Select(x => x.Id).Distinct().Count(), Is.GreaterThan(1)); foreach (var referenceByHiveId in allDependentItems) { AssertEntityIdIsRooted(idRoot, referenceByHiveId.Id); } } }
public void Setup() { // Setup languages _languages = new List <LanguageElement> { new LanguageElement { IsoCode = "en-GB", Name = "English (United Kingdom)", Fallbacks = new FallbackCollection { new FallbackElement { IsoCode = "en-US" } } }, new LanguageElement { IsoCode = "en-US", Name = "English (United States)", Fallbacks = new FallbackCollection() } }; // Setup hive var context = new FakeFrameworkContext(); _hiveManager = FakeHiveCmsManager.NewWithNhibernate(new[] { CreateFakeDictionaryMappingGroup(context) }, context); var root = new TypedEntity { Id = FixedHiveIds.DictionaryVirtualRoot, EntitySchema = FixedSchemas.DictionaryRootSchema, UtcCreated = DateTime.Now, UtcModified = DateTime.Now, UtcStatusChanged = DateTime.Now }; var item1 = CreateDictionatyItem("test1", new Dictionary <string, string> { { "en-GB", "Hello GB" }, { "en-US", "Hello US" } }); var item2 = CreateDictionatyItem("test2", new Dictionary <string, string> { { "en-GB", "World GB" }, { "en-US", "World US" } }); var item3 = CreateDictionatyItem("test3", new Dictionary <string, string> { { "en-GB", "Something GB" }, { "en-US", "Something US" } }); // Act var writer = _hiveManager.GetWriter <IDictionaryStore>(); using (var uow = writer.Create <IDictionaryStore>()) { // Add entities uow.Repositories.AddOrUpdate(root); uow.Repositories.Revisions.AddOrUpdate(item1); uow.Repositories.Revisions.AddOrUpdate(item2); uow.Repositories.Revisions.AddOrUpdate(item3); // Add all relations uow.Repositories.AddRelation(FixedHiveIds.DictionaryVirtualRoot, item1.Item.Id, FixedRelationTypes.DefaultRelationType, 0); uow.Repositories.AddRelation(FixedHiveIds.DictionaryVirtualRoot, item2.Item.Id, FixedRelationTypes.DefaultRelationType, 0); uow.Repositories.AddRelation(item2.Item.Id, item3.Item.Id, FixedRelationTypes.DefaultRelationType, 0); uow.Complete(); } }
protected void TestSetup() { _helper = new NhibernateTestSetupHelper(); _groupUnitFactory = new GroupUnitFactory(_helper.ProviderSetup, new Uri("content://"), FakeHiveCmsManager.CreateFakeRepositoryContext(_helper.FakeFrameworkContext)); }
/// <summary> /// Returns a HiveManager configured with an in memory NH provider by default /// </summary> /// <returns></returns> protected virtual IHiveManager CreateHiveManager() { return(FakeHiveCmsManager.NewWithNhibernate(new[] { FakeHiveCmsManager.CreateFakeTemplateMappingGroup(FrameworkContext) }, FrameworkContext)); }
public void BeforeTest() { _setup = new MembershipWrapperTestSetupHelper(); _groupUnitFactory = new GroupUnitFactory(_setup.ProviderSetup, new Uri("content://"), FakeHiveCmsManager.CreateFakeRepositoryContext(_setup.FrameworkContext)); }
public void WhenSourceIsAccessed_LazyRelation_CallsRepository_WithBothSourceAndDestinationId() { // Arrange var context = new FakeFrameworkContext(); var providerGroup = GroupedProviderMockHelper.GenerateProviderGroup(1, 0, 50, context); var idRoot = new Uri("oh-yeah://this-is-my-root/"); var groupUnitFactory = new GroupUnitFactory(providerGroup.Writers, idRoot, FakeHiveCmsManager.CreateFakeRepositoryContext(context), context); HiveId int1 = HiveId.ConvertIntToGuid(1); HiveId int2 = HiveId.ConvertIntToGuid(2); // Act & Assert using (var uow = groupUnitFactory.Create()) { var lazyRelation = new LazyRelation <TypedEntity>(uow.Repositories, FixedRelationTypes.DefaultRelationType, int1, int2, 0); IReadonlyRelation <IRelatableEntity, IRelatableEntity> blah = lazyRelation; IRelationById blah2 = lazyRelation; Assert.False(lazyRelation.IsLoaded); var source = lazyRelation.Source; Assert.True(lazyRelation.IsLoaded); var dest = lazyRelation.Destination; Assert.NotNull(source); Assert.NotNull(dest); } }
protected void TestSetup() { _helper = new NhibernateTestSetupHelper(); //_helper = new NhibernateTestSetupHelper(useNhProf:true); //_helper = new NhibernateTestSetupHelper(@"Data Source=c:\temp\test.s3db;Version=3;", // SupportedNHDrivers.SqlLite, // "call", // true, // useNhProf: true); //_helper = new NhibernateTestSetupHelper(@"data source=.\sqlexpress2008;initial catalog=v5units;user id=rebel;password=rebel", SupportedNHDrivers.MsSql2008, "call", true, useNhProf: true); //_helper = new NhibernateTestSetupHelper(@"data source=C:\Users\Alex\Documents\My Web Sites\Rebel.Cms.Web.UI-Site\App_Data\Test2.sdf", SupportedNHDrivers.MsSqlCe4, "call", true, useNhProf: true); _groupUnitFactory = new GroupUnitFactory(_helper.ProviderSetup, new Uri("content://"), FakeHiveCmsManager.CreateFakeRepositoryContext(_helper.FakeFrameworkContext)); }