This is an automated email from the ASF dual-hosted git repository.
zrhoffman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
The following commit(s) were added to refs/heads/master by this push:
new 95db4e8 TP: Update GHA to run new TP tests (#5663)
95db4e8 is described below
commit 95db4e8ef65c22f6af17aa6f63733ef80322a02f
Author: Steve Hamrick <[email protected]>
AuthorDate: Thu Mar 25 11:04:10 2021 -0600
TP: Update GHA to run new TP tests (#5663)
* Add TP integration tests
* Cleanup, remove debug, and cache
* Wrong path
* Whitespace
* More whitespace
* Supress docker logs
---
.../.eslintrc | 0
.../README.md | 4 +-
.../action.yml | 4 +-
.../cdn.json | 2 +-
.../config.js | 0
.../database.json | 0
.../dbconf.yml | 0
.../dist/tp-integration-tests.js} | 1 -
.../entrypoint.sh | 133 ++---
.../package-lock.json | 0
.../package.json | 2 +-
.../riak.json | 0
.../tp-integration-tests.ts} | 0
.../tsconfig.json | 0
.../{tp.e2e.tests.yml => tp.integration.tests.yml} | 22 +-
README.md | 2 +-
traffic_portal/test/integration/CommonUtils/API.ts | 15 +-
.../integration/Data/PhysLocations/Cleanup.json | 2 +-
.../test/integration/Data/PhysLocations/Setup.json | 28 +-
.../integration/Data/Prerequisites/user.setup.json | 56 ++-
.../Data/ServerServerCapabilities/Cleanup.json | 51 +-
.../Data/ServerServerCapabilities/Setup.json | 249 +++++++++-
.../test/integration/Data/Servers/Cleanup.json | 51 +-
.../test/integration/Data/Servers/Setup.json | 241 ++++++++--
.../test/integration/Data/Servers/TestCases.json | 42 +-
.../test/integration/PageObjects/BasePage.po.ts | 2 +-
.../test/integration/PageObjects/ServersPage.po.ts | 28 +-
traffic_portal/test/integration/README.md | 30 ++
traffic_portal/test/integration/config.json | 39 ++
traffic_portal/test/integration/config.ts | 55 +--
traffic_portal/test/integration/package-lock.json | 534 ++++++++++-----------
traffic_portal/test/integration/package.json | 6 +-
traffic_portal/test/integration/tsconfig.json | 3 +-
33 files changed, 1117 insertions(+), 485 deletions(-)
diff --git a/.github/actions/tp-e2e-tests/.eslintrc
b/.github/actions/tp-integration-tests/.eslintrc
similarity index 100%
rename from .github/actions/tp-e2e-tests/.eslintrc
rename to .github/actions/tp-integration-tests/.eslintrc
diff --git a/.github/actions/tp-e2e-tests/README.md
b/.github/actions/tp-integration-tests/README.md
similarity index 96%
rename from .github/actions/tp-e2e-tests/README.md
rename to .github/actions/tp-integration-tests/README.md
index 37fa968..7230578 100644
--- a/.github/actions/tp-e2e-tests/README.md
+++ b/.github/actions/tp-integration-tests/README.md
@@ -17,8 +17,8 @@
under the License.
-->
-# tp-e2e-tests javascript action
-this action runs the traffic portal e2e tests
+# tp-integration-tests javascript action
+this action runs the traffic portal integration tests
- requires an smtp service (see `smtp_address` input)
- provides a riak server at address `trafficvault.infra.ciab.test`
diff --git a/.github/actions/tp-e2e-tests/action.yml
b/.github/actions/tp-integration-tests/action.yml
similarity index 93%
rename from .github/actions/tp-e2e-tests/action.yml
rename to .github/actions/tp-integration-tests/action.yml
index ae4e8a4..1405172 100644
--- a/.github/actions/tp-e2e-tests/action.yml
+++ b/.github/actions/tp-integration-tests/action.yml
@@ -16,7 +16,7 @@
# under the License.
name: 'tp-integration-tests'
-description: 'Runs Traffic Portal E2E tests'
+description: 'Runs Traffic Portal Integration tests'
inputs:
smtp_address:
description: 'Address of an SMTP server to use for the Traffic Ops API
tests'
@@ -33,4 +33,4 @@ inputs:
required: false
runs:
using: 'node12'
- main: 'dist/tp-e2e-tests.js'
+ main: 'dist/tp-integration-tests.js'
diff --git a/.github/actions/tp-e2e-tests/cdn.json
b/.github/actions/tp-integration-tests/cdn.json
similarity index 97%
rename from .github/actions/tp-e2e-tests/cdn.json
rename to .github/actions/tp-integration-tests/cdn.json
index 9e9f6ba..0e1c25c 100644
--- a/.github/actions/tp-e2e-tests/cdn.json
+++ b/.github/actions/tp-integration-tests/cdn.json
@@ -15,7 +15,7 @@
"port": "6443",
"log_location_error": "error.log",
"log_location_warning": "warning.log",
- "log_location_info": null,
+ "log_location_info": "info.log",
"log_location_debug": null,
"log_location_event": "event.log",
"max_db_connections": 20,
diff --git a/.github/actions/tp-e2e-tests/config.js
b/.github/actions/tp-integration-tests/config.js
similarity index 100%
rename from .github/actions/tp-e2e-tests/config.js
rename to .github/actions/tp-integration-tests/config.js
diff --git a/.github/actions/tp-e2e-tests/database.json
b/.github/actions/tp-integration-tests/database.json
similarity index 100%
rename from .github/actions/tp-e2e-tests/database.json
rename to .github/actions/tp-integration-tests/database.json
diff --git a/.github/actions/tp-e2e-tests/dbconf.yml
b/.github/actions/tp-integration-tests/dbconf.yml
similarity index 100%
rename from .github/actions/tp-e2e-tests/dbconf.yml
rename to .github/actions/tp-integration-tests/dbconf.yml
diff --git a/.github/actions/tp-e2e-tests/dist/tp-e2e-tests.js
b/.github/actions/tp-integration-tests/dist/tp-integration-tests.js
similarity index 98%
rename from .github/actions/tp-e2e-tests/dist/tp-e2e-tests.js
rename to .github/actions/tp-integration-tests/dist/tp-integration-tests.js
index dbcb123..d865545 100644
--- a/.github/actions/tp-e2e-tests/dist/tp-e2e-tests.js
+++ b/.github/actions/tp-integration-tests/dist/tp-integration-tests.js
@@ -26,7 +26,6 @@ function runProcess(...commandArguments) {
if (output.status === 0) {
return;
}
- console.log(output);
console.error("Child process \"", ...commandArguments, "\" exited with
status code", output.status, "!");
process.exit((_a = output.status) !== null && _a !== void 0 ? _a : 1);
}
diff --git a/.github/actions/tp-e2e-tests/entrypoint.sh
b/.github/actions/tp-integration-tests/entrypoint.sh
similarity index 66%
rename from .github/actions/tp-e2e-tests/entrypoint.sh
rename to .github/actions/tp-integration-tests/entrypoint.sh
index 65becee..b21a750 100755
--- a/.github/actions/tp-e2e-tests/entrypoint.sh
+++ b/.github/actions/tp-integration-tests/entrypoint.sh
@@ -17,24 +17,28 @@
# under the License.
set -o errexit -o nounset -o pipefail
-fqdn="http://localhost:4444/wd/hub/status"
-if ! curl -Lvsk "${fqdn}" >/dev/null 2>&1; then
- echo "Selenium not started on ${fqdn}"
+hub_fqdn="http://localhost:4444/wd/hub/status"
+to_fqdn="https://localhost:6443"
+tp_fqdn="https://172.18.0.1:8443"
+
+if ! curl -Lvsk "${hub_fqdn}" >/dev/null 2>&1; then
+ echo "Selenium not started on ${hub_fqdn}"
exit 1
fi
-DIVISION="adivision"
-REGION="aregion"
-PHYS="aloc"
-COORD="acoord"
-CDN="zcdn"
-CG="acg"
export PGUSER="traffic_ops"
export PGPASSWORD="twelve"
export PGHOST="localhost"
export PGDATABASE="traffic_ops"
export PGPORT="5432"
+# For TV Setup
+DIVISION="adivision"
+REGION="aregion"
+PHYS="aloc"
+COORD="acoord"
+CDN="zcdn"
+CG="acg"
<<QUERY psql
INSERT INTO tm_user (username, role, tenant_id, local_passwd)
VALUES ('admin', 1, 1,
@@ -46,7 +50,6 @@ INSERT INTO phys_location(name, short_name, region, address,
city, state, zip)
VALUES('${PHYS}', '${PHYS}', 1, 'some place idk', 'Denver', 'CO', '88888');
INSERT INTO coordinate(name) VALUES('${COORD}');
INSERT INTO cdn(name, domain_name) VALUES('${CDN}', 'infra.ciab.test');
-
WITH TYPE AS (SELECT id FROM type WHERE name = 'TC_LOC')
INSERT INTO cachegroup(name, short_name, type, coordinate)
SELECT '${CG}', '${CG}', TYPE.id, 1
@@ -124,8 +127,7 @@ start_traffic_vault() {
sed -i '/to-access\.sh\|^to-enroll/d'
/etc/riak/{prestart.d,poststart.d}/*
BASH_LINES
- DOCKER_BUILDKIT=1 docker build "$ciab_dir" -f
"${ciab_dir}/traffic_vault/Dockerfile" -t "$trafficvault" 2>&1 |
- color_and_prefix "$gray_bg" "building Traffic Vault";
+ DOCKER_BUILDKIT=1 docker build "$ciab_dir" -f
"${ciab_dir}/traffic_vault/Dockerfile" -t "$trafficvault" >/dev/null
echo 'Starting Traffic Vault...';
docker run \
--detach \
@@ -141,15 +143,14 @@ start_traffic_vault &
sudo apt-get install -y --no-install-recommends gettext \
ruby ruby-dev libc-dev curl \
- chromium-chromedriver postgresql-client \
gcc musl-dev
sudo gem update --system && sudo gem install sass compass
-sudo npm i -g protractor@^7.0.0 forever bower grunt selenium-webdriver
+sudo npm i -g forever bower grunt
-CONTAINER=$(docker ps | grep "selenium/node-chrome" | awk '{print $1}')
-CHROME_VER=$(docker exec "$CONTAINER" google-chrome --version | sed -E 's/.*
([0-9.]+).*/\1/')
-sudo webdriver-manager update --gecko false --versions.chrome
"LATEST_RELEASE_$CHROME_VER"
+CHROME_CONTAINER=$(docker ps | grep "selenium/node-chrome" | awk '{print $1}')
+HUB_CONTAINER=$(docker ps | grep "selenium/hub" | awk '{print $1}')
+CHROME_VER=$(docker exec "$CHROME_CONTAINER" google-chrome --version | sed -E
's/.* ([0-9.]+).*/\1/')
GOROOT=/usr/local/go
export PATH="${PATH}:${GOROOT}/bin"
@@ -157,6 +158,7 @@ download_go
export GOPATH="${HOME}/go"
readonly ORG_DIR="$GOPATH/src/github.com/apache"
readonly REPO_DIR="${ORG_DIR}/trafficcontrol"
+resources="$(dirname "$0")"
if [[ ! -e "$REPO_DIR" ]]; then
mkdir -p "$ORG_DIR"
cd
@@ -164,59 +166,76 @@ if [[ ! -e "$REPO_DIR" ]]; then
ln -s "$REPO_DIR" "${GITHUB_WORKSPACE}"
fi
-cd "${REPO_DIR}/traffic_ops/traffic_ops_golang"
+to_build() {
+ cd "${REPO_DIR}/traffic_ops/traffic_ops_golang"
+ go mod vendor -v
+ go build .
-go mod vendor -v > /dev/null
-go build . > /dev/null
-
+ openssl req -new -x509 -nodes -newkey rsa:4096 -out localhost.crt -keyout
localhost.key -subj "/CN=tptests";
-openssl req -new -x509 -nodes -newkey rsa:4096 -out localhost.crt -keyout
localhost.key -subj "/CN=tptests";
+ envsubst <"${resources}/cdn.json" >cdn.conf
+ cp "${resources}/database.json" database.conf
-resources="$(dirname "$0")"
-envsubst <"${resources}/cdn.json" >cdn.conf
-cp "${resources}/database.json" database.conf
+ export $(<"${ciab_dir}/variables.env" sed '/^#/d') # defines
TV_ADMIN_USER/PASSWORD
+ envsubst <"${resources}/riak.json" >riak.conf
+ truncate --size=0 warning.log error.log event.log info.log
-export $(<"${ciab_dir}/variables.env" sed '/^#/d') # defines
TV_ADMIN_USER/PASSWORD
-envsubst <"${resources}/riak.json" >riak.conf
+ ./traffic_ops_golang --cfg ./cdn.conf --dbcfg ./database.conf -riakcfg
riak.conf &
+ tail -f warning.log 2>&1 | color_and_prefix "${yellow_bg}" 'Traffic Ops
WARN' &
+ tail -f error.log 2>&1 | color_and_prefix "${red_bg}" 'Traffic Ops ERR' &
+ tail -f event.log 2>&1 | color_and_prefix "${gray_bg}" 'Traffic Ops EVT' &
+}
-truncate --size=0 warning.log error.log event.log # Removes output from
previous API versions and makes sure files exist
-./traffic_ops_golang --cfg ./cdn.conf --dbcfg ./database.conf -riakcfg
riak.conf &
-tail -f warning.log 2>&1 | color_and_prefix "${yellow_bg}" 'Traffic Ops' &
-tail -f error.log 2>&1 | color_and_prefix "${red_bg}" 'Traffic Ops' &
-tail -f event.log 2>&1 | color_and_prefix "${gray_bg}" 'Traffic Ops' &
+tp_build() {
+ cd "${REPO_DIR}/traffic_portal"
+ npm ci
+ bower install
+ grunt dist
-cd "../../traffic_portal"
-npm ci
-bower install
-grunt dist
+ cp "${resources}/config.js" ./conf/
+ touch tp.log access.log out.log err.log
+ sudo forever --minUptime 5000 --spinSleepTime 2000 -f -o out.log start
server.js &
+ tail -f err.log 2>&1 | color_and_prefix "${red_bg}" "Node Err" &
+}
+
+(to_build) &
+(tp_build) &
-cp "${resources}/config.js" ./conf/
-touch tp.log access.log
-sudo forever --minUptime 5000 --spinSleepTime 2000 -l ./tp.log start server.js
&
+onFail() {
+ docker logs "$trafficvault" > Reports/traffic_vault.log
+ mv tp.log Reports/forever.log
+ mv access.log Reports/tp-access.log
+ mv out.log Reports/node.log
+ docker logs $CHROME_CONTAINER > Reports/chrome.log
+ docker logs $HUB_CONTAINER > Reports/hub.log
+ echo "Detailed logs produced info Reports artifact"
+ exit 1
+}
-fqdn="https://localhost:8443"
-while ! curl -Lvsk "${fqdn}/api/3.0/ping" >/dev/null 2>&1; do
- echo "waiting for TP/TO server to start on '${fqdn}'"
- sleep 10
-done
+cd "${REPO_DIR}/traffic_portal/test/integration"
+npm ci
+PATH=$(pwd)/node_modules/.bin/:$PATH
+
+webdriver-manager update --gecko false --versions.chrome
"LATEST_RELEASE_$CHROME_VER"
-cd "test/end_to_end"
jq " .capabilities.chromeOptions.args = [
- \"--disable-extensions\",
- \"--disable-gpu\",
\"--headless\",
\"--no-sandbox\",
+ \"--disable-gpu\",
\"--ignore-certificate-errors\"
- ] | .baseUrl = \"${fqdn}\" | del(.seleniumAddress)" \
- conf.json > conf.json.tmp && mv conf.json.tmp conf.json
+ ] | .params.apiUrl = \"${tp_fqdn}/api/4.0\" | .params.baseUrl =\"${tp_fqdn}\"
+ | .capabilities[\"goog:chromeOptions\"].w3c = false |
.capabilities.chromeOptions.w3c = false" \
+ config.json > config.json.tmp && mv config.json.tmp config.json
-onFail() {
- docker logs "$trafficvault" 2>&1 |
- color_and_prefix "$gray_bg" 'Traffic Vault';
- cat tp.log | color_and_prefix "${gray_bg}" 'Forever'
- cat access.log | color_and_prefix "${gray_bg}" 'Traffic Portal'
- exit 1
-}
+tsc
+
+# Wait for tp/to build
+timeout 5m bash <<TMOUT
+ while ! curl -Lvsk "${tp_fqdn}/api/4.0/ping" >/dev/null 2>&1; do
+ echo "waiting for TP/TO server to start on '${tp_fqdn}'"
+ sleep 10
+ done
+TMOUT
-sudo protractor ./conf.js || onFail
+protractor ./GeneratedCode/config.js --params.baseUrl="${tp_fqdn}"
--params.apiUrl="${to_fqdn}/api/4.0" || onFail
diff --git a/.github/actions/tp-e2e-tests/package-lock.json
b/.github/actions/tp-integration-tests/package-lock.json
similarity index 100%
rename from .github/actions/tp-e2e-tests/package-lock.json
rename to .github/actions/tp-integration-tests/package-lock.json
diff --git a/.github/actions/tp-e2e-tests/package.json
b/.github/actions/tp-integration-tests/package.json
similarity index 90%
rename from .github/actions/tp-e2e-tests/package.json
rename to .github/actions/tp-integration-tests/package.json
index bc27ff1..e2e5cf0 100644
--- a/.github/actions/tp-e2e-tests/package.json
+++ b/.github/actions/tp-integration-tests/package.json
@@ -1,6 +1,6 @@
{
"author": "Apache Traffic Control",
- "description": "Runs Traffic Ops Go client/API integration tests",
+ "description": "Runs Traffic Portal Integration tests",
"license": "Apache-2.0",
"main": "dist/to-integration-tests.js",
"name": "to-integration-tests",
diff --git a/.github/actions/tp-e2e-tests/riak.json
b/.github/actions/tp-integration-tests/riak.json
similarity index 100%
rename from .github/actions/tp-e2e-tests/riak.json
rename to .github/actions/tp-integration-tests/riak.json
diff --git a/.github/actions/tp-e2e-tests/tp-e2e-tests.ts
b/.github/actions/tp-integration-tests/tp-integration-tests.ts
similarity index 100%
rename from .github/actions/tp-e2e-tests/tp-e2e-tests.ts
rename to .github/actions/tp-integration-tests/tp-integration-tests.ts
diff --git a/.github/actions/tp-e2e-tests/tsconfig.json
b/.github/actions/tp-integration-tests/tsconfig.json
similarity index 100%
rename from .github/actions/tp-e2e-tests/tsconfig.json
rename to .github/actions/tp-integration-tests/tsconfig.json
diff --git a/.github/workflows/tp.e2e.tests.yml
b/.github/workflows/tp.integration.tests.yml
similarity index 85%
rename from .github/workflows/tp.e2e.tests.yml
rename to .github/workflows/tp.integration.tests.yml
index 380a78f..c72d82f 100644
--- a/.github/workflows/tp.e2e.tests.yml
+++ b/.github/workflows/tp.integration.tests.yml
@@ -15,7 +15,7 @@
# specific language governing permissions and limitations
# under the License.
-name: TP E2E Tests
+name: TP Integration Tests
env:
# alpine:3.13
@@ -25,8 +25,8 @@ on:
push:
paths:
- .github/actions/todb-init/**
- - .github/actions/tp-e2e-tests/**
- - .github/workflows/tp.e2e.tests.yml
+ - .github/actions/tp-integration-tests/**
+ - .github/workflows/tp.integration.tests.yml
- GO_VERSION
- infrastructure/cdn-in-a-box/traffic_vault/**
- traffic_ops/*client/**.go
@@ -37,8 +37,8 @@ on:
pull_request:
paths:
- .github/actions/todb-init/**
- - .github/actions/tp-e2e-tests/**
- - .github/workflows/tp.e2e.tests.yml
+ - .github/actions/tp-integration-tests/**
+ - .github/workflows/tp.integration.tests.yml
- GO_VERSION
- infrastructure/cdn-in-a-box/traffic_vault/**
- traffic_ops/*client/**.go
@@ -48,7 +48,7 @@ on:
types: [ opened, reopened, ready_for_review, synchronize ]
jobs:
- E2E_tests:
+ TP_Integration_tests:
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
services:
@@ -101,16 +101,22 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.npm
- key: ${{ runner.os }}-node-modules-${{
hashFiles('traffic_portal/package-lock.json traffic_portal/bower.json') }}
+ key: ${{ runner.os }}-node-modules-${{
hashFiles('traffic_portal/package-lock.json
traffic_portal/test/integration/package-lock.json traffic_portal/bower.json') }}
restore-keys: |
${{ runner.os }}-node-modules-
- name: Initialize Traffic Ops Database
id: todb
uses: ./.github/actions/todb-init
- name: Run TP
- uses: ./.github/actions/tp-e2e-tests
+ uses: ./.github/actions/tp-integration-tests
with:
smtp_address: 172.17.0.1
+ - name: Upload Report
+ uses: actions/upload-artifact@v2
+ if: always()
+ with:
+ name: ${{ github.job }}
+ path: ${{ github.workspace
}}/traffic_portal/test/integration/Reports/
- name: Save Alpine Docker image
run: .github/actions/save-alpine-tar/entrypoint.sh save ${{
env.ALPINE_VERSION }}
diff --git a/README.md b/README.md
index 49fd5a2..b433ccd 100644
--- a/README.md
+++ b/README.md
@@ -22,7 +22,7 @@



-
+
[](http://traffic-control-cdn.readthedocs.io/en/latest/?badge=latest)
# Apache Traffic Control
diff --git a/traffic_portal/test/integration/CommonUtils/API.ts
b/traffic_portal/test/integration/CommonUtils/API.ts
index d83ea16..e241045 100644
--- a/traffic_portal/test/integration/CommonUtils/API.ts
+++ b/traffic_portal/test/integration/CommonUtils/API.ts
@@ -63,7 +63,7 @@ export class API {
if(data.hasOwnProperty('getRequest')){
let response = await this.GetId(data);
if (response != null) {
- throw new Error('Failed to get id:\nResponse Status: ' +
response.statusText + '\nResponse Data: ' + response.data)
+ throw new Error('Failed to get id:\nResponse Status: ' +
response.statusText + '\nResponse Data: ' + response.data)
}
}
@@ -76,7 +76,7 @@ export class API {
data: data
});
break;
- case "get":
+ case "get":
response = await axios({
method: method,
url: config.params.apiUrl + route,
@@ -103,6 +103,8 @@ export class API {
if (response.status == 200 || response.status == 201) {
return null
} else {
+ console.log("Reponse Data: " , response.data);
+ console.log("Response: " , response);
throw new Error('Request Failed:\nResponse Status: ' +
response.statusText + '\nResponse Data: ' + response.data);
}
} catch (error) {
@@ -119,7 +121,7 @@ export class API {
url: config.params.apiUrl + data.getRequest[i].route +
query,
headers: { Cookie: this.cookie},
});
-
+
if (response.status == 200) {
if(data.getRequest[i].hasOwnProperty('isArray')){
data[data.getRequest[i].replace] = [await
response.data.response[0].id];
@@ -198,11 +200,14 @@ export class API {
for(var j = 0; j < data.Prerequisites[i].Data.length; j++){
let output = await
this.SendRequest(data.Prerequisites[i].Route, data.Prerequisites[i].Method,
data.Prerequisites[i].Data[j]);
if (output != null) {
- throw new Error(output)
+ console.error(`UseAPI failed on Action
${data.Prerequisites[i].Action} with index ${i}, and Data index ${j}`);
+ throw new Error(output);
}
}
}
return null
+ } else if (response.status == undefined) {
+ throw new Error(`Error requesting ${config.params.apiUrl}:
${response}`);
} else {
throw new Error('Login failed:\nResponse Status: ' +
response.statusText + '\nResponse Data: ' + response.data)
}
@@ -210,4 +215,4 @@ export class API {
return error;
}
}
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/PhysLocations/Cleanup.json
b/traffic_portal/test/integration/Data/PhysLocations/Cleanup.json
index ce67479..00a7e5d 100644
--- a/traffic_portal/test/integration/Data/PhysLocations/Cleanup.json
+++ b/traffic_portal/test/integration/Data/PhysLocations/Cleanup.json
@@ -68,4 +68,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/PhysLocations/Setup.json
b/traffic_portal/test/integration/Data/PhysLocations/Setup.json
index 30b62b6..3dfc05b 100644
--- a/traffic_portal/test/integration/Data/PhysLocations/Setup.json
+++ b/traffic_portal/test/integration/Data/PhysLocations/Setup.json
@@ -77,8 +77,8 @@
"Method": "post",
"Data": [
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "PhysTest",
"httpsPort": 443,
@@ -113,8 +113,8 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
@@ -127,10 +127,28 @@
"queryKey": "name",
"queryValue": "TPPhysLocation2",
"replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
}
]
}
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/Prerequisites/user.setup.json
b/traffic_portal/test/integration/Data/Prerequisites/user.setup.json
index 0be947b..ebf0141 100644
--- a/traffic_portal/test/integration/Data/Prerequisites/user.setup.json
+++ b/traffic_portal/test/integration/Data/Prerequisites/user.setup.json
@@ -253,6 +253,60 @@
]
}
]
+ },
+ {
+ "Action": "CreateCDN",
+ "Route": "/cdns",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "dummycdn",
+ "domainName": "cdnp3",
+ "dnssecEnabled": false
+ }
+ ]
+ },
+ {
+ "Action": "CreateCacheGroups",
+ "Route": "/cachegroups",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "testCG",
+ "shortName": "tCG",
+ "latitude": 0,
+ "longitude": 0,
+ "fallbackToClosest": true,
+ "localizationMethods": [
+ "DEEP_CZ",
+ "CZ",
+ "GEO"
+ ],
+ "typeId": 23
+ }
+ ]
+ },
+ {
+ "Action": "CreateProfile",
+ "Route": "/profiles",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "testProfile",
+ "description": "A test profile for API examples",
+ "cdn": 0,
+ "type": "ATS_PROFILE",
+ "routingDisabled": false,
+ "getRequest": [
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdn"
+ }
+ ]
+ }
+ ]
}
]
-}
\ No newline at end of file
+}
diff --git
a/traffic_portal/test/integration/Data/ServerServerCapabilities/Cleanup.json
b/traffic_portal/test/integration/Data/ServerServerCapabilities/Cleanup.json
index 297ea90..8b12903 100644
--- a/traffic_portal/test/integration/Data/ServerServerCapabilities/Cleanup.json
+++ b/traffic_portal/test/integration/Data/ServerServerCapabilities/Cleanup.json
@@ -74,6 +74,55 @@
]
},
{
+ "Action": "DeletePhysLocations",
+ "Route" : "/phys_locations",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/phys_locations/",
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "route"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Action": "DeleteRegions",
+ "Route" : "/regions",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/regions?name=PhysTest"
+ },
+ {
+ "route": "/regions?name=PhysTest2"
+ }
+ ]
+ },
+ {
+ "Action": "DeleteDivisions",
+ "Route" : "/divisions",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/divisions/",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "route"
+ }
+ ]
+ }
+ ]
+ },
+ {
"Action": "DeleteServerCapabilities",
"Route" : "/server_capabilities",
"Method" : "delete",
@@ -87,4 +136,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git
a/traffic_portal/test/integration/Data/ServerServerCapabilities/Setup.json
b/traffic_portal/test/integration/Data/ServerServerCapabilities/Setup.json
index 37767c9..d8f24b6 100644
--- a/traffic_portal/test/integration/Data/ServerServerCapabilities/Setup.json
+++ b/traffic_portal/test/integration/Data/ServerServerCapabilities/Setup.json
@@ -1,13 +1,84 @@
{
"Prerequisites": [
{
+ "Action": "CreateDivisions",
+ "Route": "/divisions",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "PhysTest"
+ }
+ ]
+ },
+ {
+ "Action": "CreateRegions",
+ "Route": "/regions",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "PhysTest",
+ "division": "4",
+ "divisionName": "PhysTest",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "division"
+ }
+ ]
+ },
+ {
+ "name": "PhysTest2",
+ "division": "4",
+ "divisionName": "PhysTest",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "division"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Action": "CreatePhysLocation",
+ "Route": "/phys_locations",
+ "Method": "post",
+ "Data": [
+ {
+ "address": "Buckingham Palace",
+ "city": "London",
+ "comments": "Buckingham Palace",
+ "email": "[email protected]",
+ "name": "TPPhysLocation2",
+ "phone": "0-843-816-6276",
+ "poc": "Her Majesty The Queen Elizabeth Alexandra Mary
Windsor II",
+ "regionId": 3,
+ "shortName": "tpphys2",
+ "state": "NA",
+ "zip": "99999",
+ "getRequest": [
+ {
+ "route": "/regions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "regionId"
+ }
+ ]
+ }
+ ]
+ },
+ {
"Action": "CreateServers",
"Route": "/servers",
"Method": "post",
"Data": [
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "testserver1",
"httpsPort": 443,
@@ -42,14 +113,40 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
"cachegroupId": 8,
@@ -95,7 +192,33 @@
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
"cachegroupId": 8,
@@ -141,7 +264,33 @@
"statusId": 3,
"tcpPort": 80,
"typeId": 13,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
"cachegroupId": 8,
@@ -187,7 +336,33 @@
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
"cachegroupId": 8,
@@ -233,7 +408,33 @@
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
"cachegroupId": 8,
@@ -279,7 +480,33 @@
"statusId": 3,
"tcpPort": 80,
"typeId": 13,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
}
]
},
@@ -303,4 +530,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/Servers/Cleanup.json
b/traffic_portal/test/integration/Data/Servers/Cleanup.json
index dc55646..cfe7917 100644
--- a/traffic_portal/test/integration/Data/Servers/Cleanup.json
+++ b/traffic_portal/test/integration/Data/Servers/Cleanup.json
@@ -112,6 +112,55 @@
]
},
{
+ "Action": "DeletePhysLocations",
+ "Route" : "/phys_locations",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/phys_locations/",
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "route"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Action": "DeleteRegions",
+ "Route" : "/regions",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/regions?name=PhysTest"
+ },
+ {
+ "route": "/regions?name=PhysTest2"
+ }
+ ]
+ },
+ {
+ "Action": "DeleteDivisions",
+ "Route" : "/divisions",
+ "Method" : "delete",
+ "Data": [
+ {
+ "route": "/divisions/",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "route"
+ }
+ ]
+ }
+ ]
+ },
+ {
"Action": "DeleteCDN",
"Route" : "/cdns",
"Method" : "delete",
@@ -131,4 +180,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/Servers/Setup.json
b/traffic_portal/test/integration/Data/Servers/Setup.json
index a0128dc..6aff792 100644
--- a/traffic_portal/test/integration/Data/Servers/Setup.json
+++ b/traffic_portal/test/integration/Data/Servers/Setup.json
@@ -1,13 +1,84 @@
{
"Prerequisites": [
{
+ "Action": "CreateDivisions",
+ "Route": "/divisions",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "PhysTest"
+ }
+ ]
+ },
+ {
+ "Action": "CreateRegions",
+ "Route": "/regions",
+ "Method": "post",
+ "Data": [
+ {
+ "name": "PhysTest",
+ "division": "4",
+ "divisionName": "PhysTest",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "division"
+ }
+ ]
+ },
+ {
+ "name": "PhysTest2",
+ "division": "4",
+ "divisionName": "PhysTest",
+ "getRequest": [
+ {
+ "route": "/divisions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "division"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "Action": "CreatePhysLocation",
+ "Route": "/phys_locations",
+ "Method": "post",
+ "Data": [
+ {
+ "address": "Buckingham Palace",
+ "city": "London",
+ "comments": "Buckingham Palace",
+ "email": "[email protected]",
+ "name": "TPPhysLocation2",
+ "phone": "0-843-816-6276",
+ "poc": "Her Majesty The Queen Elizabeth Alexandra Mary
Windsor II",
+ "regionId": 3,
+ "shortName": "tpphys2",
+ "state": "NA",
+ "zip": "99999",
+ "getRequest": [
+ {
+ "route": "/regions",
+ "queryKey": "name",
+ "queryValue": "PhysTest",
+ "replace": "regionId"
+ }
+ ]
+ }
+ ]
+ },
+ {
"Action": "CreateServers",
"Route": "/servers",
"Method": "post",
"Data": [
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "servertestremove2",
"httpsPort": 443,
@@ -42,18 +113,44 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "servertestremoveop2",
"httpsPort": 443,
@@ -88,18 +185,44 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
"tcpPort": 80,
"typeId": 12,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "servertestremove3",
"httpsPort": 443,
@@ -134,18 +257,44 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
"tcpPort": 80,
"typeId": 11,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
},
{
- "cachegroupId": 8,
- "cdnId": 2,
+ "cachegroupId": 0,
+ "cdnId": 0,
"domainName": "test.net",
"hostName": "servertestremoveop3",
"httpsPort": 443,
@@ -180,14 +329,40 @@
"mgmtIpGateway": "",
"mgmtIpNetmask": "",
"offlineReason": "",
- "physLocationId": 2,
- "profileId": 9,
+ "physLocationId": 0,
+ "profileId": 0,
"routerHostName": "",
"routerPortName": "",
"statusId": 3,
"tcpPort": 80,
"typeId": 11,
- "updPending": false
+ "updPending": false,
+ "getRequest": [
+ {
+ "route": "/phys_locations",
+ "queryKey": "name",
+ "queryValue": "TPPhysLocation2",
+ "replace": "physLocationId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
+ },
+ {
+ "route": "/cachegroups",
+ "queryKey": "name",
+ "queryValue": "testCG",
+ "replace": "cachegroupId"
+ },
+ {
+ "route": "/profiles",
+ "queryKey": "name",
+ "queryValue": "testProfile",
+ "replace": "profileId"
+ }
+ ]
}
]
},
@@ -210,7 +385,7 @@
"Method": "post",
"Data": [
{
- "serverId": 1,
+ "serverId": 0,
"serverCapability": "servertestcap1",
"getRequest": [
{
@@ -222,7 +397,7 @@
]
},
{
- "serverId": 1,
+ "serverId": 0,
"serverCapability": "servertestcapop1",
"getRequest": [
{
@@ -242,7 +417,7 @@
"Data": [
{
"active": true,
- "cdnId": 2,
+ "cdnId": 0,
"displayName": "servertestds1",
"dscp": 0,
"geoLimit": 0,
@@ -258,7 +433,7 @@
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regionalGeoBlocking": false,
- "tenantId": 6,
+ "tenantId": 0,
"typeId": 1,
"xmlId": "servertds1",
"getRequest": [
@@ -267,12 +442,18 @@
"queryKey": "name",
"queryValue": "tenantSame",
"replace": "tenantId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
}
]
},
{
"active": true,
- "cdnId": 2,
+ "cdnId": 0,
"displayName": "servertestdsop1",
"dscp": 0,
"geoLimit": 0,
@@ -288,7 +469,7 @@
"qstringIgnore": 0,
"rangeRequestHandling": 0,
"regionalGeoBlocking": false,
- "tenantId": 6,
+ "tenantId": 0,
"typeId": 1,
"xmlId": "servertdsop1",
"getRequest": [
@@ -297,6 +478,12 @@
"queryKey": "name",
"queryValue": "tenantSame",
"replace": "tenantId"
+ },
+ {
+ "route": "/cdns",
+ "queryKey": "name",
+ "queryValue": "dummycdn",
+ "replace": "cdnId"
}
]
}
@@ -385,4 +572,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/Data/Servers/TestCases.json
b/traffic_portal/test/integration/Data/Servers/TestCases.json
index 94847c8..383e294 100644
--- a/traffic_portal/test/integration/Data/Servers/TestCases.json
+++ b/traffic_portal/test/integration/Data/Servers/TestCases.json
@@ -14,11 +14,11 @@
"Status": "ONLINE",
"Hostname": "servertestcreate1",
"Domainname": "test.com",
- "CDN": "CDN-in-a-Box",
- "CacheGroup": "CDN_in_a_Box_Edge",
+ "CDN": "dummycdn",
+ "CacheGroup": "testCG",
"Type": "EDGE",
- "Profile": "ATS_EDGE_TIER_CACHE",
- "PhysLocation": "CDN_in_a_Box",
+ "Profile": "testProfile",
+ "PhysLocation": "TPPhysLocation2",
"InterfaceName": "test",
"validationMessage": "Server created"
},
@@ -27,11 +27,11 @@
"Status": "ONLINE",
"Hostname": "servertestcreate2",
"Domainname": "test.com",
- "CDN": "CDN-in-a-Box",
- "CacheGroup": "CDN_in_a_Box_Edge",
+ "CDN": "dummycdn",
+ "CacheGroup": "testCG",
"Type": "EDGE",
- "Profile": "ATS_EDGE_TIER_CACHE",
- "PhysLocation": "CDN_in_a_Box",
+ "Profile": "testProfile",
+ "PhysLocation": "TPPhysLocation2",
"InterfaceName": "test",
"validationMessage": "Server created"
}
@@ -80,11 +80,11 @@
"Status": "ONLINE",
"Hostname": "servertcreatero",
"Domainname": "test.com",
- "CDN": "CDN-in-a-Box",
- "CacheGroup": "CDN_in_a_Box_Edge",
+ "CDN": "dummycdn",
+ "CacheGroup": "testCG",
"Type": "EDGE",
- "Profile": "ATS_EDGE_TIER_CACHE",
- "PhysLocation": "CDN_in_a_Box",
+ "Profile": "testProfile",
+ "PhysLocation": "TPPhysLocation2",
"InterfaceName": "test",
"validationMessage": "Forbidden."
}
@@ -120,11 +120,11 @@
"Status": "ONLINE",
"Hostname": "servertestcreateop1",
"Domainname": "test.com",
- "CDN": "CDN-in-a-Box",
- "CacheGroup": "CDN_in_a_Box_Edge",
+ "CDN": "dummycdn",
+ "CacheGroup": "testCG",
"Type": "EDGE",
- "Profile": "ATS_EDGE_TIER_CACHE",
- "PhysLocation": "CDN_in_a_Box",
+ "Profile": "testProfile",
+ "PhysLocation": "TPPhysLocation2",
"InterfaceName": "test",
"validationMessage": "Server created"
},
@@ -133,11 +133,11 @@
"Status": "ONLINE",
"Hostname": "servertestcreateop2",
"Domainname": "test.com",
- "CDN": "CDN-in-a-Box",
- "CacheGroup": "CDN_in_a_Box_Edge",
+ "CDN": "dummycdn",
+ "CacheGroup": "testCG",
"Type": "EDGE",
- "Profile": "ATS_EDGE_TIER_CACHE",
- "PhysLocation": "CDN_in_a_Box",
+ "Profile": "testProfile",
+ "PhysLocation": "TPPhysLocation2",
"InterfaceName": "test",
"validationMessage": "Server created"
}
@@ -173,4 +173,4 @@
]
}
]
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/PageObjects/BasePage.po.ts
b/traffic_portal/test/integration/PageObjects/BasePage.po.ts
index fd27d2d..8983a1a 100644
--- a/traffic_portal/test/integration/PageObjects/BasePage.po.ts
+++ b/traffic_portal/test/integration/PageObjects/BasePage.po.ts
@@ -104,4 +104,4 @@ export class BasePage {
GetPopupTitle(){
return this.lblPopupPageTitle.getText();
}
-}
\ No newline at end of file
+}
diff --git a/traffic_portal/test/integration/PageObjects/ServersPage.po.ts
b/traffic_portal/test/integration/PageObjects/ServersPage.po.ts
index 617d240..00f3599 100644
--- a/traffic_portal/test/integration/PageObjects/ServersPage.po.ts
+++ b/traffic_portal/test/integration/PageObjects/ServersPage.po.ts
@@ -122,13 +122,13 @@ export class ServersPage extends BasePage {
IsServersItemPresent(serversName: string) {
return element(by.xpath("//table[@id='serversTable']//tr/td[text()='" +
"']")).isPresent()
}
-
+
async ClickAddServer() {
await this.btnCreateServer.click()
}
-
+
async CreateServer(server){
- let result = false;
+ let result = false;
let basePage = new BasePage();
let networkIp = Math.round(Math.random() * 100).toString()+ "." +
Math.round(Math.random() * 100).toString() + "." + Math.round(Math.random() *
100).toString() +
"." + Math.round(Math.random() * 100).toString();
@@ -138,14 +138,16 @@ export class ServersPage extends BasePage {
await this.txtStatus.sendKeys(server.Status);
await this.txtHostname.sendKeys(server.Hostname+this.randomize);
await this.txtDomainName.sendKeys(server.Domainname);
- await this.txtCDN.sendKeys(server.CDN);
- await this.txtCacheGroup.sendKeys(server.CacheGroup);
+ await this.txtCDN.sendKeys("ALL");
+ await this.txtCDN.sendKeys(server.CDN + this.randomize);
+ await this.txtCacheGroup.sendKeys(server.CacheGroup + this.randomize);
await this.txtType.sendKeys(server.Type);
- await this.txtProfile.sendKeys(server.Profile);
+ await this.txtProfile.sendKeys(server.Profile + this.randomize);
await this.txtPhysLocation.sendKeys(server.PhysLocation);
await this.txtInterfaceName.sendKeys(server.InterfaceName);
await
element(by.id(""+server.InterfaceName+"-")).sendKeys(ipv6.toString());
- await basePage.ClickCreate();
+ if (!await basePage.ClickCreate())
+ result = false;
await basePage.GetOutputMessage().then(function(value){
if(server.validationMessage == value){
result = true;
@@ -153,8 +155,8 @@ export class ServersPage extends BasePage {
result = false;
}
})
- await this.OpenServerPage();
- return result;
+ await this.OpenServerPage();
+ return result;
}
async SearchServer(nameServer:string){
@@ -165,7 +167,7 @@ export class ServersPage extends BasePage {
await
browser.actions().mouseMove(element(by.xpath("//span[text()='"+name+"']"))).perform();
await
browser.actions().doubleClick(element(by.xpath("//span[text()='"+name+"']"))).perform();
}
-
+
async SearchDeliveryServiceFromServerPage(name:string){
let result = false;
await this.txtDSSearch.clear();
@@ -178,7 +180,7 @@ export class ServersPage extends BasePage {
}
return result;
}
-
+
async
AddDeliveryServiceToServer(deliveryServiceName:string,outputMessage:string){
let result = false;
let basePage = new BasePage();
@@ -242,7 +244,7 @@ export class ServersPage extends BasePage {
await this.OpenServerPage();
return result;
}
-
+
async SearchServerServerCapabilities(name:string){
let result = false;
await this.searchFilter.clear();
@@ -261,7 +263,7 @@ export class ServersPage extends BasePage {
return result;
}
-
+
async
RemoveServerCapabilitiesFromServer(serverCapabilities:string,outputMessage:string){
let result = false;
let basePage = new BasePage();
diff --git a/traffic_portal/test/integration/README.md
b/traffic_portal/test/integration/README.md
new file mode 100644
index 0000000..846dc1e
--- /dev/null
+++ b/traffic_portal/test/integration/README.md
@@ -0,0 +1,30 @@
+# Traffic Portal Test Automation
+
+**Test Development Environment Setup**
+
+* Install [Node](http://nodejs.org) (v6.x.x or later): `brew install node`
+* Follow setup steps described to install protractor:
[here](http://www.protractortest.org/#/tutorial#setup)
+* Now install packages manager: `npm install`
+* Now install protractor: `npm i protractor`
+* Now install typescript: `npm install [email protected] -g`
+* Now install selenium standalone: `sudo webdriver-manager update`
+* In a separate command line window, run: `sudo webdriver-manager start` and
keep it running.
+* Run CDN-in-a-Box in a separate command line window and make sure all the
components and features display.
+
+**How To Run Tests**
+
+Run this command below from integration directory. This command will compile
and convert the typescript files into javascript files. The generated js files
are available in integration/GeneratedCode directory.
+```
+tsc
+```
+After that, run this command below to run the protractor test from the
environment user input.
+```
+protractor ./GeneratedCode/config.js --params.baseUrl='https://localhost:443'
+```
+**Command Line Parameters**
+
+| Flag | Description
|
+| ------------------------------- |
:--------------------------------------------------------------------------------------------------:
|
+| params.baseUrl | Environment test run on. Tests are written
for cdn-in-a-box only. Do not run on other environment
|
+| capabilities.shardTestFiles | Input `true` or `false` to turn on or off
parallelization. If the value is false, maxInstances will always count as 1.
The default value in the config file = false |
+| capabilities.maxInstances | Input number of chrome instances that your
machine can handle. Test will fail if local machine cannot handle a lot of
chrome instances. The default value = 1 |
diff --git a/traffic_portal/test/integration/config.json
b/traffic_portal/test/integration/config.json
new file mode 100644
index 0000000..e133013
--- /dev/null
+++ b/traffic_portal/test/integration/config.json
@@ -0,0 +1,39 @@
+{
+ "seleniumAddress": "http://localhost:4444/wd/hub",
+ "allScriptsTimeout": 200000,
+ "capabilities": {
+ "browserName": "chrome",
+ "shardTestFiles": false,
+ "maxInstances": 1,
+ "marionette": true,
+ "acceptInsecureCerts": true,
+ "acceptSslCerts": true,
+ "chromeOptions": {
+ "args": ["--headless", "--no-sandbox", "--window-size=1920,1080"],
+ "prefs": {
+ "download": {
+ "prompt_for_download": false
+ }
+ }
+ }
+ },
+ "specs": [
+ "specs/*.spec.js"
+ ],
+ "framework": "jasmine",
+ "getPageTimeout": 60000,
+ "jasmineNodeOpts": {
+ "showColors": true,
+ "defaultTimeoutInterval": 1000000,
+ "random": false,
+ "stopSpecOnExpectationFailure": true
+ },
+ "params": {
+ "apiUrl": " https://localhost:443/api/4.0",
+ "baseUrl": "https://localhost:443/",
+ "login": {
+ "username": "admin",
+ "password": "twelve12"
+ }
+ }
+}
diff --git a/traffic_portal/test/integration/config.ts
b/traffic_portal/test/integration/config.ts
index 27e407b..c04a2c5 100644
--- a/traffic_portal/test/integration/config.ts
+++ b/traffic_portal/test/integration/config.ts
@@ -18,6 +18,7 @@
*/
import { API } from './CommonUtils/API';
import { Config, browser } from 'protractor'
+import * as conf from "./config.json"
let path = require('path');
let downloadsPath = path.resolve('Downloads');
@@ -27,52 +28,10 @@ let twoNumberRandomize = Math.floor(Math.random() * 101);
exports.twoNumberRandomize = twoNumberRandomize;
exports.randomize = randomize;
-export let config: Config = {
- // The address of a running selenium server.
- seleniumAddress: 'http://localhost:4444/wd/hub',
- allScriptsTimeout: 200000,
- // Capabilities to be passed to the webdriver instance.
- capabilities: {
- browserName: 'chrome',
- //Parallelization Configuration (shardTestFiles and maxInstances)
- shardTestFiles: false,
- maxInstances: 1,
- marionette: true,
- acceptInsecureCerts: true,
- acceptSslCerts: true,
- chromeOptions: {
- //Run protractor headlessly. Comment it out if user want to see the
process.
- args: ["--headless", "--no-sandbox", "--window-size=1920,1080"],
- prefs: {
- download: {
- 'prompt_for_download': false,
- 'default_directory': downloadsPath
- }
- }
- }
- },
- specs: [
- "specs/*.spec.js",
- ],
- // Options to be passed to Jasmine-node.
- jasmineNodeOpts: {
- showColors: true, // Use colors in the command line report.
- defaultTimeoutInterval: 1000000,
- random: false,
- stopSpecOnExpectationFailure: true,
- },
-
- params: {
- apiUrl: ' https://localhost:443/api/3.0',
- baseUrl: 'https://localhost:443/',
- login: {
- username: 'admin',
- password: 'twelve12'
- }
- },
-
- onPrepare: async function () {
- browser.waitForAngularEnabled(true);
+export let config: Config = conf;
+config.capabilities.chromeOptions.prefs.download.default_directory =
downloadsPath;
+config.onPrepare = async function () {
+ await browser.waitForAngularEnabled(true);
var fs = require('fs-extra');
@@ -103,6 +62,4 @@ export let config: Config = {
} catch (error) {
throw error
}
- },
-
-};
+}
diff --git a/traffic_portal/test/integration/package-lock.json
b/traffic_portal/test/integration/package-lock.json
index 1648c02..78359a2 100644
--- a/traffic_portal/test/integration/package-lock.json
+++ b/traffic_portal/test/integration/package-lock.json
@@ -11,12 +11,19 @@
"requires": {
"@types/minimatch": "*",
"@types/node": "*"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.14.35",
+ "resolved":
"https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz",
+ "integrity":
"sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag=="
+ }
}
},
"@types/jasmine": {
- "version": "3.4.6",
- "resolved":
"https://registry.npmjs.org/@types/jasmine/-/jasmine-3.4.6.tgz",
- "integrity":
"sha512-hpQHs+lmZ0uuCrGyqypdI1Ho7jRFolOBT6OkNdZPFziLSSEKvWu+VxWU6bGdNEA/hoV4jV8pdDeNx8EWlmfNAw==",
+ "version": "3.6.7",
+ "resolved":
"https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.7.tgz",
+ "integrity":
"sha512-8dtfiykrpe4Ysn6ONj0tOjmpDIh1vWxPk80eutSeWmyaJvAZXZ84219fS4gLrvz05eidhp7BP17WVQBaXHSyXQ==",
"dev": true
},
"@types/minimatch": {
@@ -25,9 +32,10 @@
"integrity":
"sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
},
"@types/node": {
- "version": "12.12.0",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.0.tgz",
- "integrity":
"sha512-6N8Sa5AaENRtJnpKXZgvc119PKxT1Lk9VPy4kfT8JF23tIe1qDfaGkBR2DRKJFIA7NptMz+fps//C6aLi1Uoug=="
+ "version": "12.20.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.6.tgz",
+ "integrity":
"sha512-sRVq8d+ApGslmkE9e3i+D3gFGk7aZHAT+G4cIpIEdLJYPsWiSPwcAnJEjddLQQDqV3Ra2jOclX/Sv6YrvGYiWA==",
+ "dev": true
},
"@types/q": {
"version": "0.0.32",
@@ -62,11 +70,11 @@
}
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity":
"sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity":
"sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
@@ -124,9 +132,9 @@
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity":
"sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity":
"sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
},
"axios": {
"version": "0.19.2",
@@ -195,12 +203,11 @@
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"cfb": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.3.tgz",
- "integrity":
"sha512-joXBW0nMuwV9no7UTMiyVJnQL6XIU3ThXVjFUDHgl9MpILPOomyfaGqC290VELZ48bbQKZXnQ81UT5HouTxHsw==",
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.2.0.tgz",
+ "integrity":
"sha512-sXMvHsKCICVR3Naq+J556K+ExBo9n50iKl6LGarlnvuA2035uMlGA/qVrc0wQtow5P1vJEw9UyrKLCbtIKz+TQ==",
"requires": {
"adler-32": "~1.2.0",
- "commander": "^2.16.0",
"crc-32": "~1.2.0",
"printj": "~1.1.2"
}
@@ -227,67 +234,6 @@
"mkdirp": "^0.5.1",
"request": "^2.88.0",
"tcp-port-used": "^1.0.1"
- },
- "dependencies": {
- "del": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
- "integrity":
"sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
- "requires": {
- "@types/glob": "^7.1.1",
- "globby": "^6.1.0",
- "is-path-cwd": "^2.0.0",
- "is-path-in-cwd": "^2.0.0",
- "p-map": "^2.0.0",
- "pify": "^4.0.1",
- "rimraf": "^2.6.3"
- }
- },
- "globby": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
- "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
- "requires": {
- "array-union": "^1.0.1",
- "glob": "^7.0.3",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
- }
- }
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved":
"https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity":
"sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="
- },
- "is-path-in-cwd": {
- "version": "2.1.0",
- "resolved":
"https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
- "integrity":
"sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
- "requires": {
- "is-path-inside": "^2.1.0"
- }
- },
- "is-path-inside": {
- "version": "2.1.0",
- "resolved":
"https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
- "integrity":
"sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
- "requires": {
- "path-is-inside": "^1.0.2"
- }
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity":
"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
- }
}
},
"circular-json": {
@@ -415,11 +361,11 @@
}
},
"debug": {
- "version": "3.2.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
- "integrity":
"sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity":
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"requires": {
- "ms": "^2.1.1"
+ "ms": "2.0.0"
}
},
"decamelize": {
@@ -433,17 +379,17 @@
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
"del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz",
+ "integrity":
"sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==",
"requires": {
- "globby": "^5.0.0",
- "is-path-cwd": "^1.0.0",
- "is-path-in-cwd": "^1.0.0",
- "object-assign": "^4.0.1",
- "pify": "^2.0.0",
- "pinkie-promise": "^2.0.0",
- "rimraf": "^2.2.8"
+ "@types/glob": "^7.1.1",
+ "globby": "^6.1.0",
+ "is-path-cwd": "^2.0.0",
+ "is-path-in-cwd": "^2.0.0",
+ "p-map": "^2.0.0",
+ "pify": "^4.0.1",
+ "rimraf": "^2.6.3"
}
},
"delayed-stream": {
@@ -541,19 +487,6 @@
"requires": {
"ms": "2.0.0"
}
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity":
"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
}
}
},
@@ -563,14 +496,14 @@
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved":
"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+ "version": "3.1.3",
+ "resolved":
"https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity":
"sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved":
"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+ "version": "2.1.0",
+ "resolved":
"https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity":
"sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fd-slicer": {
"version": "1.1.0",
@@ -599,21 +532,6 @@
"integrity":
"sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
"requires": {
"debug": "=3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity":
"sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- }
}
},
"forever-agent": {
@@ -701,16 +619,22 @@
}
},
"globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"requires": {
"array-union": "^1.0.1",
- "arrify": "^1.0.0",
"glob": "^7.0.3",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ }
}
},
"graceful-fs": {
@@ -724,11 +648,11 @@
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
- "version": "5.1.3",
- "resolved":
"https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity":
"sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "version": "5.1.5",
+ "resolved":
"https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity":
"sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": {
- "ajv": "^6.5.5",
+ "ajv": "^6.12.3",
"har-schema": "^2.0.0"
}
},
@@ -794,9 +718,9 @@
"integrity":
"sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
},
"ip-regex": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.2.0.tgz",
- "integrity":
"sha512-n5cDDeTWWRwK1EBoWwRti+8nP4NbytBBY0pldmnIkq6Z55KNFmWofh4rl9dPZpj+U/nVq7gweR3ylrvMt4YZ5A=="
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
+ "integrity":
"sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q=="
},
"is-fullwidth-code-point": {
"version": "2.0.0",
@@ -819,24 +743,24 @@
"integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
},
"is-path-cwd": {
- "version": "1.0.0",
- "resolved":
"https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
+ "version": "2.2.0",
+ "resolved":
"https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+ "integrity":
"sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ=="
},
"is-path-in-cwd": {
- "version": "1.0.1",
- "resolved":
"https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity":
"sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "version": "2.1.0",
+ "resolved":
"https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz",
+ "integrity":
"sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==",
"requires": {
- "is-path-inside": "^1.0.0"
+ "is-path-inside": "^2.1.0"
}
},
"is-path-inside": {
- "version": "1.0.1",
- "resolved":
"https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "version": "2.1.0",
+ "resolved":
"https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz",
+ "integrity":
"sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==",
"requires": {
- "path-is-inside": "^1.0.1"
+ "path-is-inside": "^1.0.2"
}
},
"is-stream": {
@@ -888,27 +812,36 @@
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jasmine": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.5.0.tgz",
- "integrity":
"sha512-DYypSryORqzsGoMazemIHUfMkXM7I7easFaxAvNM3Mr6Xz3Fy36TupTrAOxZWN8MVKEU5xECv22J4tUQf3uBzQ==",
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.7.0.tgz",
+ "integrity":
"sha512-wlzGQ+cIFzMEsI+wDqmOwvnjTvolLFwlcpYLCqSPPH0prOQaW3P+IzMhHYn934l1imNvw07oCyX+vGUv3wmtSQ==",
"dev": true,
"requires": {
- "glob": "^7.1.4",
- "jasmine-core": "~3.5.0"
+ "glob": "^7.1.6",
+ "jasmine-core": "~3.7.0"
},
"dependencies": {
- "jasmine-core": {
- "version": "3.5.0",
- "resolved":
"https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz",
- "integrity":
"sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==",
- "dev": true
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity":
"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
}
}
},
"jasmine-core": {
- "version": "2.8.0",
- "resolved":
"https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
- "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4="
+ "version": "3.7.1",
+ "resolved":
"https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz",
+ "integrity":
"sha512-DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ==",
+ "dev": true
},
"jasmine-data-provider": {
"version": "2.2.0",
@@ -917,12 +850,12 @@
"dev": true
},
"jasmine-reporters": {
- "version": "2.3.2",
- "resolved":
"https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-2.3.2.tgz",
- "integrity":
"sha512-u/7AT9SkuZsUfFBLLzbErohTGNsEUCKaQbsVYnLFW1gEuL2DzmBL4n8v90uZsqIqlWvWUgian8J6yOt5Fyk/+A==",
+ "version": "2.4.0",
+ "resolved":
"https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-2.4.0.tgz",
+ "integrity":
"sha512-jxONSrBLN1vz/8zCx5YNWQSS8iyDAlXQ5yk1LuqITe4C6iXCDx5u6Q0jfNtkKhL4qLZPe69fL+AWvXFt9/x38w==",
"requires": {
"mkdirp": "^0.5.1",
- "xmldom": "^0.1.22"
+ "xmldom": "^0.5.0"
}
},
"jasmine2-protractor-utils": {
@@ -994,9 +927,9 @@
}
},
"jszip": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz",
- "integrity":
"sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.6.0.tgz",
+ "integrity":
"sha512-jgnQoG9LKnWO3mnVNBnfhkh0QknICd1FGSrXcgrl67zioyJ4wgx25o9ZqwNtrROSflGBCGYnJfjrIyRIby1OoQ==",
"requires": {
"lie": "~3.3.0",
"pako": "~1.0.2",
@@ -1045,11 +978,6 @@
"path-exists": "^3.0.0"
}
},
- "lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity":
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
- },
"map-age-cleaner": {
"version": "0.1.3",
"resolved":
"https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
@@ -1074,16 +1002,16 @@
}
},
"mime-db": {
- "version": "1.40.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
- "integrity":
"sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA=="
+ "version": "1.46.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
+ "integrity":
"sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ=="
},
"mime-types": {
- "version": "2.1.24",
- "resolved":
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
- "integrity":
"sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "version": "2.1.29",
+ "resolved":
"https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
+ "integrity":
"sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
"requires": {
- "mime-db": "1.40.0"
+ "mime-db": "1.46.0"
}
},
"mimic-fn": {
@@ -1105,24 +1033,17 @@
"integrity":
"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity":
"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved":
"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
+ "minimist": "^1.2.5"
}
},
"ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity":
"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"nice-try": {
"version": "1.0.5",
@@ -1130,9 +1051,9 @@
"integrity":
"sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
"node": {
- "version": "12.13.0",
- "resolved": "https://registry.npmjs.org/node/-/node-12.13.0.tgz",
- "integrity":
"sha512-quDNTkbEEXCuDQNXX0B3faD17s1ggJ7MpdhqQKiOnvy0jooaDHSJ079pP+MfOzRkujcJgEHNIA0/G2imOGZImg==",
+ "version": "12.21.0",
+ "resolved": "https://registry.npmjs.org/node/-/node-12.21.0.tgz",
+ "integrity":
"sha512-yJvxtDNX/bQA2XQjRyoxiPK8mbWnMIDFLAeRnteWTUA+KKISMxWbeM5JioO4FzZSxBe7qEmoZXrWa8w5OfMauw==",
"requires": {
"node-bin-setup": "^1.0.0"
}
@@ -1238,9 +1159,9 @@
}
},
"pako": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
- "integrity":
"sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw=="
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity":
"sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
},
"path": {
"version": "0.12.7",
@@ -1282,9 +1203,9 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity":
"sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
},
"pinkie": {
"version": "2.0.4",
@@ -1336,6 +1257,54 @@
"yargs": "^12.0.5"
},
"dependencies": {
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "requires": {
+ "globby": "^5.0.0",
+ "is-path-cwd": "^1.0.0",
+ "is-path-in-cwd": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0",
+ "rimraf": "^2.2.8"
+ }
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "requires": {
+ "array-union": "^1.0.1",
+ "arrify": "^1.0.0",
+ "glob": "^7.0.3",
+ "object-assign": "^4.0.1",
+ "pify": "^2.0.0",
+ "pinkie-promise": "^2.0.0"
+ }
+ },
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved":
"https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0="
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved":
"https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity":
"sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "requires": {
+ "is-path-inside": "^1.0.0"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved":
"https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "requires": {
+ "path-is-inside": "^1.0.1"
+ }
+ },
"jasmine": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
@@ -1346,6 +1315,21 @@
"jasmine-core": "~2.8.0"
}
},
+ "jasmine-core": {
+ "version": "2.8.0",
+ "resolved":
"https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
+ "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4="
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ },
+ "q": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
+ },
"selenium-webdriver": {
"version": "3.6.0",
"resolved":
"https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
@@ -1435,13 +1419,18 @@
"jsonfile": "^2.1.0",
"klaw": "^1.0.0"
}
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity":
"sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
}
}
},
"psl": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
- "integrity":
"sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw=="
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity":
"sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
},
"pump": {
"version": "3.0.0",
@@ -1458,9 +1447,9 @@
"integrity":
"sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
},
"q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
"qs": {
"version": "6.5.2",
@@ -1497,9 +1486,9 @@
}
},
"readable-stream": {
- "version": "2.3.6",
- "resolved":
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity":
"sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "version": "2.3.7",
+ "resolved":
"https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity":
"sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
@@ -1516,9 +1505,9 @@
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
},
"request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity":
"sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity":
"sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -1527,7 +1516,7 @@
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
- "har-validator": "~5.1.0",
+ "har-validator": "~5.1.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
@@ -1537,7 +1526,7 @@
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
- "tough-cookie": "~2.4.3",
+ "tough-cookie": "~2.5.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
@@ -1584,33 +1573,32 @@
"integrity":
"sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"selenium-webdriver": {
- "version": "4.0.0-alpha.8",
- "resolved":
"https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.8.tgz",
- "integrity":
"sha512-yPSaiWySZTEbxuuWQMDqdXh3H3N4Aiw/bSUjpkKMPWWCysfPqUncrq6FewBqdxWD1wQKzy5yWaQMGsgTY/0rCQ==",
+ "version": "4.0.0-beta.2",
+ "resolved":
"https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-beta.2.tgz",
+ "integrity":
"sha512-uuNl3T1JjhrXCO4UAAy+iIIgZ/PqgYNiYvy+yfWCY+x2vHH9y7tIdD9a/q1rwbf/5jD/ENwYlVuNj46uIngknA==",
"requires": {
"jszip": "^3.5.0",
"rimraf": "^2.7.1",
- "tmp": "^0.1.0",
+ "tmp": "^0.2.1",
"ws": "^7.3.1"
},
"dependencies": {
- "jszip": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz",
- "integrity":
"sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==",
- "requires": {
- "lie": "~3.3.0",
- "pako": "~1.0.2",
- "readable-stream": "~2.3.6",
- "set-immediate-shim": "~1.0.1"
- }
- },
"tmp": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
- "integrity":
"sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity":
"sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
"requires": {
- "rimraf": "^2.6.3"
+ "rimraf": "^3.0.0"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved":
"https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity":
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
}
}
}
@@ -1662,9 +1650,9 @@
}
},
"ssf": {
- "version": "0.10.2",
- "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz",
- "integrity":
"sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==",
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz",
+ "integrity":
"sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==",
"requires": {
"frac": "~1.1.2"
}
@@ -1751,6 +1739,11 @@
"requires": {
"ms": "2.1.2"
}
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity":
"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
@@ -1774,19 +1767,12 @@
}
},
"tough-cookie": {
- "version": "2.4.3",
- "resolved":
"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity":
"sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "version": "2.5.0",
+ "resolved":
"https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity":
"sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
- "psl": "^1.1.24",
- "punycode": "^1.4.1"
- },
- "dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved":
"https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
- }
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
}
},
"tunnel-agent": {
@@ -1808,9 +1794,9 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
},
"typescript": {
- "version": "3.6.4",
- "resolved":
"https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz",
- "integrity":
"sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==",
+ "version": "3.9.9",
+ "resolved":
"https://registry.npmjs.org/typescript/-/typescript-3.9.9.tgz",
+ "integrity":
"sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w==",
"dev": true
},
"universalify": {
@@ -1819,9 +1805,9 @@
"integrity":
"sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
},
"uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity":
"sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity":
"sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"requires": {
"punycode": "^2.1.0"
}
@@ -1847,9 +1833,9 @@
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
},
"uuid": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
- "integrity":
"sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ=="
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity":
"sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"verror": {
"version": "1.10.0",
@@ -1896,6 +1882,11 @@
"resolved":
"https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
},
+ "wmf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
+ "integrity":
"sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
+ },
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
@@ -1931,22 +1922,23 @@
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
"ws": {
- "version": "7.4.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz",
- "integrity":
"sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA=="
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.4.tgz",
+ "integrity":
"sha512-Qm8k8ojNQIMx7S+Zp8u/uHOx7Qazv3Yv4q68MiWWWOJhiwG5W3x7iqmRtJo8xxrciZUY4vRxUTJCKuRnF28ZZw=="
},
"xlsx": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.1.tgz",
- "integrity":
"sha512-z+o4+QPMc32EPboLCzJAz94o0Zyy+8jrmWTsVpfzwknFln9qDO6/HN1KrGGVC4//sGA7dh4R3HA4fhbGIKCDOA==",
+ "version": "0.15.6",
+ "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz",
+ "integrity":
"sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==",
"requires": {
"adler-32": "~1.2.0",
- "cfb": "^1.1.3",
+ "cfb": "^1.1.4",
"codepage": "~1.14.0",
"commander": "~2.17.1",
"crc-32": "~1.2.0",
"exit-on-epipe": "~1.0.1",
- "ssf": "~0.10.2"
+ "ssf": "~0.10.3",
+ "wmf": "~1.0.1"
}
},
"xml2js": {
@@ -1979,9 +1971,9 @@
}
},
"xmldom": {
- "version": "0.1.31",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
- "integrity":
"sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz",
+ "integrity":
"sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA=="
},
"y18n": {
"version": "4.0.1",
diff --git a/traffic_portal/test/integration/package.json
b/traffic_portal/test/integration/package.json
index 2fec15e..8801125 100644
--- a/traffic_portal/test/integration/package.json
+++ b/traffic_portal/test/integration/package.json
@@ -27,12 +27,10 @@
"jasmine-data-provider": "^2.2.0",
"typescript": "^3.6.4"
},
- "scripts": {
- "test": "protractor config.ts"
- },
+ "scripts": {},
"repository": {
"type": "git",
- "url": "https://github.comcast.com/cdn/cdn-tests"
+ "url": "https://github.com/apache/trafficcontrol"
},
"author": "Lavanya, Dandy",
"license": "ISC"
diff --git a/traffic_portal/test/integration/tsconfig.json
b/traffic_portal/test/integration/tsconfig.json
index 9d46941..eac68a9 100644
--- a/traffic_portal/test/integration/tsconfig.json
+++ b/traffic_portal/test/integration/tsconfig.json
@@ -6,7 +6,8 @@
"inlineSourceMap": true,
"declaration": false,
"noImplicitAny": false,
- "outDir": "GeneratedCode"
+ "outDir": "GeneratedCode",
+ "resolveJsonModule": true
},
"exclude": [
"node_modules"