summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2024-10-17 14:42:28 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-10-24 11:24:03 +0100
commit9ed0df26fb56d7e784eb5a7ee03bb065eed1fef0 (patch)
treec2d0aa3f6965c8b98b334caa7669fd5101d2172d
parent86bcd2da051f682bf779cf1b1c5d31b1a689ef45 (diff)
downloadpoky-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.py18
-rw-r--r--bitbake/lib/toaster/tests/functional/test_create_new_project.py8
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,