GUI2 Extract Topology view in to its own library

Change-Id: I45597d0902c99b5b3d606966866cc518011c54a0
diff --git a/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/protractor.conf.js b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/protractor.conf.js
new file mode 100644
index 0000000..86776a3
--- /dev/null
+++ b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/protractor.conf.js
@@ -0,0 +1,28 @@
+// Protractor configuration file, see link for more information
+// https://github.com/angular/protractor/blob/master/lib/config.ts
+
+const { SpecReporter } = require('jasmine-spec-reporter');
+
+exports.config = {
+  allScriptsTimeout: 11000,
+  specs: [
+    './src/**/*.e2e-spec.ts'
+  ],
+  capabilities: {
+    'browserName': 'chrome'
+  },
+  directConnect: true,
+  baseUrl: 'http://localhost:4200/',
+  framework: 'jasmine',
+  jasmineNodeOpts: {
+    showColors: true,
+    defaultTimeoutInterval: 30000,
+    print: function() {}
+  },
+  onPrepare() {
+    require('ts-node').register({
+      project: require('path').join(__dirname, './tsconfig.e2e.json')
+    });
+    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
+  }
+};
\ No newline at end of file
diff --git a/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.e2e-spec.ts b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.e2e-spec.ts
new file mode 100644
index 0000000..56efac6
--- /dev/null
+++ b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.e2e-spec.ts
@@ -0,0 +1,14 @@
+import { AppPage } from './app.po';
+
+describe('workspace-project App', () => {
+  let page: AppPage;
+
+  beforeEach(() => {
+    page = new AppPage();
+  });
+
+  it('should display welcome message', () => {
+    page.navigateTo();
+    expect(page.getTitleText()).toEqual('Welcome to gui2-topo-tester!');
+  });
+});
diff --git a/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.po.ts b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.po.ts
new file mode 100644
index 0000000..72e463a
--- /dev/null
+++ b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/src/app.po.ts
@@ -0,0 +1,11 @@
+import { browser, by, element } from 'protractor';
+
+export class AppPage {
+  navigateTo() {
+    return browser.get('/');
+  }
+
+  getTitleText() {
+    return element(by.css('app-root h1')).getText();
+  }
+}
diff --git a/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/tsconfig.e2e.json b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/tsconfig.e2e.json
new file mode 100644
index 0000000..e3a479b
--- /dev/null
+++ b/web/gui2-topo-lib/projects/gui2-topo-tester-e2e/tsconfig.e2e.json
@@ -0,0 +1,13 @@
+{
+  "extends": "../../tsconfig.json",
+  "compilerOptions": {
+    "outDir": "../../out-tsc/app",
+    "module": "commonjs",
+    "target": "es5",
+    "types": [
+      "jasmine",
+      "jasminewd2",
+      "node"
+    ]
+  }
+}
\ No newline at end of file