Skip to content

Commit ea34229

Browse files
Merge pull request #1698 from atlassian/confluence-use-hardcoded-cqls
Confluence use hardcoded cqls
2 parents 80dd9df + 8ae0acc commit ea34229

File tree

10 files changed

+222
-67
lines changed

10 files changed

+222
-67
lines changed

app/jmeter/confluence.jmx

Lines changed: 158 additions & 40 deletions
Large diffs are not rendered by default.

app/locustio/confluence/http_actions.py

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
logger = init_logger(app_type='confluence')
1313
confluence_dataset = confluence_datasets()
1414

15+
TWO_WORDS_CQL = 'confluence agreement'
16+
THREE_WORDS_CQL = 'shoulder trip discussion'
17+
1518

1619
@confluence_measure('locust_login_and_view_dashboard')
1720
def login_and_view_dashboard(locust):
@@ -402,9 +405,8 @@ def view_blog(locust):
402405
catch_response=True)
403406

404407

405-
def search_cql_and_view_results(locust):
408+
def search_cql_two_words_and_view_results(locust):
406409
raise_if_login_failed(locust)
407-
cql = random.choice(confluence_dataset["cqls"])[0]
408410

409411
@confluence_measure('locust_search_cql:recently_viewed')
410412
def search_recently_viewed():
@@ -413,11 +415,11 @@ def search_recently_viewed():
413415
'?limit=8',
414416
catch_response=True)
415417

416-
@confluence_measure('locust_search_cql:search_results')
418+
@confluence_measure('locust_search_cql:search_results_2_words')
417419
def search_cql():
418420
# 530 rest/api/search
419421
r = locust.get(f"/rest/api/search"
420-
f"?cql=siteSearch~'{cql}'"
422+
f"?cql=siteSearch~'{TWO_WORDS_CQL}'"
421423
f"&start=0"
422424
f"&limit=20",
423425
catch_response=True)
@@ -435,6 +437,31 @@ def search_cql():
435437
search_recently_viewed()
436438
search_cql()
437439

440+
def search_cql_three_words(locust):
441+
raise_if_login_failed(locust)
442+
443+
@confluence_measure('locust_search_cql:search_results_3_words')
444+
def search_cql():
445+
# 530 rest/api/search
446+
r = locust.get(f"/rest/api/search"
447+
f"?cql=siteSearch~'{THREE_WORDS_CQL}'"
448+
f"&start=0"
449+
f"&limit=20",
450+
catch_response=True)
451+
452+
if '{"results":[' not in r.content.decode('utf-8'):
453+
logger.locust_info(r.content.decode('utf-8'))
454+
content = r.content.decode('utf-8')
455+
if 'results' not in content:
456+
logger.error(f"Search cql failed: {content}")
457+
assert 'results' in content, "Search cql failed."
458+
459+
# 540 rest/mywork/latest/status/notification/count
460+
locust.get('/rest/mywork/latest/status/notification/count', catch_response=True)
461+
462+
search_cql()
463+
464+
438465

439466
def open_editor_and_create_blog(locust):
440467
params = CreateBlog()

app/locustio/confluence/locustfile.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ def view_blog_action(self):
3030

3131
@task(config.percentage('search_cql'))
3232
def search_cql_action(self):
33-
search_cql_and_view_results(self)
33+
search_cql_two_words_and_view_results(self)
34+
35+
@task(config.percentage('search_cql'))
36+
def search_cql_action(self):
37+
search_cql_three_words(self)
3438

3539
@task(config.percentage('create_blog'))
3640
def create_blog_action(self):

app/locustio/confluence/requests_params.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
# flake8: noqa
22
from locustio.common_utils import read_input_file, BaseResource
3-
from util.project_paths import (CONFLUENCE_PAGES, CONFLUENCE_BLOGS, CONFLUENCE_USERS, CONFLUENCE_STATIC_CONTENT,
4-
CONFLUENCE_CQLS)
3+
from util.project_paths import (CONFLUENCE_PAGES, CONFLUENCE_BLOGS, CONFLUENCE_USERS, CONFLUENCE_STATIC_CONTENT)
54

65

76
def confluence_datasets():
87
data_sets = dict()
98
data_sets["pages"] = read_input_file(CONFLUENCE_PAGES)
109
data_sets["blogs"] = read_input_file(CONFLUENCE_BLOGS)
1110
data_sets["users"] = read_input_file(CONFLUENCE_USERS)
12-
data_sets["cqls"] = read_input_file(CONFLUENCE_CQLS)
1311
data_sets['static-content'] = read_input_file(CONFLUENCE_STATIC_CONTENT)
1412

1513
return data_sets

