diff options
Diffstat (limited to 'import-layers/yocto-poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py')
-rw-r--r-- | import-layers/yocto-poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/import-layers/yocto-poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py b/import-layers/yocto-poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py deleted file mode 100644 index 071008499..000000000 --- a/import-layers/yocto-poky/bitbake/lib/toaster/tests/browser/test_project_config_page.py +++ /dev/null @@ -1,231 +0,0 @@ -#! /usr/bin/env python -# ex:ts=4:sw=4:sts=4:et -# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- -# -# BitBake Toaster Implementation -# -# Copyright (C) 2013-2016 Intel Corporation -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -import re - -from django.core.urlresolvers import reverse -from django.utils import timezone -from tests.browser.selenium_helpers import SeleniumTestCase - -from orm.models import BitbakeVersion, Release, Project, ProjectVariable - -class TestProjectConfigsPage(SeleniumTestCase): - """ Test data at /project/X/builds is displayed correctly """ - - PROJECT_NAME = 'test project' - INVALID_PATH_START_TEXT = 'The directory path should either start with a /' - INVALID_PATH_CHAR_TEXT = 'The directory path cannot include spaces or ' \ - 'any of these characters' - - def setUp(self): - bbv = BitbakeVersion.objects.create(name='bbv1', giturl='/tmp/', - branch='master', dirpath='') - release = Release.objects.create(name='release1', - bitbake_version=bbv) - self.project1 = Project.objects.create_project(name=self.PROJECT_NAME, - release=release) - self.project1.save() - - - def test_no_underscore_iamgefs_type(self): - """ - Should not accept IMAGEFS_TYPE with an underscore - """ - - imagefs_type = "foo_bar" - - ProjectVariable.objects.get_or_create(project = self.project1, name = "IMAGE_FSTYPES", value = "abcd ") - url = reverse('projectconf', args=(self.project1.id,)); - self.get(url); - - self.click('#change-image_fstypes-icon') - - self.enter_text('#new-imagefs_types', imagefs_type) - - element = self.wait_until_visible('#hintError-image-fs_type') - - self.assertTrue(("A valid image type cannot include underscores" in element.text), - "Did not find underscore error message") - - - def test_checkbox_verification(self): - """ - Should automatically check the checkbox if user enters value - text box, if value is there in the checkbox. - """ - imagefs_type = "btrfs" - - ProjectVariable.objects.get_or_create(project = self.project1, name = "IMAGE_FSTYPES", value = "abcd ") - url = reverse('projectconf', args=(self.project1.id,)); - self.get(url); - - self.click('#change-image_fstypes-icon') - - self.enter_text('#new-imagefs_types', imagefs_type) - - checkboxes = self.driver.find_elements_by_xpath("//input[@class='fs-checkbox-fstypes']") - - for checkbox in checkboxes: - if checkbox.get_attribute("value") == "btrfs": - self.assertEqual(checkbox.is_selected(), True) - - - def test_textbox_with_checkbox_verification(self): - """ - Should automatically add or remove value in textbox, if user checks - or unchecks checkboxes. - """ - - ProjectVariable.objects.get_or_create(project = self.project1, name = "IMAGE_FSTYPES", value = "abcd ") - url = reverse('projectconf', args=(self.project1.id,)); - self.get(url); - - self.click('#change-image_fstypes-icon') - - self.wait_until_visible('#new-imagefs_types') - - checkboxes_selector = '.fs-checkbox-fstypes' - - self.wait_until_visible(checkboxes_selector) - checkboxes = self.find_all(checkboxes_selector) - - for checkbox in checkboxes: - if checkbox.get_attribute("value") == "cpio": - checkbox.click() - element = self.driver.find_element_by_id('new-imagefs_types') - - self.wait_until_visible('#new-imagefs_types') - - self.assertTrue(("cpio" in element.get_attribute('value'), - "Imagefs not added into the textbox")) - checkbox.click() - self.assertTrue(("cpio" not in element.text), - "Image still present in the textbox") - - def test_set_download_dir(self): - """ - Validate the allowed and disallowed types in the directory field for - DL_DIR - """ - - ProjectVariable.objects.get_or_create(project=self.project1, - name='DL_DIR') - url = reverse('projectconf', args=(self.project1.id,)) - self.get(url) - - # activate the input to edit download dir - self.click('#change-dl_dir-icon') - self.wait_until_visible('#new-dl_dir') - - # downloads dir path doesn't start with / or ${...} - self.enter_text('#new-dl_dir', 'home/foo') - element = self.wait_until_visible('#hintError-initialChar-dl_dir') - - msg = 'downloads directory path starts with invalid character but ' \ - 'treated as valid' - self.assertTrue((self.INVALID_PATH_START_TEXT in element.text), msg) - - # downloads dir path has a space - self.driver.find_element_by_id('new-dl_dir').clear() - self.enter_text('#new-dl_dir', '/foo/bar a') - - element = self.wait_until_visible('#hintError-dl_dir') - msg = 'downloads directory path characters invalid but treated as valid' - self.assertTrue((self.INVALID_PATH_CHAR_TEXT in element.text), msg) - - # downloads dir path starts with ${...} but has a space - self.driver.find_element_by_id('new-dl_dir').clear() - self.enter_text('#new-dl_dir', '${TOPDIR}/down foo') - - element = self.wait_until_visible('#hintError-dl_dir') - msg = 'downloads directory path characters invalid but treated as valid' - self.assertTrue((self.INVALID_PATH_CHAR_TEXT in element.text), msg) - - # downloads dir path starts with / - self.driver.find_element_by_id('new-dl_dir').clear() - self.enter_text('#new-dl_dir', '/bar/foo') - - hidden_element = self.driver.find_element_by_id('hintError-dl_dir') - self.assertEqual(hidden_element.is_displayed(), False, - 'downloads directory path valid but treated as invalid') - - # downloads dir path starts with ${...} - self.driver.find_element_by_id('new-dl_dir').clear() - self.enter_text('#new-dl_dir', '${TOPDIR}/down') - - hidden_element = self.driver.find_element_by_id('hintError-dl_dir') - self.assertEqual(hidden_element.is_displayed(), False, - 'downloads directory path valid but treated as invalid') - - def test_set_sstate_dir(self): - """ - Validate the allowed and disallowed types in the directory field for - SSTATE_DIR - """ - - ProjectVariable.objects.get_or_create(project=self.project1, - name='SSTATE_DIR') - url = reverse('projectconf', args=(self.project1.id,)) - self.get(url) - - self.click('#change-sstate_dir-icon') - - self.wait_until_visible('#new-sstate_dir') - - # path doesn't start with / or ${...} - self.enter_text('#new-sstate_dir', 'home/foo') - element = self.wait_until_visible('#hintError-initialChar-sstate_dir') - - msg = 'sstate directory path starts with invalid character but ' \ - 'treated as valid' - self.assertTrue((self.INVALID_PATH_START_TEXT in element.text), msg) - - # path has a space - self.driver.find_element_by_id('new-sstate_dir').clear() - self.enter_text('#new-sstate_dir', '/foo/bar a') - - element = self.wait_until_visible('#hintError-sstate_dir') - msg = 'sstate directory path characters invalid but treated as valid' - self.assertTrue((self.INVALID_PATH_CHAR_TEXT in element.text), msg) - - # path starts with ${...} but has a space - self.driver.find_element_by_id('new-sstate_dir').clear() - self.enter_text('#new-sstate_dir', '${TOPDIR}/down foo') - - element = self.wait_until_visible('#hintError-sstate_dir') - msg = 'sstate directory path characters invalid but treated as valid' - self.assertTrue((self.INVALID_PATH_CHAR_TEXT in element.text), msg) - - # path starts with / - self.driver.find_element_by_id('new-sstate_dir').clear() - self.enter_text('#new-sstate_dir', '/bar/foo') - - hidden_element = self.driver.find_element_by_id('hintError-sstate_dir') - self.assertEqual(hidden_element.is_displayed(), False, - 'sstate directory path valid but treated as invalid') - - # paths starts with ${...} - self.driver.find_element_by_id('new-sstate_dir').clear() - self.enter_text('#new-sstate_dir', '${TOPDIR}/down') - - hidden_element = self.driver.find_element_by_id('hintError-sstate_dir') - self.assertEqual(hidden_element.is_displayed(), False, - 'sstate directory path valid but treated as invalid')
\ No newline at end of file |