@@ -111,7 +111,7 @@ public void WorkItemFilters_DefaultWithEntity_WhenNoExplicitFiltersConfigured()
111111 }
112112
113113 [ Fact ]
114- public void WorkItemFilters_DefaultWithVersioning_WhenNoExplicitFiltersConfigured ( )
114+ public void WorkItemFilters_DefaultNullWithVersioningCurrentOrOlder_WhenNoExplicitFiltersConfigured ( )
115115 {
116116 // Arrange
117117 ServiceCollection services = new ( ) ;
@@ -126,7 +126,74 @@ public void WorkItemFilters_DefaultWithVersioning_WhenNoExplicitFiltersConfigure
126126 {
127127 options . Versioning = new DurableTaskWorkerOptions . VersioningOptions
128128 {
129- Version = "1.0"
129+ Version = "1.0" ,
130+ MatchStrategy = DurableTaskWorkerOptions . VersionMatchStrategy . CurrentOrOlder ,
131+ } ;
132+ } ) ;
133+ } ) ;
134+
135+ // Act
136+ ServiceProvider provider = services . BuildServiceProvider ( ) ;
137+ IOptionsMonitor < DurableTaskWorkerWorkItemFilters > filtersMonitor =
138+ provider . GetRequiredService < IOptionsMonitor < DurableTaskWorkerWorkItemFilters > > ( ) ;
139+ DurableTaskWorkerWorkItemFilters actual = filtersMonitor . Get ( "test" ) ;
140+
141+ // Assert
142+ actual . Orchestrations . Should ( ) . ContainSingle ( o => o . Name == nameof ( TestOrchestrator ) && o . Versions . Count == 0 ) ;
143+ actual . Activities . Should ( ) . ContainSingle ( a => a . Name == nameof ( TestActivity ) && a . Versions . Count == 0 ) ;
144+ }
145+
146+ [ Fact ]
147+ public void WorkItemFilters_DefaultNullWithVersioningNone_WhenNoExplicitFiltersConfigured ( )
148+ {
149+ // Arrange
150+ ServiceCollection services = new ( ) ;
151+ services . AddDurableTaskWorker ( "test" , builder =>
152+ {
153+ builder . AddTasks ( registry =>
154+ {
155+ registry . AddOrchestrator < TestOrchestrator > ( ) ;
156+ registry . AddActivity < TestActivity > ( ) ;
157+ } ) ;
158+ builder . Configure ( options =>
159+ {
160+ options . Versioning = new DurableTaskWorkerOptions . VersioningOptions
161+ {
162+ Version = "1.0" ,
163+ MatchStrategy = DurableTaskWorkerOptions . VersionMatchStrategy . None ,
164+ } ;
165+ } ) ;
166+ } ) ;
167+
168+ // Act
169+ ServiceProvider provider = services . BuildServiceProvider ( ) ;
170+ IOptionsMonitor < DurableTaskWorkerWorkItemFilters > filtersMonitor =
171+ provider . GetRequiredService < IOptionsMonitor < DurableTaskWorkerWorkItemFilters > > ( ) ;
172+ DurableTaskWorkerWorkItemFilters actual = filtersMonitor . Get ( "test" ) ;
173+
174+ // Assert
175+ actual . Orchestrations . Should ( ) . ContainSingle ( o => o . Name == nameof ( TestOrchestrator ) && o . Versions . Count == 0 ) ;
176+ actual . Activities . Should ( ) . ContainSingle ( a => a . Name == nameof ( TestActivity ) && a . Versions . Count == 0 ) ;
177+ }
178+
179+ [ Fact ]
180+ public void WorkItemFilters_DefaultVersionWithVersioningStrict_WhenNoExplicitFiltersConfigured ( )
181+ {
182+ // Arrange
183+ ServiceCollection services = new ( ) ;
184+ services . AddDurableTaskWorker ( "test" , builder =>
185+ {
186+ builder . AddTasks ( registry =>
187+ {
188+ registry . AddOrchestrator < TestOrchestrator > ( ) ;
189+ registry . AddActivity < TestActivity > ( ) ;
190+ } ) ;
191+ builder . Configure ( options =>
192+ {
193+ options . Versioning = new DurableTaskWorkerOptions . VersioningOptions
194+ {
195+ Version = "1.0" ,
196+ MatchStrategy = DurableTaskWorkerOptions . VersionMatchStrategy . Strict ,
130197 } ;
131198 } ) ;
132199 } ) ;
0 commit comments