app/selenium_ui/confluence/modules.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
CQLS = "cqls"
1414
CUSTOM_PAGES = "custom_pages"
1515
BLOGS = "blogs"
16-
16+
TWO_WORDS_CQL = 'confluence agreement'
17+
THREE_WORDS_CQL = 'shoulder trip discussion'
1718

1819
def setup_run_data(datasets):
1920
datasets['current_session'] = {}
@@ -301,16 +302,22 @@ def sub_measure():
301302

302303
measure()
303304

305+
def cql_search_three_words(webdriver):
306+
return cql_search(webdriver, cql_string=THREE_WORDS_CQL, print_timing_suffix='3_words')
307+
308+
309+
def cql_search_two_words(webdriver):
310+
return cql_search(webdriver, cql_string=TWO_WORDS_CQL, print_timing_suffix='2_words')
311+
304312

305-
def cql_search(webdriver, datasets):
306-
random_cql = random.choice(datasets[CQLS])
313+
def cql_search(webdriver, cql_string, print_timing_suffix):
307314
page = Page(webdriver)
308315
page.wait_until_visible(PageLocators.search_box)
309316
PopupManager(webdriver).dismiss_default_popup()
310317

311-
@print_timing("selenium_cql_search")
318+
@print_timing(f"selenium_cql_search_{print_timing_suffix}")
312319
def measure():
313-
page.get_element(PageLocators.search_box).send_keys(random_cql)
320+
page.get_element(PageLocators.search_box).send_keys(cql_string)
314321
page.wait_until_any_ec_presented((PageLocators.empty_search_results, PageLocators.search_results),
315322
timeout=30)
316323
page.get_element(PageLocators.close_search_button).click()

