GUI acceptance tests using environment deployed from packages.

Build: #2874 failed Child of ODSRV-OPRPM-2537

Stages & jobs

  1. Qnthack - copy quarantine

  2. Acceptance Test

  3. Qnthack - rerun

    Final

Test results

  • 882 tests in total
  • 24 tests failed
  • 24 failures are new
  • 1 test was fixed
  • 13 tests were quarantined / skipped
  • 1221 minutes taken in total.
New test failures 24
Status Test View job Duration
Collapse Failed test_atm_stores_basic test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_store_and_lambda_data_type_and_executing_uploaded_echo_workflow[1oz_1op_openfaas-List-Boolean-List-Boolean-booleans-booleans-[true, false, true, true]-[true, false, true, true]]
Atm stores basic 3 mins
AssertionError: Actual boolean list [] does not match expected [True, False, True, True]
request = <FixtureRequest for <Function 'test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_s...ow[1oz_1op_openfaas-List-Boolean-List-Boolean-booleans-booleans-[true, false, true, true]-[true, false, true, true]]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(30 more lines...)
Collapse Failed test_atm_stores_basic test_user_sees_file_attributes_in_result_store_after_modifying_lambda_and_executing_uploaded_echo_workflow[1oz_1op_openfaas]
Atm stores basic 4 mins
RuntimeError: there is no entry containing data about ['atime', 'size', 'originProviderId'] in workflow audit log
request = <FixtureRequest for <Function 'test_user_sees_file_attributes_in_result_store_after_modifying_lambda_and_executing_uploaded_echo_workflow[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(38 more lines...)
Collapse Failed test_atm_stores_basic test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_store_and_lambda_data_type_and_executing_uploaded_echo_workflow[1oz_1op_openfaas-Single Value-Array (Number)-Single Value-Array (Number)-numbers-array-[11, 22, 33]-[11, 22, 33]]
Atm stores basic 3 mins
RuntimeError: no  item found in Store details modal
web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="741e8486fee9edafb1f852da6ddba400", element="20d5647d-e102-4a39-9c33-403ff6e9858d")>
css_sel = '.array-visual-presenter'
err_msg = 'no  item found in Store details modal'

    def find_web_elem(web_elem_root, css_sel, err_msg):
        try:
            _scroll_to_css_sel(web_elem_root, css_sel)
