diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-10-17 14:42:28 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-10-24 11:24:03 +0100 |
| commit | 9ed0df26fb56d7e784eb5a7ee03bb065eed1fef0 (patch) | |
| tree | c2d0aa3f6965c8b98b334caa7669fd5101d2172d | |
| parent | 86bcd2da051f682bf779cf1b1c5d31b1a689ef45 (diff) | |
| download | poky-9ed0df26fb56d7e784eb5a7ee03bb065eed1fef0.tar.gz | |
bitbake: toaster/tests/functional: Tweak the project creation function for better reuse
Tweak the function name and return the created project ID.
Allow the release_name test to be skipped with a value of None.
Add an extra wait call to ensure the create project button is ready
before clicking it.
(Bitbake rev: d20c6e3c67298c5db33b220a2e4a554e6f2c4418)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | bitbake/lib/toaster/tests/functional/functional_helpers.py | 18 | ||||
| -rw-r--r-- | bitbake/lib/toaster/tests/functional/test_create_new_project.py | 8 |
2 files changed, 17 insertions, 9 deletions
diff --git a/bitbake/lib/toaster/tests/functional/functional_helpers.py b/bitbake/lib/toaster/tests/functional/functional_helpers.py index d3e38b658b..cc508e98d9 100644 --- a/bitbake/lib/toaster/tests/functional/functional_helpers.py +++ b/bitbake/lib/toaster/tests/functional/functional_helpers.py | |||
| @@ -140,7 +140,7 @@ class SeleniumFunctionalTestCase(SeleniumTestCaseBase): | |||
| 140 | return False | 140 | return False |
| 141 | return element | 141 | return element |
| 142 | 142 | ||
| 143 | def _create_test_new_project( | 143 | def create_new_project( |
| 144 | self, | 144 | self, |
| 145 | project_name, | 145 | project_name, |
| 146 | release, | 146 | release, |
| @@ -183,6 +183,8 @@ class SeleniumFunctionalTestCase(SeleniumTestCaseBase): | |||
| 183 | if checkbox.is_selected(): | 183 | if checkbox.is_selected(): |
| 184 | checkbox.click() | 184 | checkbox.click() |
| 185 | 185 | ||
| 186 | self.wait_until_clickable('#create-project-button') | ||
| 187 | |||
| 186 | self.driver.find_element(By.ID, "create-project-button").click() | 188 | self.driver.find_element(By.ID, "create-project-button").click() |
| 187 | 189 | ||
| 188 | element = self.wait_until_visible('#project-created-notification', poll=3) | 190 | element = self.wait_until_visible('#project-created-notification', poll=3) |
| @@ -200,11 +202,17 @@ class SeleniumFunctionalTestCase(SeleniumTestCaseBase): | |||
| 200 | data = req.json() | 202 | data = req.json() |
| 201 | self.assertGreater(len(data['results']), 0, f"New project:{project_name} not found in database") | 203 | self.assertGreater(len(data['results']), 0, f"New project:{project_name} not found in database") |
| 202 | 204 | ||
| 205 | project_id = data['results'][0]['id'] | ||
| 206 | |||
| 207 | self.wait_until_visible('#project-release-title') | ||
| 208 | |||
| 203 | # check release | 209 | # check release |
| 204 | self.assertTrue(re.search( | 210 | if release_title is not None: |
| 205 | release_title, | 211 | self.assertTrue(re.search( |
| 206 | self.driver.find_element(By.XPATH, | 212 | release_title, |
| 213 | self.driver.find_element(By.XPATH, | ||
| 207 | "//span[@id='project-release-title']" | 214 | "//span[@id='project-release-title']" |
| 208 | ).text), | 215 | ).text), |
| 209 | 'The project release is not defined') | 216 | 'The project release is not defined') |
| 210 | 217 | ||
| 218 | return project_id | ||
diff --git a/bitbake/lib/toaster/tests/functional/test_create_new_project.py b/bitbake/lib/toaster/tests/functional/test_create_new_project.py index 168a396717..342e008f55 100644 --- a/bitbake/lib/toaster/tests/functional/test_create_new_project.py +++ b/bitbake/lib/toaster/tests/functional/test_create_new_project.py | |||
| @@ -24,7 +24,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): | |||
| 24 | release = '3' | 24 | release = '3' |
| 25 | release_title = 'Yocto Project master' | 25 | release_title = 'Yocto Project master' |
| 26 | project_name = 'projectmaster' | 26 | project_name = 'projectmaster' |
| 27 | self._create_test_new_project( | 27 | self.create_new_project( |
| 28 | project_name, | 28 | project_name, |
| 29 | release, | 29 | release, |
| 30 | release_title, | 30 | release_title, |
| @@ -40,7 +40,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): | |||
| 40 | release = '1' | 40 | release = '1' |
| 41 | release_title = 'Yocto Project 5.0 "Scarthgap"' | 41 | release_title = 'Yocto Project 5.0 "Scarthgap"' |
| 42 | project_name = 'projectscarthgap' | 42 | project_name = 'projectscarthgap' |
| 43 | self._create_test_new_project( | 43 | self.create_new_project( |
| 44 | project_name, | 44 | project_name, |
| 45 | release, | 45 | release, |
| 46 | release_title, | 46 | release_title, |
| @@ -56,7 +56,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): | |||
| 56 | release = '5' | 56 | release = '5' |
| 57 | release_title = 'Yocto Project 4.0 "Kirkstone"' | 57 | release_title = 'Yocto Project 4.0 "Kirkstone"' |
| 58 | project_name = 'projectkirkstone' | 58 | project_name = 'projectkirkstone' |
| 59 | self._create_test_new_project( | 59 | self.create_new_project( |
| 60 | project_name, | 60 | project_name, |
| 61 | release, | 61 | release, |
| 62 | release_title, | 62 | release_title, |
| @@ -72,7 +72,7 @@ class TestCreateNewProject(SeleniumFunctionalTestCase): | |||
| 72 | release = '2' | 72 | release = '2' |
| 73 | release_title = 'Local Yocto Project' | 73 | release_title = 'Local Yocto Project' |
| 74 | project_name = 'projectlocal' | 74 | project_name = 'projectlocal' |
| 75 | self._create_test_new_project( | 75 | self.create_new_project( |
| 76 | project_name, | 76 | project_name, |
| 77 | release, | 77 | release, |
| 78 | release_title, | 78 | release_title, |