app/selenium_ui/confluence_ui.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ def test_1_selenium_view_page(confluence_webdriver, confluence_datasets, conflue
2222
def test_1_selenium_view_page_from_cache(confluence_webdriver, confluence_datasets, confluence_screen_shots):
2323
modules.view_page_from_cache(confluence_webdriver, confluence_datasets)
2424

25-
2625
def test_1_selenium_create_page(confluence_webdriver, confluence_datasets, confluence_screen_shots):
2726
modules.create_confluence_page(confluence_webdriver, confluence_datasets)
2827

@@ -31,6 +30,10 @@ def test_1_selenium_edit_by_url(confluence_webdriver, confluence_datasets, confl
3130
modules.edit_confluence_page_by_url(confluence_webdriver, confluence_datasets)
3231

3332

33+
def test_1_selenium_cql_search_two_words(confluence_webdriver, confluence_datasets, confluence_screen_shots):
34+
modules.cql_search_two_words(confluence_webdriver)
35+
36+
3437
def test_1_selenium_edit_page_quick_edit(confluence_webdriver, confluence_datasets, confluence_screen_shots):
3538
modules.edit_confluence_page_quick_edit(confluence_webdriver, confluence_datasets)
3639

@@ -39,8 +42,9 @@ def test_1_selenium_create_inline_comment(confluence_webdriver, confluence_datas
3942
modules.create_inline_comment(confluence_webdriver, confluence_datasets)
4043

4144

42-
def test_1_selenium_cql_search(confluence_webdriver, confluence_datasets, confluence_screen_shots):
43-
modules.cql_search(confluence_webdriver, confluence_datasets)
45+
def test_1_selenium_cql_search_three_words(confluence_webdriver, confluence_datasets, confluence_screen_shots):
46+
modules.cql_search_three_words(confluence_webdriver)
47+
4448

4549

4650
"""

app/selenium_ui/conftest.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
BITBUCKET_PROJECTS, BITBUCKET_REPOS, BITBUCKET_PRS, CONFLUENCE_BLOGS, CONFLUENCE_PAGES, CONFLUENCE_CUSTOM_PAGES, \
2525
CONFLUENCE_USERS, ENV_TAURUS_ARTIFACT_DIR, JSM_DATASET_REQUESTS, JSM_DATASET_CUSTOMERS, JSM_DATASET_AGENTS, \
2626
JSM_DATASET_SERVICE_DESKS_L, JSM_DATASET_SERVICE_DESKS_M, JSM_DATASET_SERVICE_DESKS_S, JSM_DATASET_CUSTOM_ISSUES, \
27-
JSM_DATASET_INSIGHT_SCHEMAS, JSM_DATASET_INSIGHT_ISSUES, BAMBOO_USERS, BAMBOO_BUILD_PLANS, CONFLUENCE_CQLS
27+
JSM_DATASET_INSIGHT_SCHEMAS, JSM_DATASET_INSIGHT_ISSUES, BAMBOO_USERS, BAMBOO_BUILD_PLANS
2828

2929
SCREEN_WIDTH = 1920
3030
SCREEN_HEIGHT = 1080
@@ -87,7 +87,6 @@ def confluence_dataset(self):
8787
self.dataset["pages"] = self.__read_input_file(CONFLUENCE_PAGES)
8888
self.dataset["blogs"] = self.__read_input_file(CONFLUENCE_BLOGS)
8989
self.dataset["users"] = self.__read_input_file(CONFLUENCE_USERS)
90-
self.dataset["cqls"] = self.__read_input_file(CONFLUENCE_CQLS)
9190
self.dataset["custom_pages"] = self.__read_input_file(
9291
CONFLUENCE_CUSTOM_PAGES)
9392
return self.dataset

app/util/data_preparation/confluence_prepare_data.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from util.api.confluence_clients import ConfluenceRpcClient, ConfluenceRestClient
99
from util.common_util import print_timing
1010
from util.conf import CONFLUENCE_SETTINGS
11-
from util.project_paths import (CONFLUENCE_USERS, CONFLUENCE_PAGES, CONFLUENCE_BLOGS, CONFLUENCE_CQLS,
11+
from util.project_paths import (CONFLUENCE_USERS, CONFLUENCE_PAGES, CONFLUENCE_BLOGS,
1212
CONFLUENCE_CUSTOM_PAGES, CONFLUENCE_WORDS)
1313

1414
__warnings_filter()
@@ -76,8 +76,6 @@ def __create_data_set(rest_client, rpc_client):
7676
dataset[PAGES] = async_pages.get()
7777
dataset[BLOGS] = async_blogs.get()
7878

79-
dataset[CQLS] = __generate_cqls(words_count=CQL_WORDS_COUNT)
80-
8179
dataset[CUSTOM_PAGES] = __get_custom_pages(perf_user_api, 5000, CONFLUENCE_SETTINGS.custom_dataset_query)
8280
print(f'Users count: {len(dataset[USERS])}')
8381
print(f'Pages count: {len(dataset[PAGES])}')
@@ -211,8 +209,6 @@ def write_test_data_to_files(dataset):
211209
users = [f"{user['user']['username']},{DEFAULT_USER_PASSWORD}" for user in dataset[USERS]]
212210
__write_to_file(CONFLUENCE_USERS, users)
213211

214-
__write_to_file(CONFLUENCE_CQLS, dataset[CQLS])
215-
216212
custom_pages = [f"{page['id']},{page['space']['key']}" for page in dataset[CUSTOM_PAGES]]
217213
__write_to_file(CONFLUENCE_CUSTOM_PAGES, custom_pages)
218214

app/util/default_test_actions.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,15 +87,17 @@
8787
"selenium_create_comment",
8888
"selenium_create_comment:write_comment",
8989
"selenium_create_comment:save_comment",
90-
"selenium_cql_search",
90+
"selenium_cql_search_two_words",
91+
"selenium_cql_search_three_words",
9192
"selenium_log_out"
9293
],
9394
"jmeter": [
9495
"jmeter_login_and_view_dashboard",
9596
"jmeter_view_page:open_page",
9697
"jmeter_view_blog",
9798
"jmeter_search_cql:recently_viewed",
98-
"jmeter_search_cql:search_results",
99+
"jmeter_search_cql:search_results_2_words",
100+
"jmeter_search_cql:search_results_3_words",
99101
"jmeter_view_dashboard",
100102
"jmeter_create_and_edit_page:create_page_editor",
101103
"jmeter_create_and_edit_page:create_page",
@@ -116,7 +118,8 @@
116118
"locust_view_dashboard",
117119
"locust_view_blog",
118120
"locust_search_cql:recently_viewed",
119-
"locust_search_cql:search_results",
121+
"locust_search_cql:search_results_3_words",
122+
"locust_search_cql:search_results_2_words",
120123
"locust_comment_page",
121124
"locust_create_and_edit_page:create_page_editor",
122125
"locust_create_and_edit_page:create_page",

app/util/project_paths.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ def __get_default_test_actions():
121121
CONFLUENCE_USERS = __get_confluence_dataset('users.csv')
122122
CONFLUENCE_PAGES = __get_confluence_dataset('pages.csv')
123123
CONFLUENCE_BLOGS = __get_confluence_dataset('blogs.csv')
124-
CONFLUENCE_CQLS = __get_confluence_dataset('cqls.csv')
125124
CONFLUENCE_STATIC_CONTENT = __get_confluence_dataset('static-content/files_upload.csv')
126125
CONFLUENCE_CUSTOM_PAGES = __get_confluence_dataset('custom_pages.csv')
127126
CONFLUENCE_WORDS = __get_confluence_dataset('static-content/words.csv')

0 commit comments

Comments
 (0)