@@ -11,7 +11,6 @@ public async Task Direct_get_when_stream_disable()
11
11
await using var server = NatsServer . StartJS ( ) ;
12
12
var nats = server . CreateClientConnection ( ) ;
13
13
var js = new NatsJSContext ( nats ) ;
14
-
15
14
var cts = new CancellationTokenSource ( ) ;
16
15
var cancellationToken = cts . Token ;
17
16
var streamConfig = new StreamConfig ( "stream_disable" , new [ ] { "stream_disable.x" } ) ;
@@ -36,17 +35,13 @@ public async Task Direct_get_when_stream_enable()
36
35
await using var server = NatsServer . StartJS ( ) ;
37
36
var nats = server . CreateClientConnection ( ) ;
38
37
var js = new NatsJSContext ( nats ) ;
39
-
40
38
var cts = new CancellationTokenSource ( TimeSpan . FromSeconds ( 100 ) ) ;
41
39
var cancellationToken = cts . Token ;
42
40
var streamConfig = new StreamConfig ( "stream_enable" , new [ ] { "stream_enable.x" } ) { AllowDirect = true } ;
43
41
44
42
var stream = await js . CreateStreamAsync ( streamConfig , cancellationToken ) ;
45
43
46
- for ( var i = 0 ; i < 1 ; i ++ )
47
- {
48
- await js . PublishAsync ( "stream_enable.x" , new TestData { Test = i } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
49
- }
44
+ await js . PublishAsync ( "stream_enable.x" , new TestData { Test = 1 } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
50
45
51
46
var streamMsgBatchGetRequest = new StreamMsgBatchGetRequest { NextBySubject = "stream_enable.x" , Batch = 3 } ;
52
47
await foreach ( var msg in stream . GetBatchDirectAsync ( streamMsgBatchGetRequest , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) )
@@ -58,59 +53,26 @@ public async Task Direct_get_when_stream_enable()
58
53
}
59
54
60
55
[ SkipIfNatsServer ( versionEarlierThan : "2.11" ) ]
61
- public async Task Direct_get_with_eobCode ( )
56
+ public async Task Direct_get_by_multi_last ( )
62
57
{
63
58
var testDataList = new List < TestData ? > ( ) ;
64
59
await using var server = NatsServer . StartJS ( ) ;
65
60
var nats = server . CreateClientConnection ( ) ;
66
61
var js = new NatsJSContext ( nats ) ;
67
-
68
62
var cts = new CancellationTokenSource ( TimeSpan . FromSeconds ( 100 ) ) ;
69
63
var cancellationToken = cts . Token ;
70
- var streamConfig = new StreamConfig ( "eobCode " , new [ ] { "eobCode.x " } ) { AllowDirect = true } ;
64
+ var streamConfig = new StreamConfig ( "multiLast " , new [ ] { "multiLast.* " } ) { AllowDirect = true } ;
71
65
72
66
var stream = await js . CreateStreamAsync ( streamConfig , cancellationToken ) ;
73
67
74
- for ( var i = 0 ; i < 1 ; i ++ )
75
- {
76
- await js . PublishAsync ( "eobCode.x" , new TestData { Test = i } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
77
- }
68
+ await js . PublishAsync ( "multiLast.x" , new TestData { Test = 1 } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
69
+ await js . PublishAsync ( "multiLast.y" , new TestData { Test = 2 } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
78
70
79
- var streamMsgBatchGetRequest = new StreamMsgBatchGetRequest { NextBySubject = "eobCode.x" , Batch = 3 } ;
80
- await foreach ( var msg in stream . GetBatchDirectAsync ( streamMsgBatchGetRequest , TestDataJsonSerializer < TestData > . Default , includeEob : true , cancellationToken : cancellationToken ) )
71
+ await foreach ( var msg in stream . GetBatchDirectAsync ( [ "multiLast.x" , "multiLast.y" ] , 4 , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) )
81
72
{
82
73
testDataList . Add ( msg . Data ) ;
83
74
}
84
75
85
76
Assert . Equal ( 2 , testDataList . Count ) ;
86
77
}
87
-
88
- [ SkipIfNatsServer ( versionEarlierThan : "2.11" ) ]
89
- public async Task Direct_get_min_sequence ( )
90
- {
91
- var testDataList = new List < TestData ? > ( ) ;
92
- await using var server = NatsServer . StartJS ( ) ;
93
- var nats = server . CreateClientConnection ( ) ;
94
- var js = new NatsJSContext ( nats ) ;
95
-
96
- var cts = new CancellationTokenSource ( TimeSpan . FromSeconds ( 100 ) ) ;
97
- var cancellationToken = cts . Token ;
98
- var streamConfig = new StreamConfig ( "min_sequence" , new [ ] { "min_sequence.x" } ) { AllowDirect = true } ;
99
-
100
- var stream = await js . CreateStreamAsync ( streamConfig , cancellationToken ) ;
101
-
102
- for ( var i = 0 ; i < 3 ; i ++ )
103
- {
104
- await js . PublishAsync ( "min_sequence.x" , new TestData { Test = i } , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) ;
105
- }
106
-
107
- var streamMsgBatchGetRequest = new StreamMsgBatchGetRequest { NextBySubject = "min_sequence.x" , Batch = 1 , Seq = 3 } ;
108
- await foreach ( var msg in stream . GetBatchDirectAsync ( streamMsgBatchGetRequest , TestDataJsonSerializer < TestData > . Default , cancellationToken : cancellationToken ) )
109
- {
110
- testDataList . Add ( msg . Data ) ;
111
- }
112
-
113
- Assert . Single ( testDataList ) ;
114
- Assert . Equal ( 2 , testDataList [ 0 ] ? . Test ) ;
115
- }
116
78
}
0 commit comments