public void Test_Mapping_StringField( )
        {
            ApiResourceMapping mapping = new ApiResourceMapping( );

            mapping.ResourceMappingIdentityField = Entity.Get <Field>("core:description");
            mapping.Save( );

            ConnectorRequest request = new ConnectorRequest
            {
                ControllerRootPath = "https://whatever/spapi/api/",
                TenantName         = "Tenant1",
                ApiPath            = new string [] { "testapi", "testendpoint" }
            };

            Resource resource = new Resource( );

            resource.Description = "Test1";
            resource.Save( );

            string expected = "https://whatever/spapi/api/Tenant1/testapi/testendpoint/Test1";

            IResourceUriGenerator generator = GetGenerator( );
            string actual = generator.CreateResourceUri(resource, request, mapping);

            Assert.That(actual, Is.EqualTo(expected));
        }
 public ReleasePublishedWebhookHandler(ILogger <ReleasePublishedWebhookHandler> logger, IApplicationDbContext db, IWebhookBuilderFactory webhookBuilderFactory, IResourceUriGenerator resourceUriGenerator)
 {
     _logger = logger;
     _db     = db;
     _webhookBuilderFactory = webhookBuilderFactory;
     _resourceUriGenerator  = resourceUriGenerator;
 }
        public void Test_Mapping_EntityGuid( )
        {
            ApiResourceMapping mapping = new ApiResourceMapping( );

            mapping.Save();

            ConnectorRequest request = new ConnectorRequest
            {
                ControllerRootPath = "https://whatever/spapi/api/",
                TenantName         = "Tenant1",
                ApiPath            = new string [] { "testapi", "testendpoint" }
            };

            Resource resource = new Resource( );

            resource.Save( );
            Assert.That(resource.UpgradeId, Is.Not.EqualTo(Guid.Empty));

            string expected = "https://whatever/spapi/api/Tenant1/testapi/testendpoint/" + resource.UpgradeId.ToString( );

            IResourceUriGenerator generator = GetGenerator( );
            string actual = generator.CreateResourceUri(resource, request, mapping);

            Assert.That(actual, Is.EqualTo(expected));
        }
 public GetReleasesListHandler(IApplicationDbContext db, IVersionParser versionParser, ISortableVersionPrinter sortableVersionPrinter, IResourceUriGenerator resourceUriGenerator)
 {
     _db                     = db;
     _versionParser          = versionParser;
     _sortableVersionPrinter = sortableVersionPrinter;
     _resourceUriGenerator   = resourceUriGenerator;
 }
Example #5
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;
        }
        public void Test_Null_Mapping( )
        {
            IResourceUriGenerator generator = GetGenerator( );

            Assert.Throws <ArgumentNullException>(() => generator.CreateResourceUri(new Resource( ), new ConnectorRequest( ), null));
        }
        public static IBcsApplicationBuilder AddApplication(this IServiceCollection services, IResourceUriGenerator resourceUriGenerator)
        {
            services.AddValidatorsFromAssembly(typeof(DepencencyInjectionExtensions).Assembly);
            services.AddMediatR(typeof(DepencencyInjectionExtensions));
            //services.AddTransient(typeof(IRequestPreProcessor<>), typeof(RequestLoggingBehavior<>));
            services.AddTransient(typeof(IPipelineBehavior <,>), typeof(RequestApiKeyValidationBehavior <,>));
            services.AddTransient(typeof(IPipelineBehavior <,>), typeof(ValidationBehavior <,>));
            services.AddTransient(typeof(IPipelineBehavior <,>), typeof(EventBehavior <,>));
            services.AddTransient(typeof(IPipelineBehavior <,>), typeof(PersistDataBehavior <,>));
            services.AddSingleton <IVersionParser, VersionParser>();
            services.AddSingleton <IVersionPrinter, VersionPrinter>();
            services.AddSingleton <ISortableVersionPrinter, SortableVersionPrinter>();
            services.AddScoped <IDomainEventManager, DomainEventManager>();
            services.AddSingleton(sp => resourceUriGenerator);

            return(new BcsApplicationBuilder(services));
        }