1- package de .dhbw .ravensburg .verteiltesysteme .server . samplingmessageserver ;
1+ package de .dhbw .ravensburg .verteiltesysteme .server ;
22
33import de .dhbw .ravensburg .verteiltesysteme .de .dhbw .ravensburg .verteiltesysteme .rpc .SamplingMessageGrpc ;
44import de .dhbw .ravensburg .verteiltesysteme .de .dhbw .ravensburg .verteiltesysteme .rpc .SamplingMessageGrpcService ;
5- import de .dhbw .ravensburg .verteiltesysteme .server .ServiceEndpoint ;
65import de .dhbw .ravensburg .verteiltesysteme .server .service .ServiceConfig ;
76import io .grpc .ManagedChannel ;
87import io .grpc .ManagedChannelBuilder ;
1211import org .testng .annotations .BeforeMethod ;
1312import org .testng .annotations .Test ;
1413
14+ import java .util .Collections ;
15+
1516@ Slf4j
1617public class SamplingMessageServerIT {
1718
18- private final Integer testingPort = 8888 ;
19+ final Integer testingPort = 8888 ;
1920 ServiceEndpoint serviceEndpoint ;
20- ServiceConfig serviceConfig = new ServiceConfig (ServiceConfig .DEFAULT_MAXIMUM_SAMPLING_MESSAGE_NAME_SIZE , ServiceConfig .DEFAULT_MAXIMUM_SAMPLING_MESSAGE_CONTENT_SIZE , ServiceConfig .DEFAULT_MAXIMUM_SAMPLING_MESSAGE_COUNT , testingPort );
21+ final Integer maxSamplingMessageNameLength = 20 ;
22+ final Integer maxSamplingMessageContentLength = 20 ;
23+ final Integer maxSamplingMessageCount = 20 ;
24+ ServiceConfig serviceConfig = new ServiceConfig (maxSamplingMessageNameLength , maxSamplingMessageContentLength , maxSamplingMessageCount , testingPort );
2125 SamplingMessageGrpc .SamplingMessageBlockingStub samplingMessageBlockingStub ;
2226
2327 private static SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest (String name , long duration ) {
@@ -81,6 +85,9 @@ public void writeNewMessageWithMaxValueLifetime() {
8185 Assert.assertEquals(readSamplingMessageResponse.getMessageContent(), msgContent);
8286 }*/
8387
88+ /*
89+ Start new server instance for each test method
90+ */
8491 @ BeforeMethod
8592 public void beforeMethod () {
8693 this .serviceEndpoint = new ServiceEndpoint (serviceConfig );
@@ -91,6 +98,9 @@ public void beforeMethod() {
9198 samplingMessageBlockingStub = SamplingMessageGrpc .newBlockingStub (managedChannel );
9299 }
93100
101+ /*
102+ Kill server after test method
103+ */
94104 @ AfterMethod
95105 public void afterMethod () {
96106 this .serviceEndpoint .shutdown ();
@@ -117,13 +127,6 @@ public void deleteExistingMessage() {
117127 Assert .assertEquals (deleteSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .SUCCESS );
118128 }
119129
120- @ Test
121- public void deleteNonExistingMessage () {
122- SamplingMessageGrpcService .DeleteSamplingMessageRequest deleteSamplingMessageRequest = deleteSamplingMessageRequest ("TEST01" );
123- SamplingMessageGrpcService .DeleteSamplingMessageResponse deleteSamplingMessageResponse = this .samplingMessageBlockingStub .deleteSamplingMessage (deleteSamplingMessageRequest );
124- Assert .assertEquals (deleteSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
125- }
126-
127130 @ Test
128131 public void writeNewMessage () {
129132 final String msgName = "Test01" ;
@@ -218,4 +221,146 @@ public void getNewMessageStatus() {
218221 }
219222
220223
224+ @ Test
225+ public void getStatusOfNonExistingMessage () {
226+ final String msgName = "iDontExist" ;
227+ SamplingMessageGrpcService .GetSamplingMessageStatusRequest getSamplingMessageStatusRequest = getSamplingMessageStatusRequest (msgName );
228+ SamplingMessageGrpcService .GetSamplingMessageStatusResponse getSamplingMessageStatusResponse = this .samplingMessageBlockingStub .getSamplingMessageStatus (getSamplingMessageStatusRequest );
229+ Assert .assertEquals (getSamplingMessageStatusResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
230+ Assert .assertFalse (getSamplingMessageStatusResponse .getMessageIsEmpty ());
231+ Assert .assertFalse (getSamplingMessageStatusResponse .getMessageIsValid ());
232+ }
233+
234+ @ Test
235+ public void readNonExistingMessage () {
236+ final String msgName = "iDontExist" ;
237+ SamplingMessageGrpcService .ReadSamplingMessageRequest readSamplingMessageRequest = readSamplingMessageRequest (msgName );
238+ SamplingMessageGrpcService .ReadSamplingMessageResponse readSamplingMessageResponse = this .samplingMessageBlockingStub .readSamplingMessage (readSamplingMessageRequest );
239+ Assert .assertEquals (readSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
240+ Assert .assertFalse (readSamplingMessageResponse .getMessageIsValid ());
241+ }
242+
243+ @ Test
244+ public void clearNonExistingMessage () {
245+ final String msgName = "iDontExist" ;
246+ SamplingMessageGrpcService .ClearSamplingMessageRequest clearSamplingMessageRequest = clearSamplingMessageRequest (msgName );
247+ SamplingMessageGrpcService .ClearSamplingMessageResponse clearSamplingMessageResponse = this .samplingMessageBlockingStub .clearSamplingMessage (clearSamplingMessageRequest );
248+ Assert .assertEquals (clearSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
249+ }
250+
251+ @ Test
252+ public void writeNonExistingMessage () {
253+ final String msgName = "iDontExist" ;
254+ final String msgContent = "random" ;
255+ SamplingMessageGrpcService .WriteSamplingMessageRequest writeSamplingMessageRequest = writeSamplingMessageRequest (msgName , msgContent );
256+ SamplingMessageGrpcService .WriteSamplingMessageResponse writeSamplingMessageResponse = this .samplingMessageBlockingStub .writeSamplingMessage (writeSamplingMessageRequest );
257+ Assert .assertEquals (writeSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
258+ }
259+
260+ @ Test
261+ public void deleteNonExistingMessage () {
262+ SamplingMessageGrpcService .DeleteSamplingMessageRequest deleteSamplingMessageRequest = deleteSamplingMessageRequest ("iDontExist" );
263+ SamplingMessageGrpcService .DeleteSamplingMessageResponse deleteSamplingMessageResponse = this .samplingMessageBlockingStub .deleteSamplingMessage (deleteSamplingMessageRequest );
264+ Assert .assertEquals (deleteSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .NOT_FOUND );
265+ }
266+
267+
268+ @ Test (timeOut = 20000 )
269+ public void messageTimeoutTest () throws InterruptedException {
270+ final String msgName = "Test01" ;
271+ final String msgContent = "content01" ;
272+ final long lifetime = 2 ;
273+ SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest = createSamplingMessageRequest (msgName , lifetime );
274+ SamplingMessageGrpcService .CreateSamplingMessageResponse createSamplingMessageResponse = this .samplingMessageBlockingStub .createSamplingMessage (createSamplingMessageRequest );
275+ Assert .assertEquals (createSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .SUCCESS );
276+
277+ Thread .sleep (lifetime * 1000 + 1 );
278+
279+ SamplingMessageGrpcService .GetSamplingMessageStatusRequest getSamplingMessageStatusRequest = getSamplingMessageStatusRequest (msgName );
280+ SamplingMessageGrpcService .GetSamplingMessageStatusResponse getSamplingMessageStatusResponse = this .samplingMessageBlockingStub .getSamplingMessageStatus (getSamplingMessageStatusRequest );
281+ Assert .assertFalse (getSamplingMessageStatusResponse .getMessageIsValid ());
282+ }
283+
284+ @ Test
285+ public void exceedMaxMessageNameLengthAtCreation () {
286+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
287+ SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest = createSamplingMessageRequest (tooLongMsgName , 120 );
288+ SamplingMessageGrpcService .CreateSamplingMessageResponse createSamplingMessageResponse = this .samplingMessageBlockingStub .createSamplingMessage (createSamplingMessageRequest );
289+ Assert .assertEquals (createSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
290+ }
291+
292+ @ Test
293+ public void exceedMaxMessageNameLengthAtGetingStatus () {
294+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
295+ SamplingMessageGrpcService .GetSamplingMessageStatusRequest getSamplingMessageStatusRequest = getSamplingMessageStatusRequest (tooLongMsgName );
296+ SamplingMessageGrpcService .GetSamplingMessageStatusResponse getSamplingMessageStatusResponse = this .samplingMessageBlockingStub .getSamplingMessageStatus (getSamplingMessageStatusRequest );
297+ Assert .assertEquals (getSamplingMessageStatusResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
298+ Assert .assertFalse (getSamplingMessageStatusResponse .getMessageIsEmpty ());
299+ Assert .assertFalse (getSamplingMessageStatusResponse .getMessageIsValid ());
300+ }
301+
302+ @ Test
303+ public void exceedMaxMessageNameLengthAtRading () {
304+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
305+ SamplingMessageGrpcService .ReadSamplingMessageRequest readSamplingMessageRequest = readSamplingMessageRequest (tooLongMsgName );
306+ SamplingMessageGrpcService .ReadSamplingMessageResponse readSamplingMessageResponse = this .samplingMessageBlockingStub .readSamplingMessage (readSamplingMessageRequest );
307+ Assert .assertEquals (readSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
308+ Assert .assertFalse (readSamplingMessageResponse .getMessageIsValid ());
309+ }
310+
311+ @ Test
312+ public void exceedMaxMessageNameLengthAtClearing () {
313+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
314+ SamplingMessageGrpcService .ClearSamplingMessageRequest clearSamplingMessageRequest = clearSamplingMessageRequest (tooLongMsgName );
315+ SamplingMessageGrpcService .ClearSamplingMessageResponse clearSamplingMessageResponse = this .samplingMessageBlockingStub .clearSamplingMessage (clearSamplingMessageRequest );
316+ Assert .assertEquals (clearSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
317+ }
318+
319+ @ Test
320+ public void exceedMaxMessageNameLengthAtWriting () {
321+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
322+ final String msgContent = "random" ;
323+ SamplingMessageGrpcService .WriteSamplingMessageRequest writeSamplingMessageRequest = writeSamplingMessageRequest (tooLongMsgName , msgContent );
324+ SamplingMessageGrpcService .WriteSamplingMessageResponse writeSamplingMessageResponse = this .samplingMessageBlockingStub .writeSamplingMessage (writeSamplingMessageRequest );
325+ Assert .assertEquals (writeSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
326+ }
327+
328+ @ Test
329+ public void exceedMaxMessageNameLengthAtDeleting () {
330+ final String tooLongMsgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength + 1 , "x" ));
331+ SamplingMessageGrpcService .DeleteSamplingMessageRequest deleteSamplingMessageRequest = deleteSamplingMessageRequest (tooLongMsgName );
332+ SamplingMessageGrpcService .DeleteSamplingMessageResponse deleteSamplingMessageResponse = this .samplingMessageBlockingStub .deleteSamplingMessage (deleteSamplingMessageRequest );
333+ Assert .assertEquals (deleteSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
334+ }
335+
336+
337+ @ Test
338+ public void exceedMaxMessageContentLength () {
339+ final String msgName = String .join ("" , Collections .nCopies (maxSamplingMessageNameLength , "x" ));
340+ final String tooLongMsgContent = String .join ("" , Collections .nCopies (maxSamplingMessageContentLength + 1 , "x" ));
341+ final long lifetime = 2 ;
342+ SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest = createSamplingMessageRequest (msgName , 120 );
343+ SamplingMessageGrpcService .CreateSamplingMessageResponse createSamplingMessageResponse = this .samplingMessageBlockingStub .createSamplingMessage (createSamplingMessageRequest );
344+ Assert .assertEquals (createSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .SUCCESS );
345+
346+ SamplingMessageGrpcService .WriteSamplingMessageRequest writeSamplingMessageRequest = writeSamplingMessageRequest (msgName , tooLongMsgContent );
347+ SamplingMessageGrpcService .WriteSamplingMessageResponse writeSamplingMessageResponse = this .samplingMessageBlockingStub .writeSamplingMessage (writeSamplingMessageRequest );
348+ Assert .assertEquals (writeSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .ILLEGAL_PARAMETER );
349+
350+ }
351+
352+ @ Test
353+ public void exceedMaxMessageCount () {
354+ for (int i = 0 ; i < maxSamplingMessageCount ; ++i ) {
355+ SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest = createSamplingMessageRequest (String .valueOf (i ), 120 );
356+ SamplingMessageGrpcService .CreateSamplingMessageResponse createSamplingMessageResponse = this .samplingMessageBlockingStub .createSamplingMessage (createSamplingMessageRequest );
357+ Assert .assertEquals (createSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .SUCCESS );
358+ }
359+ final String msgName = "killer" ;
360+ SamplingMessageGrpcService .CreateSamplingMessageRequest createSamplingMessageRequest = createSamplingMessageRequest (msgName , 120 );
361+ SamplingMessageGrpcService .CreateSamplingMessageResponse createSamplingMessageResponse = this .samplingMessageBlockingStub .createSamplingMessage (createSamplingMessageRequest );
362+ Assert .assertEquals (createSamplingMessageResponse .getStatusCode (), SamplingMessageGrpcService .StatusCode .MESSAGE_COUNT_EXCEEDED );
363+ }
364+
365+
221366}
0 commit comments