public void Test_WithType_NullIdentity(string identity) { IResourceResolverProvider provider = GetResolverProvider( ); IResourceResolver resolver = provider.GetResolverForType(new EntityRef("test:employee").Id); Assert.Throws <ArgumentNullException>(() => resolver.ResolveResource(identity)); }
public void Test_ResolveMultiple_Null( ) { long typeId = new EntityType( ).Id; IResourceResolverProvider provider = GetResolverProvider( ); IResourceResolver resolver = provider.GetResolverForType(typeId); Assert.Throws <ArgumentNullException>(() => resolver.ResolveResources(null)); }
public void Test_ResolveMultiple_Empty( ) { long typeId = new EntityType( ).Id; IResourceResolverProvider provider = GetResolverProvider( ); IResourceResolver resolver = provider.GetResolverForType(typeId); var entities = resolver.ResolveResources(new string [] { }); Assert.That(entities.Count, Is.EqualTo(0)); }
public void Test_Resolve_WithType_NotFound(string identity, string type, ResourceResolverError expectedError) { IResourceResolverProvider provider = GetResolverProvider( ); long typeId = new EntityRef(type).Id; IResourceResolver resolver = provider.GetResolverForType(typeId); ResourceResolverEntry entry = resolver.ResolveResource(identity); Assert.That(entry.Entity, Is.Null); Assert.That(entry.Error, Is.EqualTo(expectedError)); }
public void Test_ResolveResource_WithType_ByName(string identity, string type) { IResourceResolverProvider provider = GetResolverProvider( ); long typeId = new EntityRef(type).Id; IResourceResolver resolver = provider.GetResolverForType(typeId); ResourceResolverEntry entry = resolver.ResolveResource(identity); IEntity entity = entry.Entity; Assert.That(entity, Is.Not.Null); Assert.That(entity.As <Resource>( ).Name, Is.EqualTo(identity)); }
public void Test_ResolveMultiple_WithType_ByName( ) { string [] names = new [] { "David Quint", "Peter Aylett" }; IResourceResolverProvider provider = GetResolverProvider( ); long typeId = new EntityRef("test:employee").Id; IResourceResolver resolver = provider.GetResolverForType(typeId); var entities = resolver.ResolveResources(names); Assert.That(entities, Is.Not.Null); Assert.That(entities.Count, Is.EqualTo(2)); }
public void Test_ResolveMultiple_WithType_ByGuid( ) { string [] aliases = new [] { "test:aaDavidQuint", "test:aaPeterAylett" }; string [] guids = aliases.Select(alias => Entity.Get(new EntityRef(alias)).UpgradeId.ToString( )).ToArray( ); IResourceResolverProvider provider = GetResolverProvider( ); long typeId = new EntityRef("test:employee").Id; IResourceResolver resolver = provider.GetResolverForType(typeId); var entities = resolver.ResolveResources(guids); Assert.That(entities, Is.Not.Null); Assert.That(entities.Count, Is.EqualTo(2)); }
public void Test_Resolve_WithMapping_NotFound(string identity, string type, ResourceResolverError expectedError) { IResourceResolverProvider provider = GetResolverProvider( ); ApiResourceMapping mapping = new ApiResourceMapping( ); mapping.MappedType = Entity.Get <EntityType>("test:allFields"); mapping.Save( ); IResourceResolver resolver = provider.GetResolverForResourceMapping(mapping); ResourceResolverEntry entry = resolver.ResolveResource(identity); Assert.That(entry.Entity, Is.Null); Assert.That(entry.Error, Is.EqualTo(expectedError)); }
public void Test_ResolveResource_WithMapping_NoIdentityField_ByName(string identity, string type) { IResourceResolverProvider provider = GetResolverProvider( ); ApiResourceMapping mapping = new ApiResourceMapping( ); mapping.MappedType = Entity.Get <EntityType>(type); mapping.Save( ); IResourceResolver resolver = provider.GetResolverForResourceMapping(mapping); ResourceResolverEntry entry = resolver.ResolveResource(identity); IEntity entity = entry.Entity; Assert.That(entity, Is.Not.Null); Assert.That(entity.As <Resource>( ).Name, Is.EqualTo(identity)); }
public void Test_ResolveResource_WithType_ByGuid(string alias, string type, string name) { IEntity entity1 = Entity.Get(new EntityRef(alias)); string identity = entity1.UpgradeId.ToString( ); IResourceResolverProvider provider = GetResolverProvider( ); long typeId = new EntityRef(type).Id; IResourceResolver resolver = provider.GetResolverForType(typeId); ResourceResolverEntry entry = resolver.ResolveResource(identity); IEntity entity = entry.Entity; Assert.That(entity, Is.Not.Null); Assert.That(entity.As <Resource>( ).Name, Is.EqualTo(name)); }
/// <summary> /// Constructor /// </summary> /// <param name="entityRepository">Loads the mapping configuration.</param> /// <param name="resourceResolverProvider">Looks up related entities.</param> /// <param name="entityDefaultsDecoratorProvider"></param> public ReaderToEntityAdapterProvider([NotNull] IEntityRepository entityRepository, [NotNull] IResourceResolverProvider resourceResolverProvider, [CanBeNull] IEntityDefaultsDecoratorProvider entityDefaultsDecoratorProvider) { if (entityRepository == null) { throw new ArgumentNullException("entityRepository"); } if (resourceResolverProvider == null) { throw new ArgumentNullException("resourceResolverProvider"); } _entityRepository = entityRepository; _resourceResolverProvider = resourceResolverProvider; _entityDefaultsDecoratorProvider = entityDefaultsDecoratorProvider; }
public void Test_ResolveResource_WithMapping_NoIdentityField_ByGuid(string alias, string type, string name) { IEntity entity1 = Entity.Get(new EntityRef(alias)); string identity = entity1.UpgradeId.ToString(); IResourceResolverProvider provider = GetResolverProvider( ); ApiResourceMapping mapping = new ApiResourceMapping( ); mapping.MappedType = Entity.Get <EntityType>(type); mapping.Save( ); IResourceResolver resolver = provider.GetResolverForResourceMapping(mapping); ResourceResolverEntry entry = resolver.ResolveResource(identity); IEntity entity = entry.Entity; Assert.That(entity, Is.Not.Null); Assert.That(entity.As <Resource>( ).Name, Is.EqualTo(name)); }
/// <summary> /// Constructor /// </summary> /// <param name="readerToEntityAdapterProvider">The reader to entity adapter provider.</param> /// <param name="resourceResolverProvider">The resource resolver provider.</param> /// <param name="resourceUriGenerator">The resource URI generator.</param> /// <exception cref="System.ArgumentNullException"> /// readerToEntityAdapterProvider /// or /// resourceResolverProvider /// or /// resourceUriGenerator /// </exception> public ResourceEndpoint(IReaderToEntityAdapterProvider readerToEntityAdapterProvider, IResourceResolverProvider resourceResolverProvider, IResourceUriGenerator resourceUriGenerator) { if (readerToEntityAdapterProvider == null) { throw new ArgumentNullException("readerToEntityAdapterProvider"); } if (resourceResolverProvider == null) { throw new ArgumentNullException("resourceResolverProvider"); } if (resourceUriGenerator == null) { throw new ArgumentNullException("resourceUriGenerator"); } _readerToEntityAdapterProvider = readerToEntityAdapterProvider; _resourceResolverProvider = resourceResolverProvider; _resourceUriGenerator = resourceUriGenerator; }
public void Test_NullMapper( ) { IResourceResolverProvider provider = GetResolverProvider( ); Assert.Throws <ArgumentNullException>(() => provider.GetResolverForResourceMapping((ApiResourceMapping)null)); }
public void IResourceResolverProvider_Instance( ) { IResourceResolverProvider instance = Factory.Current.Resolve <IResourceResolverProvider>( ); Assert.That(instance, Is.TypeOf <ResourceResolverProvider>( )); }