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; }
/// <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)); }