16
16
*/
17
17
package com .ericsson .ei .services ;
18
18
19
- import static org .junit .Assert .assertEquals ;
20
- import static org .junit .Assert .assertNull ;
21
- import static org .junit .Assert .assertTrue ;
22
-
23
- import java .io .File ;
24
- import java .io .IOException ;
25
- import java .util .ArrayList ;
26
- import java .util .List ;
27
-
28
- import javax .annotation .PostConstruct ;
29
-
19
+ import com .ericsson .ei .App ;
20
+ import com .ericsson .ei .controller .model .Subscription ;
21
+ import com .ericsson .ei .exception .SubscriptionNotFoundException ;
22
+ import com .ericsson .ei .logFilter .LogFilter ;
23
+ import com .ericsson .ei .mongo .MongoCondition ;
24
+ import com .ericsson .ei .mongo .MongoDBHandler ;
25
+ import com .ericsson .ei .test .utils .TestConfigs ;
26
+ import com .ericsson .ei .utils .TestContextInitializer ;
27
+ import com .ericsson .eiffelcommons .subscriptionobject .RestPostSubscriptionObject ;
28
+ import com .ericsson .eiffelcommons .subscriptionobject .SubscriptionObject ;
29
+ import com .fasterxml .jackson .databind .ObjectMapper ;
30
+ import com .mongodb .BasicDBObject ;
31
+ import com .mongodb .client .MongoClient ;
30
32
import org .apache .commons .io .FileUtils ;
31
33
import org .json .JSONArray ;
32
34
import org .json .JSONException ;
49
51
import org .springframework .test .context .TestPropertySource ;
50
52
import org .springframework .test .context .junit4 .SpringJUnit4ClassRunner ;
51
53
52
- import com . ericsson . ei . App ;
53
- import com . ericsson . ei . controller . model . Subscription ;
54
- import com . ericsson . ei . exception . SubscriptionNotFoundException ;
55
- import com . ericsson . ei . mongo . MongoCondition ;
56
- import com . ericsson . ei . mongo . MongoDBHandler ;
57
- import com . ericsson . ei . test . utils . TestConfigs ;
58
- import com . ericsson . ei . utils . TestContextInitializer ;
59
- import com . ericsson . eiffelcommons . subscriptionobject . RestPostSubscriptionObject ;
60
- import com . ericsson . eiffelcommons . subscriptionobject . SubscriptionObject ;
61
- import com . fasterxml . jackson . databind . ObjectMapper ;
62
- import com . mongodb . BasicDBObject ;
63
- import com . mongodb . client . MongoClient ;
54
+ import javax . annotation . PostConstruct ;
55
+ import java . io . File ;
56
+ import java . io . IOException ;
57
+ import java . nio . file . Files ;
58
+ import java . nio . file . Path ;
59
+ import java . nio . file . Paths ;
60
+ import java . time . LocalDateTime ;
61
+ import java . util . ArrayList ;
62
+ import java . util . List ;
63
+ import java . util . Scanner ;
64
+
65
+ import static org . junit . Assert .* ;
64
66
65
67
@ TestPropertySource (properties = {
66
68
"spring.data.mongodb.database: SubscriptionServiceTest" ,
@@ -88,6 +90,9 @@ public class SubscriptionServiceTest {
88
90
@ Autowired
89
91
private ISubscriptionService subscriptionService ;
90
92
93
+ @ Autowired
94
+ private SubscriptionService subService ;
95
+
91
96
@ Autowired
92
97
private MongoDBHandler mongoDBHandler ;
93
98
@@ -360,4 +365,66 @@ private void deleteSubscriptionsByName(String subscriptionName) throws AccessExc
360
365
Mockito .when (authentication .getName ()).thenReturn ("ABC" );
361
366
subscriptionService .deleteSubscription (subscriptionName );
362
367
}
363
- }
368
+
369
+ @ Test
370
+ public void testLogForPasswordAdd () throws Exception {
371
+ Path logFilePath = Paths .get ("/var/tmp/eiffel-intelligence.log" );
372
+ try {
373
+
374
+ Scanner scanner = new Scanner (logFilePath );
375
+ LocalDateTime start = LocalDateTime .now ();
376
+ Subscription subscription2 = mapper .readValue (jsonArray .getJSONObject (0 ).toString (), Subscription .class );
377
+ String expectedSubscriptionName = subscription2 .getSubscriptionName ();
378
+ subscription2 .setAuthenticationType ("BASIC_AUTH" );
379
+ String expectedSubscriptionPassword = subscription2 .getPassword ();
380
+ subService .addSubscription (subscription2 );
381
+ LocalDateTime end = LocalDateTime .now ();
382
+ LogFilter log = new LogFilter ();
383
+ while (scanner .hasNextLine ()) {
384
+ String line = scanner .nextLine ();
385
+ if (log .filter (start , end , line )) {
386
+ if ((line .contains (expectedSubscriptionName ) && (line .contains ("password" )))) {
387
+ assertFalse (line .contains (expectedSubscriptionPassword ));
388
+ }
389
+ }
390
+ }
391
+ scanner .close ();
392
+ }
393
+ catch (Exception e ) {
394
+ LOGGER .error (e .getMessage (),e );
395
+ } finally {
396
+ Files .write (logFilePath , new byte [0 ]);
397
+ }
398
+ }
399
+ @ Test
400
+ public void testLogForPasswordUpdate () throws Exception {
401
+ Path logFilePath =Paths .get ("/var/tmp/eiffel-intelligence.log" );
402
+ try {
403
+
404
+ Scanner scanner = new Scanner (logFilePath );
405
+ LocalDateTime start = LocalDateTime .now ();
406
+ Subscription subscription2 = mapper .readValue (jsonArray .getJSONObject (0 ).toString (), Subscription .class );
407
+ String expectedSubscriptionName = subscription2 .getSubscriptionName ();
408
+ subscription2 .setAuthenticationType ("BASIC_AUTH" );
409
+ subscription2 .setPassword ("token123" );
410
+ String expectedSubscriptionPassword = subscription2 .getPassword ();
411
+ subscriptionService .modifySubscription (subscription2 ,expectedSubscriptionName );
412
+ LocalDateTime end = LocalDateTime .now ();
413
+ LogFilter log = new LogFilter ();
414
+ while (scanner .hasNextLine ()) {
415
+ String line = scanner .nextLine ();
416
+ if (log .filter (start , end , line )) {
417
+ if ((line .contains (expectedSubscriptionName ) && (line .contains ("password" )))) {
418
+ assertFalse (line .contains (expectedSubscriptionPassword ));
419
+ }
420
+ }
421
+ }
422
+ scanner .close ();
423
+ }
424
+ catch (Exception e ) {
425
+ LOGGER .error (e .getMessage (),e );
426
+ } finally {
427
+ Files .write (logFilePath , new byte [0 ]);
428
+ }
429
+ }
430
+ }
0 commit comments