(304 more lines...)
Collapse Failed test_atm_stores_basic test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_store_and_lambda_data_type_and_executing_uploaded_echo_workflow[1oz_1op_openfaas-List-Boolean-Single Value-Boolean-booleans-boolean-[true, true, true]-true]
Atm stores basic 3 mins
AttributeError: 'NoneType' object has no attribute 'text'
request = <FixtureRequest for <Function 'test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_s..._uploaded_echo_workflow[1oz_1op_openfaas-List-Boolean-Single Value-Boolean-booleans-boolean-[true, true, true]-true]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(26 more lines...)
Collapse Failed test_atm_stores_basic test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_store_and_lambda_data_type_and_executing_uploaded_echo_workflow[1oz_1op_openfaas-Single Value-String-Single Value-String-string-string-Sample string-Sample string]
Atm stores basic 3 mins
AttributeError: 'NoneType' object has no attribute 'text'
request = <FixtureRequest for <Function 'test_user_sees_output_store_type_of_output_type_in_result_store_after_modifying_input_s...ed_echo_workflow[1oz_1op_openfaas-Single Value-String-Single Value-String-string-string-Sample string-Sample string]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(30 more lines...)
Collapse Failed test_atm_workflows_execution test_user_checks_pods_activity_events_after_checksumcountingdifferentlambdas_workflow_execution[1oz_1op_openfaas]
Atm workflow execution 6 mins
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <a class="clickable view-task-pods-activity-action-trigger" data-ember-action="" data-ember-action-455="455">...</a> is not clickable at point (180, 446). Other element would receive the click: <div class="events-table-section fill-flex-using-column relative">...</div>   (Session info: chrome=104.0.5112.79)
request = <FixtureRequest for <Function 'test_user_checks_pods_activity_events_after_checksumcountingdifferentlambdas_workflow_execution[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(178 more lines...)
Collapse Failed test_atm_workflows_execution test_user_sees_finished_state_and_output_store_content_of_executed_inout_workflow_created_using_gui[1oz_1op_openfaas]
Atm workflow execution 6 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_sees_finished_state_and_output_store_content_of_executed_inout_workflow_created_using_gui[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_execution test_user_creates_checksumcountingoneclient_workflow_through_gui_and_executes_it[1oz_1op_openfaas]
Atm workflow execution 8 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_creates_checksumcountingoneclient_workflow_through_gui_and_executes_it[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_execution test_user_sees_desirable_pods_statuses_after_execution_of_uploaded_echo_workflow_finishes[1oz_1op_openfaas]
Atm workflow execution 8 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_sees_desirable_pods_statuses_after_execution_of_uploaded_echo_workflow_finishes[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_execution test_user_sees_that_different_checksums_are_well_counted_after_execution_of_uploaded_countingdifferentchecksums_workflow[1oz_1op_openfaas]
Atm workflow execution 6 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_sees_that_different_checksums_are_well_counted_after_execution_of_uploaded_countingdifferentchecksums_workflow[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_pausing_and_cancelling test_user_sees_status_status_in_lane2_after_stopping_execution_of_uploaded_workflowwithsleeptwolanes_workflow[1oz_1op_openfaas-Paused-Pause]
Atm workflows pausing and cancelling 5 mins
AssertionError: After awaiting for lane "Lane1" its status is not Finished as expected
request = <FixtureRequest for <Function 'test_user_sees_status_status_in_lane2_after_stopping_execution_of_uploaded_workflowwithsleeptwolanes_workflow[1oz_1op_openfaas-Paused-Pause]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(31 more lines...)
Collapse Failed test_atm_workflows_pausing_and_cancelling test_user_sees_that_tasks_are_cancelled_after_cancelling_workflow_while_task_was_pausing[1oz_1op_openfaas]
Atm workflows pausing and cancelling 3 mins
AssertionError: After awaiting for task "10s sleep" its status (Failed) is not Active as expected
request = <FixtureRequest for <Function 'test_user_sees_that_tasks_are_cancelled_after_cancelling_workflow_while_task_was_pausing[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(31 more lines...)
Collapse Failed test_atm_workflows_pausing_and_cancelling test_user_sees_status_status_in_lane2_after_stopping_execution_of_uploaded_workflowwithsleeptwolanes_workflow[1oz_1op_openfaas-Cancelled-Cancel]
Atm workflows pausing and cancelling 5 mins
AssertionError: After awaiting for lane "Lane1" its status is not Finished as expected
request = <FixtureRequest for <Function 'test_user_sees_status_status_in_lane2_after_stopping_execution_of_uploaded_workflowwithsleeptwolanes_workflow[1oz_1op_openfaas-Cancelled-Cancel]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(31 more lines...)
Collapse Failed test_atm_workflows_status test_user_sees_lane_run_indicators_and_statuses_after_rerunning_workflow[1oz_1op_openfaas]
Atm workflows status 5 mins
AssertionError: After awaiting for workflow "checksum-counting-different-lambdas" its status is not Finished as expected
request = <FixtureRequest for <Function 'test_user_sees_lane_run_indicators_and_statuses_after_rerunning_workflow[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(32 more lines...)
Collapse Failed test_atm_workflows_status test_user_sees_that_workflow_task_lane_statuses_are_finished_after_execution_of_uploaded_workflow1_workflow_finishes[1oz_1op_openfaas]
Atm workflows status 7 mins
AssertionError: After awaiting for workflow "echo" its status is not Finished as expected
request = <FixtureRequest for <Function 'test_user_sees_that_workflow_task_lane_statuses_are_finished_after_execution_of_uploaded_workflow1_workflow_finishes[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(31 more lines...)
Collapse Failed test_atm_workflows_status test_user_resume_workflow_execution_after_pausing_execution_of_uploaded_workflow_while_first_task_had_active_status[1oz_1op_openfaas]
Atm workflows status 1 min
RuntimeError: Css element wtih "Pause" text not found
request = <FixtureRequest for <Function 'test_user_resume_workflow_execution_after_pausing_execution_of_uploaded_workflow_while_first_task_had_active_status[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(34 more lines...)
Collapse Failed test_atm_workflows_status test_user_sees_that_lane_task_and_workflow_statuses_are_preparing_pending_and_active_in_turn_during_execution_of_uploaded_workflowwithsleeponelane_workflow[1oz_1op_openfaas]
Atm workflows status 3 mins
AssertionError: Actual "Task in ParallelBox in WorkflowLane in WorkflowVisualiser in WorkflowExecutionPage in Oneprovider page" status: "Failed" does not match expected: "Finished"
selenium = {'browser': <selenium.webdriver.chrome.webdriver.WebDriver (session="1b4a7df307ec94006c2bd8f7c273c8f4")>}
browser_id = 'browser'
op_container = <class 'tests.gui.utils.oneprovider.OPLoggedIn'>, lane = 'Lane1'
task = '20s sleep', ordinal = '1st', status1 = 'Pending', status2 = 'Finished'

    @wt(parsers.parse('user of {browser_id} sees that status of task "{task}" in '
                      '{ordinal} parallel box in "{lane}" lane is one of '
(120 more lines...)
Collapse Failed test_atm_workflows_stores test_user_runs_workflow_with_info_logging_level_and_cannot_see_any_entry_with_severity_debug_in_audit_log[1oz_1op_openfaas]
Atm workflows stores 2 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_runs_workflow_with_info_logging_level_and_cannot_see_any_entry_with_severity_debug_in_audit_log[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_stores test_user_sees_file_in_result_store_after_modifying_input_store_and_lambda_data_type_to_file_and_executing_uploaded_echo_workflow[1oz_1op_openfaas]
Atm workflows stores 3 mins
RuntimeError: no  item found in Store details modal
web_elem_root = <selenium.webdriver.remote.webelement.WebElement (session="72b948a5cee7d8543bd9c8c02daa81c3", element="2c55ef1e-fe83-4dfb-94ad-7bc606722ded")>
css_sel = '.content-container'
err_msg = 'no  item found in Store details modal'

    def find_web_elem(web_elem_root, css_sel, err_msg):
        try:
            _scroll_to_css_sel(web_elem_root, css_sel)
(298 more lines...)
Collapse Failed test_atm_workflows_stores test_user_runs_workflow_with_debug_logging_level_and_can_see_entry_with_severity_debug_in_audit_log[1oz_1op_openfaas]
Atm workflows stores 2 mins
AssertionError: Workflow status is not equal to Finished
request = <FixtureRequest for <Function 'test_user_runs_workflow_with_debug_logging_level_and_can_see_entry_with_severity_debug_in_audit_log[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_atm_workflows_stores test_user_sees_list_of_datasets_in_result_store_after_modifying_input_store_data_type_to_dataset_and_executing_uploaded_echo_workflow[1oz_1op_openfaas]
Atm workflows stores 3 mins
AssertionError: file1 is not in Store details modal for output store
request = <FixtureRequest for <Function 'test_user_sees_list_of_datasets_in_result_store_after_modifying_input_store_data_type_to_dataset_and_executing_uploaded_echo_workflow[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(29 more lines...)
Collapse Failed test_automation_examples_workflows_tests test_user_downloads_audit_log_of_executed_workflow_and_sees_that_log_entries_in_the_downloaded_file_correspond_to_those_visible_in_gui[1oz_1op_openfaas]
automation-examples workflows 2 mins
AssertionError: logs in file: {'timestamp': 1722118262387, 'severity': 'info', 'index': '1', 'content': {'referencedElements': {'tasks': ['46cdb76dd41c5196791f9ebe998d16dbchdd26']}, 'description': '[Lane: 1, Run: 1, PBox: 1, Task: 1] Started.'}} and visible {'index': '0', 'timestamp': 1722118257307, 'severity': 'notice', 'content': {'details': {'scheduledLaneRunSelector': {'laneIndex': 1, 'RunNumber': 1}}, 'description': 'Scheduled execution.'}}are different
request = <FixtureRequest for <Function 'test_user_downloads_audit_log_of_executed_workflow_and_sees_that_log_entries_in_the_downloaded_file_correspond_to_those_visible_in_gui[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(48 more lines...)
Collapse Failed test_automation_examples_workflows_tests test_user_sees_desirable_exception_in_task_auditlog_after_changing_exceptionprobability_in_echo_lambda[1oz_1op_openfaas]
automation-examples workflows 3 mins
AssertionError: description "Failed to process batch of items." in audit log for "echo" task is not "Lambda exception occurred during item processing." as expected
request = <FixtureRequest for <Function 'test_user_sees_desirable_exception_in_task_auditlog_after_changing_exceptionprobability_in_echo_lambda[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(27 more lines...)
Collapse Failed test_automation_examples_workflows_tests test_user_sees_desirable_active_workflow_status_before_10s_pass_in_task_auditlog_after_changing_sleepdurationsec_in_echo_lambda[1oz_1op_openfaas]
automation-examples workflows 2 mins
AssertionError: Actual "echo" status: "Failed" does not match expected: "Finished"
request = <FixtureRequest for <Function 'test_user_sees_desirable_active_workflow_status_before_10s_pass_in_task_auditlog_after_changing_sleepdurationsec_in_echo_lambda[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(24 more lines...)
Fixed tests 1
Status Test Failing since View job Duration
Successful test_oneprovider_data_tab_files test_user_sees_100_files_from_200_uploaded_at_the_beginning_without_refresh_after_100_of_them_were_deleted_in_another_window[1oz_1op_deployed]
Failing since build #2872 (Child of ODSRV-OZP-2026) Oneprovider data tab files 9 mins
Quarantined tests 13
Status Test Failing since Quarantined by View job Duration
Successful test_atm_stores_basic test_all_workflows_from_automationexamples_are_used_in_acceptance_tests[1oz_1op_openfaas]
Not quarantined Atm stores basic < 1 sec
Collapse Failed test_atm_workflows_status test_user_resume_workflow_execution_after_pausing_execution_of_created_workflow_while_lane_had_preparing_status[1oz_1op_openfaas]
Łukasz Opioła Łukasz Opioła
Atm workflows status 5 mins
AssertionError: After awaiting for workflow "workflow-with-sleep-one-lane" its status is not Paused as expected
request = <FixtureRequest for <Function 'test_user_resume_workflow_execution_after_pausing_execution_of_created_workflow_while_lane_had_preparing_status[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(32 more lines...)
Collapse Failed test_automation_bagit test_user_sees_successful_execution_of_uploaded_bagituploader_workflow_and_input_file_bagit_archive_unpacktar[1oz_1op_openfaas]
Failing since build #2870 (Child of ODSRV-OPRPM-2536) Wojciech Szmelich Wojciech Szmelich
Atm BagIt 20 mins
AssertionError: Processing speed is 4918.625 bytes per second and is lower than expected 13500 per second.
request = <FixtureRequest for <Function 'test_user_sees_successful_execution_of_uploaded_bagituploader_workflow_and_input_file_bagit_archive_unpacktar[1oz_1op_openfaas]'>>

    @pytest.mark.usefixtures(*function_args)
    def scenario_wrapper(request):
>       _execute_scenario(feature, scenario, request, encoding)

/usr/local/lib/python3.8/dist-packages/pytest_bdd/scenario.py:227: 
(37 more lines...)
Successful test_automation_examples_workflows_tests test_user_checks_time_series_charts_and_results_store_content_after_execution_of_uploaded_workflow_name_workflow[1oz_1op_openfaas-calculate-checksums-rest]
Katarzyna Such Katarzyna Such
automation-examples workflows 5 mins
Successful test_multiprovider_basic test_user_sees_file_is_not_visible_after_its_upload_has_been_canceled[1oz_2op_deployed]
Agnieszka Warchol Agnieszka Warchol
Multiprovider basic 3 mins
Successful test_oneprovider_archives_recall test_user_sees_that_recall_has_been_cancelled_after_cancelling_it[1oz_2op_slow_file_operations]
Katarzyna Such Katarzyna Such
Oneprovider archives recall 2 mins
Successful test_oneprovider_data_tab test_user_jumps_to_the_end_of_the_list_after_writing_zzz_to_jump_input[1oz_1op_deployed]
Łukasz Opioła Łukasz Opioła
Oneprovider data tab 24 secs
Successful test_oneprovider_data_tab test_user_successfully_jumps_to_a_previously_nonvisible_file_after_writing_its_name_prefix_to_jump_input[1oz_1op_deployed]
Łukasz Opioła Łukasz Opioła
Oneprovider data tab 27 secs
Successful test_oneprovider_transfers_files test_user_tries_to_migrate_file_to_too_small_space_on_remote_provider[1oz_2op_deployed]
Agnieszka Warchol Agnieszka Warchol
Transfers files 56 secs
Successful test_oneprovider_transfers_files test_user_tries_to_replicate_file_to_too_small_space_on_remote_provider[1oz_2op_deployed]
Agnieszka Warchol Agnieszka Warchol
Transfers files 51 secs
Successful test_onezone_automation test_each_lambda_dump_from_automationexamples_remains_the_same_after_uploading_and_downloading_it_from_automation_inventory[1oz_1op_deployed]
Not quarantined Onezone automations 7 mins
Successful test_onezone_harvesters_effective_privileges test_user_sees_that_group_effective_privileges_are_the_sum_of_its_direct_parent_direct_privileges_and_its_direct_privileges[1oz_1op_elasticsearch]
Wojciech Szmelich Wojciech Szmelich
Onezone harvesters effective privileges 5 mins
Successful test_onezone_harvesters_memberships_privileges test_user_successfully_renames_harvester_with_modify_harvester_privilege[1oz_1op_elasticsearch]
Wojciech Szmelich Wojciech Szmelich
Onezone harvesters memberships privileges 1 min