Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public void Test_ResolveMultiple_Null( )
        {
            long typeId = new EntityType( ).Id;

            IResourceResolverProvider provider = GetResolverProvider( );
            IResourceResolver         resolver = provider.GetResolverForType(typeId);

            Assert.Throws <ArgumentNullException>(() => resolver.ResolveResources(null));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
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));
        }
Ejemplo n.º 5
0
        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));
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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));
        }
Ejemplo n.º 8
0
        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));
        }
Ejemplo n.º 9
0
        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));
        }
Ejemplo n.º 10
0
        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));
        }
Ejemplo n.º 11
0
        /// <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;
        }
Ejemplo n.º 12
0
        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));
        }
Ejemplo n.º 13
0
        /// <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;
        }
Ejemplo n.º 14
0
        public void Test_NullMapper( )
        {
            IResourceResolverProvider provider = GetResolverProvider( );

            Assert.Throws <ArgumentNullException>(() => provider.GetResolverForResourceMapping((ApiResourceMapping)null));
        }
Ejemplo n.º 15
0
        public void IResourceResolverProvider_Instance( )
        {
            IResourceResolverProvider instance = Factory.Current.Resolve <IResourceResolverProvider>( );

            Assert.That(instance, Is.TypeOf <ResourceResolverProvider>( ));
        }