public void default_everything() { var defaults = new HiloSettings(); var store = DocumentStore.For("something"); var mapping = store.Schema.MappingFor(typeof(IntDoc)); var idStrategy = mapping.IdStrategy.ShouldBeOfType <HiloIdGeneration>(); idStrategy.Increment.ShouldBe(defaults.Increment); idStrategy.MaxLo.ShouldBe(defaults.MaxLo); }
public void HiloSettings(HiloSettings hilo) { if (IdStrategy is HiloIdGeneration) { IdStrategy = new HiloIdGeneration(DocumentType, hilo); } else { throw new InvalidOperationException( $"DocumentMapping for {DocumentType.FullName} is using {IdStrategy.GetType().FullName} as its Id strategy so cannot override Hilo sequence configuration"); } }
public void default_everything() { var defaults = new HiloSettings(); var store = DocumentStore.For(opts => { opts.Connection(ConnectionSource.ConnectionString); opts.DatabaseSchemaName = "sequences"; }); store.Tenancy.Default.Sequences .SequenceFor(typeof(IntDoc)).MaxLo.ShouldBe(defaults.MaxLo); }
public void default_everything() { var defaults = new HiloSettings(); var store = DocumentStore.For(ConnectionSource.ConnectionString); var mapping = store.Storage.MappingFor(typeof(IntDoc)); mapping.ToIdAssignment <IntDoc>(store.Tenancy.Default) .As <IdAssigner <IntDoc, int> >().Generator .ShouldBeOfType <IntHiloGenerator>(); store.Tenancy.Default.Sequences .SequenceFor(typeof(IntDoc)).MaxLo.ShouldBe(defaults.MaxLo); }
public void can_replace_hilo_def_settings() { var mapping = DocumentMapping.For <LongId>(); var newDef = new HiloSettings { MaxLo = 33 }; mapping.HiloSettings = newDef; var sequence = mapping.IdStrategy.ShouldBeOfType <HiloIdGeneration>(); sequence.MaxLo.ShouldBe(newDef.MaxLo); }
public void default_everything() { var defaults = new HiloSettings(); var store = DocumentStore.For(ConnectionSource.ConnectionString); var mapping = store.Schema.MappingFor(typeof(IntDoc)); var idStrategy = mapping.ToIdAssignment <IntDoc>(store.Schema) .As <IdAssigner <IntDoc, int> >().Generator .ShouldBeOfType <IntHiloGenerator>(); idStrategy.Sequence.MaxLo.ShouldBe(defaults.MaxLo); }
public void build_assignment_for_long() { var settings = new HiloSettings(); var sequence = Substitute.For <ISequence>(); var sequences = Substitute.For <ISequences>(); var schema = Substitute.For <IDocumentSchema>(); schema.Sequences.Returns(sequences); sequences.Hilo(typeof(Target), settings).Returns(sequence); var generation = new HiloIdGeneration(typeof(Target), settings); generation.Build <long>(schema).ShouldBeOfType <LongHiloGenerator>() .Sequence.ShouldBeSameAs(sequence); }
public void can_build_a_generator() { var settings = new HiloSettings(); var sequence = Substitute.For <ISequence>(); var sequences = Substitute.For <ISequences>(); var schema = Substitute.For <IDocumentSchema>(); schema.Sequences.Returns(sequences); sequences.Hilo(typeof(Target), settings).Returns(sequence); var mapping = DocumentMapping.For <Target>(); var generation = new IdentityKeyGeneration(mapping, settings); var generator = generation.Build <string>(schema).ShouldBeOfType <IdentityKeyGenerator>(); generator .Sequence.ShouldBeSameAs(sequence); generator.Alias.ShouldBe(mapping.Alias); }
public DocumentMappingExpression <T> HiloSettings(HiloSettings settings) { _builder.Alter = mapping => mapping.HiloSettings = settings; return(this); }
/// <summary> /// Overrides the Hilo sequence increment and "maximum low" number for document types that /// use numeric id's and the Hilo Id assignment /// </summary> /// <param name="settings"></param> /// <returns></returns> public DocumentMappingExpression <T> HiloSettings(HiloSettings settings) { alter = mapping => mapping.HiloSettings(settings); return(this); }