Implemented WebSockets for GUI2

Change-Id: I4776ce392b1e8e94ebee938cf7df22791a1e0b8f
diff --git a/web/gui2/src/main/webapp/tests/app/detectbrowser.directive.spec.ts b/web/gui2/src/main/webapp/tests/app/detectbrowser.directive.spec.ts
index 06715cd..9183536 100644
--- a/web/gui2/src/main/webapp/tests/app/detectbrowser.directive.spec.ts
+++ b/web/gui2/src/main/webapp/tests/app/detectbrowser.directive.spec.ts
@@ -24,8 +24,8 @@
 import { of } from 'rxjs';
 
 class MockFnService extends FnService {
-    constructor(ar: ActivatedRoute, log: LogService) {
-        super(ar, log);
+    constructor(ar: ActivatedRoute, log: LogService, w: Window) {
+        super(ar, log, w);
     }
 }
 
@@ -44,17 +44,25 @@
 describe('DetectBrowserDirective', () => {
     let log: LogService;
     let ar: ActivatedRoute;
+    let mockWindow: Window;
 
     beforeEach(() => {
         log = new ConsoleLoggerService();
         ar = new MockActivatedRoute(['debug', 'DetectBrowserDirective']);
+        mockWindow = <any>{
+            navigator: {
+                userAgent: 'HeadlessChrome',
+                vendor: 'Google Inc.'
+            }
+        };
 
         TestBed.configureTestingModule({
             providers: [ DetectBrowserDirective,
-                { provide: FnService, useValue: new MockFnService(ar, log) },
+                { provide: FnService, useValue: new MockFnService(ar, log, mockWindow) },
                 { provide: LogService, useValue: log },
                 { provide: OnosService, useClass: MockOnosService },
                 { provide: Document, useValue: document },
+                { provide: Window, useFactory: (() => mockWindow ) }
             ]
         });
     });