1313// Contact [email protected] if any conditions of this licensing 1414// are not clear to you.
1515
16- package quickfix
16+ package testsuite
1717
1818import (
19- "testing"
2019 "time"
2120
21+ "github.com/quickfixgo/quickfix"
2222 "github.com/stretchr/testify/assert"
2323 "github.com/stretchr/testify/require"
2424 "github.com/stretchr/testify/suite"
2525)
2626
27- // MessageStoreTestSuite is the suite of all tests that should be run against all MessageStore implementations.
28- type MessageStoreTestSuite struct {
27+ type StoreTestSuite struct {
2928 suite.Suite
30- msgStore MessageStore
29+ MsgStore quickfix. MessageStore
3130}
3231
33- // MemoryStoreTestSuite runs all tests in the MessageStoreTestSuite against the MemoryStore implementation.
34- type MemoryStoreTestSuite struct {
35- MessageStoreTestSuite
36- }
37-
38- func (suite * MemoryStoreTestSuite ) SetupTest () {
39- var err error
40- suite .msgStore , err = NewMemoryStoreFactory ().Create (SessionID {})
41- require .Nil (suite .T (), err )
42- }
43-
44- func TestMemoryStoreTestSuite (t * testing.T ) {
45- suite .Run (t , new (MemoryStoreTestSuite ))
46- }
47-
48- func (s * MessageStoreTestSuite ) TestMessageStore_SetNextMsgSeqNum_Refresh_IncrNextMsgSeqNum () {
32+ func (s * StoreTestSuite ) TestMessageStoreSetNextMsgSeqNumRefreshIncrNextMsgSeqNum () {
4933 // Given a MessageStore with the following sender and target seqnums
50- s .Require ().Nil (s .msgStore .SetNextSenderMsgSeqNum (867 ))
51- s .Require ().Nil (s .msgStore .SetNextTargetMsgSeqNum (5309 ))
34+ s .Require ().Nil (s .MsgStore .SetNextSenderMsgSeqNum (867 ))
35+ s .Require ().Nil (s .MsgStore .SetNextTargetMsgSeqNum (5309 ))
5236
5337 // When the store is refreshed from its backing store
54- s .Require ().Nil (s .msgStore .Refresh ())
38+ s .Require ().Nil (s .MsgStore .Refresh ())
5539
5640 // Then the sender and target seqnums should still be
57- s .Equal (867 , s .msgStore .NextSenderMsgSeqNum ())
58- s .Equal (5309 , s .msgStore .NextTargetMsgSeqNum ())
41+ s .Equal (867 , s .MsgStore .NextSenderMsgSeqNum ())
42+ s .Equal (5309 , s .MsgStore .NextTargetMsgSeqNum ())
5943
6044 // When the sender and target seqnums are incremented
61- s .Require ().Nil (s .msgStore .IncrNextSenderMsgSeqNum ())
62- s .Require ().Nil (s .msgStore .IncrNextTargetMsgSeqNum ())
45+ s .Require ().Nil (s .MsgStore .IncrNextSenderMsgSeqNum ())
46+ s .Require ().Nil (s .MsgStore .IncrNextTargetMsgSeqNum ())
6347
6448 // Then the sender and target seqnums should be
65- s .Equal (868 , s .msgStore .NextSenderMsgSeqNum ())
66- s .Equal (5310 , s .msgStore .NextTargetMsgSeqNum ())
49+ s .Equal (868 , s .MsgStore .NextSenderMsgSeqNum ())
50+ s .Equal (5310 , s .MsgStore .NextTargetMsgSeqNum ())
6751
6852 // When the store is refreshed from its backing store
69- s .Require ().Nil (s .msgStore .Refresh ())
53+ s .Require ().Nil (s .MsgStore .Refresh ())
7054
7155 // Then the sender and target seqnums should still be
72- s .Equal (868 , s .msgStore .NextSenderMsgSeqNum ())
73- s .Equal (5310 , s .msgStore .NextTargetMsgSeqNum ())
56+ s .Equal (868 , s .MsgStore .NextSenderMsgSeqNum ())
57+ s .Equal (5310 , s .MsgStore .NextTargetMsgSeqNum ())
7458}
7559
76- func (s * MessageStoreTestSuite ) TestMessageStore_Reset () {
60+ func (s * StoreTestSuite ) TestMessageStoreReset () {
7761 // Given a MessageStore with the following sender and target seqnums
78- s .Require ().Nil (s .msgStore .SetNextSenderMsgSeqNum (1234 ))
79- s .Require ().Nil (s .msgStore .SetNextTargetMsgSeqNum (5678 ))
62+ s .Require ().Nil (s .MsgStore .SetNextSenderMsgSeqNum (1234 ))
63+ s .Require ().Nil (s .MsgStore .SetNextTargetMsgSeqNum (5678 ))
8064
8165 // When the store is reset
82- s .Require ().Nil (s .msgStore .Reset ())
66+ s .Require ().Nil (s .MsgStore .Reset ())
8367
8468 // Then the sender and target seqnums should be
85- s .Equal (1 , s .msgStore .NextSenderMsgSeqNum ())
86- s .Equal (1 , s .msgStore .NextTargetMsgSeqNum ())
69+ s .Equal (1 , s .MsgStore .NextSenderMsgSeqNum ())
70+ s .Equal (1 , s .MsgStore .NextTargetMsgSeqNum ())
8771
8872 // When the store is refreshed from its backing store
89- s .Require ().Nil (s .msgStore .Refresh ())
73+ s .Require ().Nil (s .MsgStore .Refresh ())
9074
9175 // Then the sender and target seqnums should still be
92- s .Equal (1 , s .msgStore .NextSenderMsgSeqNum ())
93- s .Equal (1 , s .msgStore .NextTargetMsgSeqNum ())
76+ s .Equal (1 , s .MsgStore .NextSenderMsgSeqNum ())
77+ s .Equal (1 , s .MsgStore .NextTargetMsgSeqNum ())
9478}
9579
96- func (s * MessageStoreTestSuite ) TestMessageStore_SaveMessage_GetMessage () {
80+ func (s * StoreTestSuite ) TestMessageStoreSaveMessageGetMessage () {
9781 // Given the following saved messages
9882 expectedMsgsBySeqNum := map [int ]string {
9983 1 : "In the frozen land of Nador" ,
10084 2 : "they were forced to eat Robin's minstrels" ,
10185 3 : "and there was much rejoicing" ,
10286 }
10387 for seqNum , msg := range expectedMsgsBySeqNum {
104- s .Require ().Nil (s .msgStore .SaveMessage (seqNum , []byte (msg )))
88+ s .Require ().Nil (s .MsgStore .SaveMessage (seqNum , []byte (msg )))
10589 }
10690
10791 // When the messages are retrieved from the MessageStore
108- actualMsgs , err := s .msgStore .GetMessages (1 , 3 )
92+ actualMsgs , err := s .MsgStore .GetMessages (1 , 3 )
10993 s .Require ().Nil (err )
11094
11195 // Then the messages should be
@@ -115,10 +99,10 @@ func (s *MessageStoreTestSuite) TestMessageStore_SaveMessage_GetMessage() {
11599 s .Equal (expectedMsgsBySeqNum [3 ], string (actualMsgs [2 ]))
116100
117101 // When the store is refreshed from its backing store
118- s .Require ().Nil (s .msgStore .Refresh ())
102+ s .Require ().Nil (s .MsgStore .Refresh ())
119103
120104 // And the messages are retrieved from the MessageStore
121- actualMsgs , err = s .msgStore .GetMessages (1 , 3 )
105+ actualMsgs , err = s .MsgStore .GetMessages (1 , 3 )
122106 s .Require ().Nil (err )
123107
124108 // Then the messages should still be
@@ -128,8 +112,8 @@ func (s *MessageStoreTestSuite) TestMessageStore_SaveMessage_GetMessage() {
128112 s .Equal (expectedMsgsBySeqNum [3 ], string (actualMsgs [2 ]))
129113}
130114
131- func (s * MessageStoreTestSuite ) TestMessageStore_SaveMessage_AndIncrement_GetMessage () {
132- s .Require ().Nil (s .msgStore .SetNextSenderMsgSeqNum (420 ))
115+ func (s * StoreTestSuite ) TestMessageStoreSaveMessageAndIncrementGetMessage () {
116+ s .Require ().Nil (s .MsgStore .SetNextSenderMsgSeqNum (420 ))
133117
134118 // Given the following saved messages
135119 expectedMsgsBySeqNum := map [int ]string {
@@ -138,12 +122,12 @@ func (s *MessageStoreTestSuite) TestMessageStore_SaveMessage_AndIncrement_GetMes
138122 3 : "and there was much rejoicing" ,
139123 }
140124 for seqNum , msg := range expectedMsgsBySeqNum {
141- s .Require ().Nil (s .msgStore .SaveMessageAndIncrNextSenderMsgSeqNum (seqNum , []byte (msg )))
125+ s .Require ().Nil (s .MsgStore .SaveMessageAndIncrNextSenderMsgSeqNum (seqNum , []byte (msg )))
142126 }
143- s .Equal (423 , s .msgStore .NextSenderMsgSeqNum ())
127+ s .Equal (423 , s .MsgStore .NextSenderMsgSeqNum ())
144128
145129 // When the messages are retrieved from the MessageStore
146- actualMsgs , err := s .msgStore .GetMessages (1 , 3 )
130+ actualMsgs , err := s .MsgStore .GetMessages (1 , 3 )
147131 s .Require ().Nil (err )
148132
149133 // Then the messages should be
@@ -153,13 +137,13 @@ func (s *MessageStoreTestSuite) TestMessageStore_SaveMessage_AndIncrement_GetMes
153137 s .Equal (expectedMsgsBySeqNum [3 ], string (actualMsgs [2 ]))
154138
155139 // When the store is refreshed from its backing store
156- s .Require ().Nil (s .msgStore .Refresh ())
140+ s .Require ().Nil (s .MsgStore .Refresh ())
157141
158142 // And the messages are retrieved from the MessageStore
159- actualMsgs , err = s .msgStore .GetMessages (1 , 3 )
143+ actualMsgs , err = s .MsgStore .GetMessages (1 , 3 )
160144 s .Require ().Nil (err )
161145
162- s .Equal (423 , s .msgStore .NextSenderMsgSeqNum ())
146+ s .Equal (423 , s .MsgStore .NextSenderMsgSeqNum ())
163147
164148 // Then the messages should still be
165149 s .Require ().Len (actualMsgs , 3 )
@@ -168,22 +152,22 @@ func (s *MessageStoreTestSuite) TestMessageStore_SaveMessage_AndIncrement_GetMes
168152 s .Equal (expectedMsgsBySeqNum [3 ], string (actualMsgs [2 ]))
169153}
170154
171- func (s * MessageStoreTestSuite ) TestMessageStore_GetMessages_EmptyStore () {
155+ func (s * StoreTestSuite ) TestMessageStoreGetMessagesEmptyStore () {
172156 // When messages are retrieved from an empty store
173- messages , err := s .msgStore .GetMessages (1 , 2 )
157+ messages , err := s .MsgStore .GetMessages (1 , 2 )
174158 require .Nil (s .T (), err )
175159
176160 // Then no messages should be returned
177161 require .Empty (s .T (), messages , "Did not expect messages from empty store" )
178162}
179163
180- func (s * MessageStoreTestSuite ) TestMessageStore_GetMessages_VariousRanges () {
164+ func (s * StoreTestSuite ) TestMessageStoreGetMessagesVariousRanges () {
181165 t := s .T ()
182166
183167 // Given the following saved messages
184- require .Nil (t , s .msgStore .SaveMessage (1 , []byte ("hello" )))
185- require .Nil (t , s .msgStore .SaveMessage (2 , []byte ("cruel" )))
186- require .Nil (t , s .msgStore .SaveMessage (3 , []byte ("world" )))
168+ require .Nil (t , s .MsgStore .SaveMessage (1 , []byte ("hello" )))
169+ require .Nil (t , s .MsgStore .SaveMessage (2 , []byte ("cruel" )))
170+ require .Nil (t , s .MsgStore .SaveMessage (3 , []byte ("world" )))
187171
188172 // When the following requests are made to the store
189173 var testCases = []struct {
@@ -203,7 +187,7 @@ func (s *MessageStoreTestSuite) TestMessageStore_GetMessages_VariousRanges() {
203187
204188 // Then the returned messages should be
205189 for _ , tc := range testCases {
206- actualMsgs , err := s .msgStore .GetMessages (tc .beginSeqNo , tc .endSeqNo )
190+ actualMsgs , err := s .MsgStore .GetMessages (tc .beginSeqNo , tc .endSeqNo )
207191 require .Nil (t , err )
208192 require .Len (t , actualMsgs , len (tc .expectedBytes ))
209193 for i , expectedMsg := range tc .expectedBytes {
@@ -212,12 +196,12 @@ func (s *MessageStoreTestSuite) TestMessageStore_GetMessages_VariousRanges() {
212196 }
213197}
214198
215- func (s * MessageStoreTestSuite ) TestMessageStore_CreationTime () {
216- s .False (s .msgStore .CreationTime ().IsZero ())
199+ func (s * StoreTestSuite ) TestMessageStoreCreationTime () {
200+ s .False (s .MsgStore .CreationTime ().IsZero ())
217201
218202 t0 := time .Now ()
219- s .Require ().Nil (s .msgStore .Reset ())
203+ s .Require ().Nil (s .MsgStore .Reset ())
220204 t1 := time .Now ()
221- s .Require ().True (s .msgStore .CreationTime ().After (t0 ))
222- s .Require ().True (s .msgStore .CreationTime ().Before (t1 ))
205+ s .Require ().True (s .MsgStore .CreationTime ().After (t0 ))
206+ s .Require ().True (s .MsgStore .CreationTime ().Before (t1 ))
223207}
0 commit comments