From ee600cb630941eccdee688a039529c6e3896ed22 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Sat, 18 Jun 2016 17:20:59 +0200 Subject: [PATCH] Moved to 6 browser slices and introduced wizard setups for certain slices to be faster. --- .gitlab-ci.yml | 84 +++++++++++++++++++ script/build/test_slice_tests.sh | 64 ++++++++++++-- .../aaa_auto_wizard_base_setup_test.rb | 17 ++++ test/integration/auto_wizard_test.rb | 6 +- 4 files changed, 163 insertions(+), 8 deletions(-) create mode 100644 test/integration/aaa_auto_wizard_base_setup_test.rb diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef7ea238c..2127ab6fd 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -486,6 +486,27 @@ test:browser:core:ff_5_mysql: - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 +test:browser:core:ff_6_mysql: + stage: browser + dependencies: + - browser:build + tags: + - browser + - mysql + script: + - export BROWSER=firefox + - export BROWSER_URL=http://$IP:$BROWSER_PORT + - export APP_RESTART_CMD="script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 && script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 0" + - unset MAILBOX_AUTO1 + - unset MAILBOX_AUTO2 + - unset MAILBOX_MANUAL1 + - unset MAILBOX_MANUAL2 + - script/build/test_slice_tests.sh 6 + - RAILS_ENV=test rake db:create + - script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 + - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 + - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 + test:browser:core:ff_1_postgresql: stage: browser dependencies: @@ -587,6 +608,27 @@ test:browser:core:ff_5_postgresql: - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 +test:browser:core:ff_6_postgresql: + stage: browser + dependencies: + - browser:build + tags: + - browser + - postgresql + script: + - export BROWSER=firefox + - export BROWSER_URL=http://$IP:$BROWSER_PORT + - export APP_RESTART_CMD="script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 && script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 0" + - unset MAILBOX_AUTO1 + - unset MAILBOX_AUTO2 + - unset MAILBOX_MANUAL1 + - unset MAILBOX_MANUAL2 + - script/build/test_slice_tests.sh 6 + - RAILS_ENV=test rake db:create + - script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 + - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 + - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 + test:browser:core:chrome_1_mysql: stage: browser dependencies: @@ -692,6 +734,27 @@ test:browser:core:chrome_5_mysql: - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 +test:browser:core:chrome_6_mysql: + stage: browser + dependencies: + - browser:build + tags: + - browser + - mysql + script: + - export BROWSER=chrome + - export BROWSER_URL=http://$IP:$BROWSER_PORT + - export APP_RESTART_CMD="script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 && script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 0" + - unset MAILBOX_AUTO1 + - unset MAILBOX_AUTO2 + - unset MAILBOX_MANUAL1 + - unset MAILBOX_MANUAL2 + - script/build/test_slice_tests.sh 6 + - RAILS_ENV=test rake db:create + - script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 + - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 + - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 + test:browser:core:chrome_1_postgresql: stage: browser dependencies: @@ -797,6 +860,27 @@ test:browser:core:chrome_5_postgresql: - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 +test:browser:core:chrome_6_postgresql: + stage: browser + dependencies: + - browser:build + tags: + - browser + - postgresql + script: + - export BROWSER=chrome + - export BROWSER_URL=http://$IP:$BROWSER_PORT + - export APP_RESTART_CMD="script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 && script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 0" + - unset MAILBOX_AUTO1 + - unset MAILBOX_AUTO2 + - unset MAILBOX_MANUAL1 + - unset MAILBOX_MANUAL2 + - script/build/test_slice_tests.sh 6 + - RAILS_ENV=test rake db:create + - script/build/test_startup.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 + - rake test:browser || script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 1 1 + - script/build/test_shutdown.sh $RAILS_ENV $BROWSER_PORT $WS_PORT 0 1 + test:browser:integration:twitter_chrome: stage: browser dependencies: diff --git a/script/build/test_slice_tests.sh b/script/build/test_slice_tests.sh index 048f155a6..2a28cc1c5 100755 --- a/script/build/test_slice_tests.sh +++ b/script/build/test_slice_tests.sh @@ -1,10 +1,15 @@ #!/bin/bash LEVEL=$1 +set -ex + if [ "$LEVEL" == '1' ]; then echo "slicing level 1" # no ticket action + rm test/browser/aaa_getting_started_test.rb + cp contrib/auto_wizard_test.json auto_wizard.json + cp test/integration/aaa_auto_wizard_base_setup_test.rb test/browser/aaa_auto_wizard_base_setup_test.rb # test/browser/aab_basic_urls_test.rb # test/browser/aab_unit_test.rb # test/browser/aac_basic_richtext_test.rb @@ -45,7 +50,8 @@ if [ "$LEVEL" == '1' ]; then elif [ "$LEVEL" == '2' ]; then echo "slicing level 2" - # only ticket action 1/3 + # only ticket action 2/3 + # test/browser/aaa_getting_started_test.rb rm test/browser/aab_basic_urls_test.rb rm test/browser/aab_unit_test.rb rm test/browser/aac_basic_richtext_test.rb @@ -89,6 +95,7 @@ elif [ "$LEVEL" == '3' ]; then echo "slicing level 3" # only ticket action 2/3 + # test/browser/aaa_getting_started_test.rb rm test/browser/aab_basic_urls_test.rb rm test/browser/aab_unit_test.rb rm test/browser/aac_basic_richtext_test.rb @@ -107,7 +114,7 @@ elif [ "$LEVEL" == '3' ]; then # test/browser/agent_ticket_actions_level6_test.rb # test/browser/agent_ticket_actions_level7_test.rb # test/browser/agent_ticket_actions_level8_test.rb - # test/browser/agent_ticket_actions_level9_test.rb + rm test/browser/agent_ticket_actions_level9_test.rb rm test/browser/agent_ticket_overview_level0_test.rb rm test/browser/agent_ticket_overview_level1_test.rb rm test/browser/agent_user_manage_test.rb @@ -132,6 +139,7 @@ elif [ "$LEVEL" == '4' ]; then echo "slicing level 4" # only ticket action 3/3 + # test/browser/aaa_getting_started_test.rb rm test/browser/aab_basic_urls_test.rb rm test/browser/aab_unit_test.rb rm test/browser/aac_basic_richtext_test.rb @@ -150,13 +158,13 @@ elif [ "$LEVEL" == '4' ]; then rm test/browser/agent_ticket_actions_level6_test.rb rm test/browser/agent_ticket_actions_level7_test.rb rm test/browser/agent_ticket_actions_level8_test.rb - rm test/browser/agent_ticket_actions_level9_test.rb + # test/browser/agent_ticket_actions_level9_test.rb # test/browser/agent_ticket_overview_level0_test.rb # test/browser/agent_ticket_overview_level1_test.rb rm test/browser/agent_user_manage_test.rb rm test/browser/agent_user_profile_test.rb rm test/browser/auth_test.rb - # test/browser/chat_test.rb + rm test/browser/chat_test.rb # test/browser/customer_ticket_create_test.rb rm test/browser/first_steps_test.rb rm test/browser/form_test.rb @@ -201,6 +209,52 @@ elif [ "$LEVEL" == '5' ]; then rm test/browser/auth_test.rb rm test/browser/chat_test.rb rm test/browser/customer_ticket_create_test.rb + rm test/browser/first_steps_test.rb + rm test/browser/form_test.rb + rm test/browser/keyboard_shortcuts_test.rb + rm test/browser/maintenance_*.rb + rm test/browser/manage_test.rb + rm test/browser/preferences_test.rb + rm test/browser/setting_test.rb + rm test/browser/signup_password_change_and_reset_test.rb + rm test/browser/switch_to_user_test.rb + rm test/browser/taskbar_session_test.rb + rm test/browser/taskbar_task_test.rb + rm test/browser/translation_test.rb + +elif [ "$LEVEL" == '6' ]; then + echo "slicing level 6" + + # only profile action & admin + rm test/browser/aaa_getting_started_test.rb + cp contrib/auto_wizard_test.json auto_wizard.json + cp test/integration/aaa_auto_wizard_base_setup_test.rb test/browser/aaa_auto_wizard_base_setup_test.rb + rm test/browser/aab_basic_urls_test.rb + rm test/browser/aab_unit_test.rb + rm test/browser/aac_basic_richtext_test.rb + rm test/browser/abb_one_group_test.rb + rm test/browser/admin_channel_email_test.rb + rm test/browser/admin_object_manager_test.rb + rm test/browser/admin_overview_test.rb + rm test/browser/agent_navigation_and_title_test.rb + rm test/browser/agent_organization_profile_test.rb + rm test/browser/agent_ticket_actions_level0_test.rb + rm test/browser/agent_ticket_actions_level1_test.rb + rm test/browser/agent_ticket_actions_level2_test.rb + rm test/browser/agent_ticket_actions_level3_test.rb + rm test/browser/agent_ticket_actions_level4_test.rb + rm test/browser/agent_ticket_actions_level5_test.rb + rm test/browser/agent_ticket_actions_level6_test.rb + rm test/browser/agent_ticket_actions_level7_test.rb + rm test/browser/agent_ticket_actions_level8_test.rb + rm test/browser/agent_ticket_actions_level9_test.rb + rm test/browser/agent_ticket_overview_level0_test.rb + rm test/browser/agent_ticket_overview_level1_test.rb + rm test/browser/agent_user_manage_test.rb + rm test/browser/agent_user_profile_test.rb + rm test/browser/auth_test.rb + # test/browser/chat_test.rb + rm test/browser/customer_ticket_create_test.rb # test/browser/first_steps_test.rb rm test/browser/form_test.rb # test/browser/keyboard_shortcuts_test.rb @@ -215,7 +269,7 @@ elif [ "$LEVEL" == '5' ]; then rm test/browser/translation_test.rb else - echo "ERROR: Invalid level $LEVEL - 1, 2, 3, 4 or 5 is available" + echo "ERROR: Invalid level $LEVEL - 1, 2, 3, 4, 5 or 6 is available" exit 1 fi diff --git a/test/integration/aaa_auto_wizard_base_setup_test.rb b/test/integration/aaa_auto_wizard_base_setup_test.rb new file mode 100644 index 000000000..913583238 --- /dev/null +++ b/test/integration/aaa_auto_wizard_base_setup_test.rb @@ -0,0 +1,17 @@ +# encoding: utf-8 +require 'browser_test_helper' + +class AaaAutoWizardBaseSetupTest < TestCase + + def test_auto_wizard + @browser = browser_instance + location(url: "#{browser_url}/#getting_started/auto_wizard") + watch_for( + css: '.user-menu .user a', + attribute: 'title', + value: 'master@example.com', + timeout: 14, + ) + end + +end diff --git a/test/integration/auto_wizard_test.rb b/test/integration/auto_wizard_test.rb index 9ccf5d9a2..4aa3e7b6e 100644 --- a/test/integration/auto_wizard_test.rb +++ b/test/integration/auto_wizard_test.rb @@ -4,7 +4,7 @@ require 'browser_test_helper' class AutoWizardTest < TestCase def test_auto_wizard @browser = browser_instance - location( url: browser_url ) + location(url: browser_url) watch_for( css: 'body', @@ -12,7 +12,7 @@ class AutoWizardTest < TestCase timeout: 10, ) - location( url: "#{browser_url}/#getting_started/auto_wizard" ) + location(url: "#{browser_url}/#getting_started/auto_wizard") watch_for( css: 'body', @@ -20,7 +20,7 @@ class AutoWizardTest < TestCase timeout: 10, ) - location( url: "#{browser_url}/#getting_started/auto_wizard/secret_token" ) + location(url: "#{browser_url}/#getting_started/auto_wizard/secret_token") watch_for( css: '.user-menu .user a',