public AtomicSparseFieldSetResourceDefinitionTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddSingleton <LyricPermissionProvider>(); services.AddScoped <IResourceDefinition <Lyric, long>, LyricTextDefinition>(); services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); }
public IncludeTests(ExampleIntegrationTestContext <TestableStartup <QueryStringDbContext>, QueryStringDbContext> testContext) { _testContext = testContext; testContext.UseController <BlogPostsController>(); testContext.UseController <BlogsController>(); testContext.UseController <CommentsController>(); testContext.UseController <WebAccountsController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.MaximumIncludeDepth = null; }
public SparseFieldSetTests(ExampleIntegrationTestContext <TestableStartup <QueryStringDbContext>, QueryStringDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddSingleton <ResourceCaptureStore>(); services.AddResourceRepository <ResultCapturingRepository <Blog> >(); services.AddResourceRepository <ResultCapturingRepository <BlogPost> >(); services.AddResourceRepository <ResultCapturingRepository <WebAccount> >(); }); }
public ResponseMetaTests(ExampleIntegrationTestContext <TestableStartup <SupportDbContext>, SupportDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddSingleton <IResponseMeta, SupportResponseMeta>(); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = false; }
public EagerLoadingTests(ExampleIntegrationTestContext <TestableStartup <EagerLoadingDbContext>, EagerLoadingDbContext> testContext) { _testContext = testContext; testContext.UseController <StreetsController>(); testContext.UseController <StatesController>(); testContext.UseController <BuildingsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceRepository <BuildingRepository>(); }); }
public ZeroAsKeyTests(ExampleIntegrationTestContext <TestableStartup <ZeroKeyDbContext>, ZeroKeyDbContext> testContext) { _testContext = testContext; testContext.UseController <GamesController>(); testContext.UseController <MapsController>(); testContext.UseController <PlayersController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.UseRelativeLinks = true; options.AllowClientGeneratedIds = true; }
public RelativeLinksWithNamespaceTests(ExampleIntegrationTestContext <RelativeLinksInApiNamespaceStartup <LinksDbContext>, LinksDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = true; }
public CompositeKeyTests(ExampleIntegrationTestContext <TestableStartup <CompositeDbContext>, CompositeDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddResourceRepository <CarRepository>(); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.AllowClientGeneratedIds = true; }
public PaginationWithoutTotalCountTests(ExampleIntegrationTestContext <TestableStartup <QueryStringDbContext>, QueryStringDbContext> testContext) { _testContext = testContext; testContext.UseController <BlogPostsController>(); testContext.UseController <WebAccountsController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = false; options.DefaultPageSize = new PageSize(DefaultPageSize); options.AllowUnknownQueryStringParameters = true; }
public TopLevelCountTests(ExampleIntegrationTestContext <TestableStartup <SupportDbContext>, SupportDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = true; }
public OutboxTests(ExampleIntegrationTestContext <TestableStartup <OutboxDbContext>, OutboxDbContext> testContext) { _testContext = testContext; testContext.UseController <DomainUsersController>(); testContext.UseController <DomainGroupsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <OutboxUserDefinition>(); services.AddResourceDefinition <OutboxGroupDefinition>(); }); }
public ArchiveTests(ExampleIntegrationTestContext <TestableStartup <TelevisionDbContext>, TelevisionDbContext> testContext) { _testContext = testContext; testContext.UseController <TelevisionNetworksController>(); testContext.UseController <TelevisionStationsController>(); testContext.UseController <TelevisionBroadcastsController>(); testContext.UseController <BroadcastCommentsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <TelevisionBroadcastDefinition>(); }); }
public ResourceInjectionTests(ExampleIntegrationTestContext <TestableStartup <InjectionDbContext>, InjectionDbContext> testContext) { _testContext = testContext; testContext.UseController <GiftCertificatesController>(); testContext.UseController <PostOfficesController>(); testContext.ConfigureServicesBeforeStartup(services => { services.AddSingleton <ISystemClock, FrozenSystemClock>(); }); _fakers = new InjectionFakers(testContext.Factory.Services); }
public AtomicCreateResourceWithClientGeneratedIdTests( ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); // These routes need to be registered in ASP.NET for rendering links to resource/relationship endpoints. testContext.UseController <TextLanguagesController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.AllowClientGeneratedIds = true; }
public SerializationTests(ExampleIntegrationTestContext <TestableStartup <SerializationDbContext>, SerializationDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeExceptionStackTraceInErrors = false; options.AllowClientGeneratedIds = true; }
public CreateResourceTests(ExampleIntegrationTestContext <TestableStartup <ReadWriteDbContext>, ReadWriteDbContext> testContext) { _testContext = testContext; testContext.UseController <WorkItemsController>(); testContext.UseController <WorkItemGroupsController>(); testContext.UseController <UserAccountsController>(); testContext.UseController <RgbColorsController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.UseRelativeLinks = false; options.AllowClientGeneratedIds = false; }
public ResourceDefinitionQueryCallbackTests(ExampleIntegrationTestContext <TestableStartup <CallableDbContext>, CallableDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddScoped <IResourceDefinition <CallableResource>, CallableResourceDefinition>(); services.AddSingleton <IUserRolesService, FakeUserRolesService>(); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = true; }
public FilterDepthTests(ExampleIntegrationTestContext <TestableStartup <QueryStringDbContext>, QueryStringDbContext> testContext) { _testContext = testContext; testContext.UseController <BlogsController>(); testContext.UseController <BlogPostsController>(); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.EnableLegacyFilterNotation = false; options.DisableTopPagination = false; options.DisableChildrenPagination = false; }
public AtomicAbsoluteLinksTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); // These routes need to be registered in ASP.NET for rendering links to resource/relationship endpoints. testContext.UseController <TextLanguagesController>(); testContext.UseController <RecordCompaniesController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); }
public PaginationWithTotalCountTests(ExampleIntegrationTestContext <TestableStartup <QueryStringDbContext>, QueryStringDbContext> testContext) { _testContext = testContext; var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = true; options.DefaultPageSize = new PageSize(DefaultPageSize); options.MaximumPageSize = null; options.MaximumPageNumber = null; options.AllowUnknownQueryStringParameters = true; options.DisableTopPagination = false; options.DisableChildrenPagination = false; }
public AbsoluteLinksWithoutNamespaceTests(ExampleIntegrationTestContext <AbsoluteLinksNoNamespaceStartup <LinksDbContext>, LinksDbContext> testContext) { _testContext = testContext; testContext.UseController <PhotoAlbumsController>(); testContext.UseController <PhotosController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeTotalResourceCount = true; }
public ResourceMetaTests(ExampleIntegrationTestContext <TestableStartup <SupportDbContext>, SupportDbContext> testContext) { _testContext = testContext; testContext.UseController <ProductFamiliesController>(); testContext.UseController <SupportTicketsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <SupportTicketDefinition>(); services.AddSingleton <ResourceDefinitionHitCounter>(); }); var hitCounter = _testContext.Factory.Services.GetRequiredService <ResourceDefinitionHitCounter>(); hitCounter.Reset(); }
public AtomicResourceMetaTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <MusicTrackMetaDefinition>(); services.AddResourceDefinition <TextLanguageMetaDefinition>(); services.AddSingleton <ResourceDefinitionHitCounter>(); }); var hitCounter = _testContext.Factory.Services.GetRequiredService <ResourceDefinitionHitCounter>(); hitCounter.Reset(); }
public AtomicTransactionConsistencyTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddControllersFromExampleProject(); services.AddResourceRepository <PerformerRepository>(); services.AddResourceRepository <MusicTrackRepository>(); services.AddResourceRepository <LyricRepository>(); string postgresPassword = Environment.GetEnvironmentVariable("PGPASSWORD") ?? "postgres"; string dbConnectionString = $"Host=localhost;Port=5432;Database=JsonApiTest-{Guid.NewGuid():N};User ID=postgres;Password={postgresPassword}"; services.AddDbContext <ExtraDbContext>(options => options.UseNpgsql(dbConnectionString)); }); }
public SoftDeletionTests(ExampleIntegrationTestContext <TestableStartup <SoftDeletionDbContext>, SoftDeletionDbContext> testContext) { _testContext = testContext; testContext.UseController <CompaniesController>(); testContext.UseController <DepartmentsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddSingleton <ISystemClock>(new FrozenSystemClock { UtcNow = 1.January(2005).ToDateTimeOffset() }); services.AddResourceService <SoftDeletionAwareResourceService <Company> >(); services.AddResourceService <SoftDeletionAwareResourceService <Department> >(); }); }
public AtomicSerializationResourceDefinitionTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <RecordCompanyDefinition>(); services.AddSingleton <ResourceDefinitionHitCounter>(); services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var hitCounter = _testContext.Factory.Services.GetRequiredService <ResourceDefinitionHitCounter>(); hitCounter.Reset(); }
public OutboxTests(ExampleIntegrationTestContext <TestableStartup <OutboxDbContext>, OutboxDbContext> testContext) { _testContext = testContext; testContext.UseController <DomainUsersController>(); testContext.UseController <DomainGroupsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <OutboxUserDefinition>(); services.AddResourceDefinition <OutboxGroupDefinition>(); services.AddSingleton <ResourceDefinitionHitCounter>(); }); var hitCounter = _testContext.Factory.Services.GetRequiredService <ResourceDefinitionHitCounter>(); hitCounter.Reset(); }
public FireForgetTests(ExampleIntegrationTestContext <TestableStartup <FireForgetDbContext>, FireForgetDbContext> testContext) { _testContext = testContext; testContext.UseController <DomainUsersController>(); testContext.UseController <DomainGroupsController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddResourceDefinition <FireForgetUserDefinition>(); services.AddResourceDefinition <FireForgetGroupDefinition>(); services.AddSingleton <MessageBroker>(); }); var messageBroker = _testContext.Factory.Services.GetRequiredService <MessageBroker>(); messageBroker.Reset(); }
public AtomicSerializationTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.UseController <OperationsController>(); // These routes need to be registered in ASP.NET for rendering links to resource/relationship endpoints. testContext.UseController <PerformersController>(); testContext.ConfigureServicesAfterStartup(services => { services.AddScoped(typeof(IResourceChangeTracker <>), typeof(NeverSameResourceChangeTracker <>)); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.IncludeJsonApiVersion = true; options.AllowClientGeneratedIds = true; }
public AtomicQueryStringTests(ExampleIntegrationTestContext <TestableStartup <OperationsDbContext>, OperationsDbContext> testContext) { _testContext = testContext; testContext.ConfigureServicesAfterStartup(services => { services.AddControllersFromExampleProject(); services.AddSingleton <ISystemClock>(new FrozenSystemClock { UtcNow = FrozenTime }); services.AddScoped <IResourceDefinition <MusicTrack, Guid>, MusicTrackReleaseDefinition>(); }); var options = (JsonApiOptions)testContext.Factory.Services.GetRequiredService <IJsonApiOptions>(); options.AllowQueryStringOverrideForSerializerDefaultValueHandling = true; options.AllowQueryStringOverrideForSerializerNullValueHandling = true; }