Permalink
Browse files

use testcafe instead of selenium (#1091)

* fix delete identity

* move to testcafe

* add settings page util

* remodel context page

* alert page

* keys page

* move add tags test

* validations tests

* add key

* delete key

* dependent keys

* edit const key

* edit key

* allow concurrency

* key aliases

* keys list

* multi variant

* readonly key

* revision history

* routing

* partitions

* cleanup

* move to ui dir

* use oidc login

* fix dockerfile

* Update codefresh.yml

try using shm_size flag

* allow basic auth for local use

* improve tests

no need to recreate containers between tests

* use quarantine-mode for failed tests

* run all tests in parallel in CF

* improve tests setup

* upgrade tweek-client
  • Loading branch information...
nataly87s committed Feb 4, 2019
1 parent b03f6e6 commit dd3a0f9483320456a58acd6a0377662a7dc720d4
Showing with 3,832 additions and 4,627 deletions.
  1. +19 −44 CI/codefresh.yml
  2. +6 −14 CI/docker-compose.override.yml
  3. +0 −8 CI/docker-compose.yml
  4. +22 −42 deployments/dev/docker-compose.e2e.yml
  5. +0 −10 e2e/ui/.babelrc
  6. +6 −5 e2e/ui/.dockerignore
  7. +1 −0 e2e/ui/.gitignore
  8. +6 −12 e2e/ui/Dockerfile
  9. +0 −52 e2e/ui/clients/AuthenticatedClient.js
  10. +10 −0 e2e/ui/clients/api-client.js
  11. +87 −26 e2e/ui/clients/authoring-client.js
  12. +26 −0 e2e/ui/clients/identity-client.js
  13. +0 −27 e2e/ui/clients/tweek-api-client.js
  14. +13 −0 e2e/ui/clients/tweek-clients.js
  15. +9 −32 e2e/ui/package.json
  16. +23 −0 e2e/ui/pages/Alert.js
  17. +23 −0 e2e/ui/pages/Context/FixedKey.js
  18. +38 −0 e2e/ui/pages/Context/Identity.js
  19. +31 −0 e2e/ui/pages/Context/NewFixedKey.js
  20. +19 −0 e2e/ui/pages/Context/Property.js
  21. +25 −0 e2e/ui/pages/Context/index.js
  22. +9 −0 e2e/ui/pages/Keys/ConstValue.js
  23. +116 −0 e2e/ui/pages/Keys/EditKey.js
  24. +75 −0 e2e/ui/pages/Keys/JPad.js
  25. +24 −0 e2e/ui/pages/Keys/NewKey.js
  26. +26 −0 e2e/ui/pages/Keys/ObjectEditor.js
  27. +25 −0 e2e/ui/pages/Keys/Rules/Condition.js
  28. +19 −0 e2e/ui/pages/Keys/Rules/NewRule.js
  29. +107 −0 e2e/ui/pages/Keys/Rules/Rule.js
  30. +17 −0 e2e/ui/pages/Keys/TypedInput/ObjectInput.js
  31. +26 −0 e2e/ui/pages/Keys/TypedInput/TagInput.js
  32. +10 −0 e2e/ui/pages/Keys/TypedInput/index.js
  33. +80 −0 e2e/ui/pages/Keys/index.js
  34. +22 −0 e2e/ui/pages/Settings/Identity.js
  35. +35 −0 e2e/ui/pages/Settings/NewProperty.js
  36. +25 −0 e2e/ui/pages/Settings/Property.js
  37. +44 −0 e2e/ui/pages/Settings/index.js
  38. +54 −48 e2e/ui/spec/context/identity-properties.js
  39. +57 −52 e2e/ui/spec/context/override-keys.js
  40. +62 −42 e2e/ui/spec/keys/add-key.js
  41. +130 −102 e2e/ui/spec/keys/delete-key.js
  42. +55 −44 e2e/ui/spec/keys/dependent-keys.js
  43. +81 −0 e2e/ui/spec/keys/edit-const-key.js
  44. +152 −0 e2e/ui/spec/keys/edit-jpad-key.js
  45. +0 −175 e2e/ui/spec/keys/edit-key.js
  46. +79 −59 e2e/ui/spec/keys/key-aliases.js
  47. +23 −29 e2e/ui/spec/keys/keys-list.js
  48. +109 −105 e2e/ui/spec/keys/multi-variant.js
  49. +0 −207 e2e/ui/spec/keys/partitions.js
  50. +83 −0 e2e/ui/spec/keys/partitions/add-partition.js
  51. +24 −0 e2e/ui/spec/keys/partitions/delete-partition.js
  52. +34 −0 e2e/ui/spec/keys/partitions/invalid-partitions.js
  53. +78 −0 e2e/ui/spec/keys/partitions/partition-groups.js
  54. +12 −24 e2e/ui/spec/keys/readonly-key.js
  55. +37 −65 e2e/ui/spec/keys/revision-history.js
  56. +55 −35 e2e/ui/spec/keys/routing.js
  57. +15 −15 e2e/ui/spec/login/redirect-to-login-page.js
  58. +59 −111 e2e/ui/spec/settings/edit-identity.js
  59. +25 −45 e2e/ui/spec/tags/add-tags.js
  60. +62 −60 e2e/ui/spec/validations/key-name-validations.js
  61. +25 −28 e2e/ui/spec/validations/matcher-validations.js
  62. +0 −39 e2e/ui/test.sh
  63. +0 −31 e2e/ui/utils/Alert.js
  64. +0 −129 e2e/ui/utils/Identity.js
  65. +0 −13 e2e/ui/utils/Input.js
  66. +0 −190 e2e/ui/utils/Key.js
  67. +0 −56 e2e/ui/utils/KeysList.js
  68. +0 −142 e2e/ui/utils/Rule.js
  69. +14 −0 e2e/ui/utils/assertion-utils.js
  70. +38 −23 e2e/ui/utils/auth-utils.js
  71. +0 −54 e2e/ui/utils/browser-extension-commands.js
  72. +0 −36 e2e/ui/utils/client-utils.js
  73. +14 −0 e2e/ui/utils/constants.js
  74. +13 −0 e2e/ui/utils/location-utils.js
  75. +0 −2 e2e/ui/utils/selector-utils.js
  76. +0 −187 e2e/ui/wdio.conf.js
  77. +1,213 −2,012 e2e/ui/yarn.lock
  78. +3 −3 package.json
  79. +1 −1 services/editor/package.json
  80. +5 −5 services/editor/src/components/common/ComboBox/MultiSourceComboBox.js
  81. +6 −5 services/editor/src/components/common/Input/DateInput.js
  82. +27 −22 services/editor/src/components/common/Input/TypedInput.js
  83. +19 −10 services/editor/src/pages/settings/components/IdentityPage/IdentityPage.js
  84. +41 −0 services/editor/src/pages/settings/components/SettingsPage/AddIdentity.js
  85. +49 −0 services/editor/src/pages/settings/components/SettingsPage/IdentitiesMenu.js
  86. +14 −74 services/editor/src/pages/settings/components/SettingsPage/SettingsPage.js
  87. +6 −5 services/editor/src/services/auth-service.js
  88. +17 −8 services/editor/src/store/ducks/context.js
  89. +1 −1 services/editor/src/store/ducks/schema.js
  90. +4 −4 services/editor/yarn.lock
  91. +2 −2 ...ce/BareRepository/tests-source/manifests/behavior_tests/delete_key/{unarchive.json → delete.json}
  92. +0 −15 .../git-service/BareRepository/tests-source/manifests/behavior_tests/delete_key/delete/accepted.json
  93. +0 −10 ...ces/git-service/BareRepository/tests-source/manifests/behavior_tests/delete_key/delete/alias.json
  94. +0 −15 .../git-service/BareRepository/tests-source/manifests/behavior_tests/delete_key/delete/canceled.json
  95. +0 −15 ...-service/BareRepository/tests-source/manifests/behavior_tests/delete_key/delete/not_accepted.json
  96. +10 −0 ...ces/git-service/BareRepository/tests-source/manifests/behavior_tests/delete_key/delete_alias.json
@@ -71,8 +71,8 @@ steps:
dockerfile: TweekApiSmokeTest.Dockerfile


IntegrationTests:
title: Tests - integration & smoke
E2ETests:
title: End2End Tests - integration, smoke & ui
stage: test
type: composition
composition: ./CI/docker-compose.yml
@@ -107,6 +107,19 @@ steps:
- MINIO_ACCESS_KEY_INLINE=AKIAIOSFODNN7EXAMPLE
- MINIO_SECRET_KEY_INLINE=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
- MINIO_BUCKET=tweek

e2e-ui:
image: ${{BuildingUITests}}
shm_size: 2g
depends_on:
- editor
- gateway
- publishing
environment:
- GATEWAY_URL=http://gateway
- EDITOR_URL=http://gateway
- AUTH_DIGEST_CREDENTIALS=user:pwd
command: [ "-q", "-c", "4", "chromium --headless --window-size='1280,720' --no-sandbox", "/src/spec" ]
on_success:
metadata:
set:
@@ -118,6 +131,8 @@ steps:
- CF_QUALITY: true
- '${{BuildingGateway.imageId}}':
- CF_QUALITY: true
- '${{BuildingEditor.imageId}}':
- CF_QUALITY: true
on_fail:
metadata:
set:
@@ -129,49 +144,9 @@ steps:
- CF_QUALITY: false
- '${{BuildingGateway.imageId}}':
- CF_QUALITY: false

UiTests:
title: UI tests
stage: test
type: composition
composition: ./CI/docker-compose.yml
composition_variables:
- GATEWAY_IMAGE=${{BuildingGateway}}
- REPOSITORY_IMAGE=${{BuildingGitRepository}}
- PUBLISHING_IMAGE=${{BuildingPublishing}}
- API_IMAGE=${{BuildingApiImage}}
- AUTHORING_IMAGE=${{BuildingAuthoring}}
- EDITOR_IMAGE=${{BuildingEditor}}
- CF_VOLUME_PATH=${{CF_VOLUME_PATH}}
composition_candidates:
e2e-ui:
image: ${{BuildingUITests}}
depends_on:
- selenium
- editor
- gateway
- publishing
environment:
- GATEWAY_URL=http://gateway/
- TWEEK_API_URL=http://api/
- AUTHORING_URL=http://authoring
- GIT_PRIVATE_KEY_INLINE=LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKCmVuWG9ub1N4clUrRTZrS01QWnFXOElQVWg3R2gvSkhtMUZXczFlVHdhM1oxK1VFRmtpM1E5ZURGSVBUTzM1bmEKcVYwcFVyWTJ3S0xUV24zczd2ZGhjQVNPWHZ1anN5cXZvbENQa0VxckFVdUlRV2c1d0cwSkR1cHhuLzB0UklvcQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVCkhMdVNwRnBRdTJKNkZ5djhkVWFZVDFWdHFYOWh4TGlIbUdFUktoTCs1a1BHNGQxM0JvZDVUWFZkbzZ4eGZDUGEKaGhVbnpsZE1lc0EwYi9WYVE4QWlRaGtvQ2NRaWJPYXJVNzAzUlFJREFRQUJBb0lCQVFDWmpOWVh1N0toenVJQgpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRClRpaXZJcUY4VjJ0TTRpalZPV29vbHpyUTkvVy9iMjJXMEpIMXhHK0FUaFZTcG45OHluTkNWcXFpNmR0Vnd0b1EKODhvWFNQbVE2TVNsZ1JXM3ZhZjhSTnRoMlpLTkFIOTdZOHBqVk1YL3FMTDFuWjk1YnFvclJJTFJ6ektHSmpxRwplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XClRqeVZ0T2VWbGpPRmI4VmdIcE13d3UyTW9yN1ZQQVB3Z0RYdXFGTVd2RnpxVWJIY1VLclcwZ0JITGpYU1BtUzYKMEwxSTNjV0JBb0dCQVBPeHlxSmZ4cnpVQ1BuM3AzbVk2cjZnbHlYYi8rZWFYYTQ2N3NOWThNWnBWZGw1bVFKVgpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4CmxRbDdsTi9SMjRUYjN3VTE2M21FeW5oR1JXNUt3cWNVNW9FQm1uOS9ZazhoaWJraTZoSTY0QWhsQW9HQkFNNngKcVBabi9uaHY4dSttT2U3Y3pTVjVMc3dmTTNTU3NuZlhnUVJXN3J6a2hrZnJRWjJlWHpFQ21oVk8vdUpWb01iVApoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSCmpUa1FFNHJ1a1ZFSzNNMFVQOUlNVndzYURqMjgrY01RZk5ORmh0VmhBb0dBQ1Q5cStDUjRUendncHhPOTJFQjAKVUEyYURzYTlmRldBVHBkUDdqdld6MEM2RUVtc0E4bXFDVmR0cHYvcWkzd251dU9mbXVJWVU0cC9teHQzdnBKVwp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPCkNrRThVckJMMDhMckRncUVKWEwwZzMwQ2dZQm0welVtR0FnZExEd2tBb0xSbEtDdDRzSm9JNkY2ZmJ3eEtGRnoKc2pla1d0OStpY2VqdlBUSU1lNHJhWmdkU3RIbjk3TzhJU1hncWNsaWJ0Q1lYa253VHFzaG5nWlZXM25kRThVSgoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3CklhZDVJUUtCZ1FEWHBhU25seGcrbzMyV0FHd0dzQXhxNUNXK3JFcE84UENEbytSZWU2dmNGN25JZi95NHNSUHUKNDFpcFo2WHhZcHdnUkQ3em5aano5QWVWaEc4aUFBQUJORlUxSkZUaVhpZ1BEWi8wOFlFMHRnQ1ZiL0VPV2ZxVAptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- AUTH_DIGEST_CREDENTIALS=user:pwd
links:
- gateway:api
- gateway:authoring

on_success:
metadata:
set:
- '${{BuildingEditor.imageId}}':
- CF_QUALITY: true
on_fail:
metadata:
set:
- '${{BuildingEditor.imageId}}':
- CF_QUALITY: false

- CF_QUALITY: false

release:
type: parallel
name: release
@@ -49,11 +49,6 @@ services:
ports:
- "5099:80"

selenium:
image: selenium/standalone-chrome-debug:3.8.1
ports:
- "5900:5900"

smoke-tests:
build:
context: ../
@@ -68,20 +63,17 @@ services:

e2e-ui:
build: ../e2e/ui
depends_on:
- selenium
volumes:
- /dev/shm:/dev/shm
depends_on:
- editor
- gateway
- publishing
links:
- gateway:api
- gateway:authoring
environment:
- GATEWAY_URL=http://gateway/
- TWEEK_API_URL=http://api/
- AUTHORING_URL=http://authoring
- GIT_PRIVATE_KEY_INLINE=LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBeE1JdjB3QW9NTkhzc1J6OUhvanM2eUNla2w5RHI5RUt1WjUwZ3QveHk4Wk9DelFKCmVuWG9ub1N4clUrRTZrS01QWnFXOElQVWg3R2gvSkhtMUZXczFlVHdhM1oxK1VFRmtpM1E5ZURGSVBUTzM1bmEKcVYwcFVyWTJ3S0xUV24zczd2ZGhjQVNPWHZ1anN5cXZvbENQa0VxckFVdUlRV2c1d0cwSkR1cHhuLzB0UklvcQpPT0gxNmlmeFpZcjdEQzQvQkp2Z0g2anRrdTVuNVhNTDhBaXVnd3B3bFNTU0c4dnVldXZabW53VWRKZ3FPM0RVCkhMdVNwRnBRdTJKNkZ5djhkVWFZVDFWdHFYOWh4TGlIbUdFUktoTCs1a1BHNGQxM0JvZDVUWFZkbzZ4eGZDUGEKaGhVbnpsZE1lc0EwYi9WYVE4QWlRaGtvQ2NRaWJPYXJVNzAzUlFJREFRQUJBb0lCQVFDWmpOWVh1N0toenVJQgpvcGJpNG9iS1JDMmNHMTVPY2p3RmVlU0JVbFYzNnExelRzdnExdU9QK2d4VExaQ1Q1UlZlNmlyTFRvWm8wemFRClRpaXZJcUY4VjJ0TTRpalZPV29vbHpyUTkvVy9iMjJXMEpIMXhHK0FUaFZTcG45OHluTkNWcXFpNmR0Vnd0b1EKODhvWFNQbVE2TVNsZ1JXM3ZhZjhSTnRoMlpLTkFIOTdZOHBqVk1YL3FMTDFuWjk1YnFvclJJTFJ6ektHSmpxRwplN0VpeFQ0a0JaemxHWUF5a1dVeFFZZzBkdTlnQjc1U1o2MHNwZzVUQlh5a3RXdzVIWG1ZWlMvSHdCOVRKbG1XClRqeVZ0T2VWbGpPRmI4VmdIcE13d3UyTW9yN1ZQQVB3Z0RYdXFGTVd2RnpxVWJIY1VLclcwZ0JITGpYU1BtUzYKMEwxSTNjV0JBb0dCQVBPeHlxSmZ4cnpVQ1BuM3AzbVk2cjZnbHlYYi8rZWFYYTQ2N3NOWThNWnBWZGw1bVFKVgpuOEdRN3FYaklaa2pCU2E5YzZZQThxOFRLVHlJbEcvTDE1OFVSaFRqZldNSC9nandaem1oSmVkL0N6Lzg1Y2V4CmxRbDdsTi9SMjRUYjN3VTE2M21FeW5oR1JXNUt3cWNVNW9FQm1uOS9ZazhoaWJraTZoSTY0QWhsQW9HQkFNNngKcVBabi9uaHY4dSttT2U3Y3pTVjVMc3dmTTNTU3NuZlhnUVJXN3J6a2hrZnJRWjJlWHpFQ21oVk8vdUpWb01iVApoQS9tUXRYRzVuMk9QMndmSk1LVUNiVVZ2ZTJYNUQxU1VGYk03dWVHU3JlWExXdXJzaHdnN1p6VlpxVDYzUEJSCmpUa1FFNHJ1a1ZFSzNNMFVQOUlNVndzYURqMjgrY01RZk5ORmh0VmhBb0dBQ1Q5cStDUjRUendncHhPOTJFQjAKVUEyYURzYTlmRldBVHBkUDdqdld6MEM2RUVtc0E4bXFDVmR0cHYvcWkzd251dU9mbXVJWVU0cC9teHQzdnBKVwp1V08wa1NCYzVzQXI1THp5dmQ0ZXFSMUtHUUNJMjc0aWNMeXUxcHVKSUE2VDlRZXB5dSsrR3poWGRDc0VIZ0VPCkNrRThVckJMMDhMckRncUVKWEwwZzMwQ2dZQm0welVtR0FnZExEd2tBb0xSbEtDdDRzSm9JNkY2ZmJ3eEtGRnoKc2pla1d0OStpY2VqdlBUSU1lNHJhWmdkU3RIbjk3TzhJU1hncWNsaWJ0Q1lYa253VHFzaG5nWlZXM25kRThVSgoyWHVFVEdlQk84RUp6bW1WMnIrNmhPTkNjZFpWNjR3ZzlpRnl2VW9ua2dyVUx4MnN4aHpMVmhQOW5MUjMyUXp3CklhZDVJUUtCZ1FEWHBhU25seGcrbzMyV0FHd0dzQXhxNUNXK3JFcE84UENEbytSZWU2dmNGN25JZi95NHNSUHUKNDFpcFo2WHhZcHdnUkQ3em5aano5QWVWaEc4aUFBQUJORlUxSkZUaVhpZ1BEWi8wOFlFMHRnQ1ZiL0VPV2ZxVAptS0NBTUgrSjJZWUlwb3NLL3dyQmRXQ1RiUHYvYUI3RkVraFFLeGVJTXYxd0trd2tSaU5BQ0E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- GATEWAY_URL=http://gateway
- EDITOR_URL=http://gateway
- AUTH_DIGEST_CREDENTIALS=user:pwd
command: [ "-q", "-c", "4", "chromium --headless --window-size='1280,720' --no-sandbox", "/src/spec" ]

e2e-integration:
build: ../e2e/integration
@@ -118,11 +118,3 @@ services:

nats:
image: nats:1.0.4-linux

selenium:
image: selenium/standalone-chrome:3.8.1
logging:
driver: "none"
links:
- gateway:api
- gateway:authoring
@@ -2,24 +2,24 @@ version: '3.4'

services:
publishing:
build:
args:
build:
args:
target: Release

environment:
environment:
- GIT_UPSTREAM_URI=ssh://git@git/tweek/tests

editor:
environment:
environment:
- CONTINUOUS_UPDATER_INTERVAL=500

authoring:
environment:
environment:
- CONTINUOUS_UPDATER_INTERVAL=500

api:
build:
args:
build:
args:
target: Release
depends_on:
- publishing
@@ -31,53 +31,33 @@ services:
- CorsPolicies__Keys__ExposedHeaders=
- CorsEnabled=true
- Context__Validation__ErrorPolicy=throw

gateway:
environment:
- CONFIGOR_ENV=test
- CONFIGOR_ENV=test

oidc-server-mock:
container_name: oidc-server-mock
image: soluto/oidc-server-mock
container_name: oidc-server-mock
image: soluto/oidc-server-mock
ports:
- "8081:80"
environment:
environment:
- REDIRECT_URIS=http://gateway/auth-result/oidc


selenium:
image: selenium/standalone-chrome-debug:3.8.1
container_name: selenium
ports:
- "5900:5900"
volumes:
- /dev/shm:/dev/shm
links:
- gateway:api
- gateway:authoring

e2e-ui:
build: ../../e2e/ui
container_name: e2e-ui
links:
- selenium
- gateway:api
- gateway:authoring
depends_on:
- selenium
- api
- authoring
- publishing
- editor
shm_size: 2g
volumes:
- ../../e2e/ui:/src
depends_on:
- gateway
- editor
environment:
- GATEWAY_URL=http://gateway/
- TWEEK_API_URL=http://api/
- AUTHORING_URL=http://authoring
- GIT_PRIVATE_KEY_PATH=/run/secrets/tweek_ssh_private_key
- GATEWAY_URL=http://gateway
- EDITOR_URL=http://gateway
- AUTH_DIGEST_CREDENTIALS=user:pwd
secrets:
- tweek_ssh_private_key
command: ["-q", "-S", "-s", "/src/screenshots", "-c", "4", "chromium --headless --window-size='1280,720' --no-sandbox", "/src/spec" ]

e2e-integration:
build: ../../e2e/integration
@@ -102,11 +82,11 @@ services:
context: ../../
dockerfile: TweekApiSmokeTest.Dockerfile
container_name: smoke-tests
depends_on:
depends_on:
- api
- publishing
- gateway
environment:
environment:
- TWEEK_API_URL=http://api/
links:
- gateway:api

This file was deleted.

Oops, something went wrong.
@@ -1,6 +1,7 @@
node_modules/
.git/
coverage-unit/
.build/
.typings/
Dockerfile
node_modules
screenshots

.gitignore
.dockerignore
Dockerfile
@@ -0,0 +1 @@
screenshots
@@ -1,15 +1,9 @@
FROM node:8.9.3
FROM testcafe/testcafe

RUN apt-get update && \
apt-get install -y --no-install-recommends jq && \
apt-get clean && \
wget https://raw.githubusercontent.com/vishnubob/wait-for-it/8ed92e8cab83cfed76ff012ed4a36cef74b28096/wait-for-it.sh && \
chmod +x wait-for-it.sh
USER root

WORKDIR /opt/app
COPY package.json yarn.lock ./
RUN yarn install --production
COPY package.json yarn.lock /src/
RUN cd /src && npm i --production
COPY . /src

COPY . ./

CMD ["./test.sh"]
USER user

This file was deleted.

Oops, something went wrong.
@@ -0,0 +1,10 @@
import { expect } from 'chai';
import { waitFor } from '../utils/assertion-utils';
import { tweekClient } from './tweek-clients';

export const waitForValueToEqual = async (keyPath, expected) => {
await waitFor(async () => {
const result = await tweekClient.getValues(keyPath);
expect(result).to.deep.equal(expected);
});
};
Oops, something went wrong.

0 comments on commit dd3a0f9

Please sign in to comment.