@flaky
@scope_formulas
@bug_reported
Feature: 0131 - Use advanced features of Salt formulas
Description: * Related GitHub Card: https://github.com/SUSE/spacewalk/issues/30648
In order to use forms to apply changes to minions
As an authorized user
I want to be able to install and use Salt formulas
File name: min_salt_formulas_advanced.feature
Relative path: secondary/min_salt_formulas_advanced.feature
@flaky
@scope_formulas
@bug_reported
@bug_reported
Scenario: Install a test formula package on the server
When
I install "form.yml" to custom formula metadata directory "testform"
00:00:07.488
And
I install "metadata.yml" to custom formula metadata directory "testform"
00:00:06.112
When
I follow the left menu "Salt > Formula Catalog"
00:00:00.145
And
I enter "testform" as the filtered formula name
00:00:00.085
Text 'testform' not found (ScriptError) ./features/step_definitions/navigation_steps.rb:691:in `/^I should see a "([^"]*)" text$/' features/secondary/min_salt_formulas_advanced.feature:22:in `I should see a "testform" text'
@flaky
@scope_formulas
@bug_reported
Scenario: Assign test formula to minion via group formula
When
I follow the left menu "Systems > System Groups"
00:00:00.145
When
I follow "Create Group"
00:00:00.277
And
I enter "test-formula-group" as "name"
00:00:00.069
And
I enter "Test group with testform formula added" as "description"
00:00:00.080
And
I click on "Create Group"
00:00:01.174
Then
I should see a "System group test-formula-group created." text
00:00:00.067
When
I follow "Formulas" in the content area
00:00:00.074
Then
I should see a "Choose formulas:" text
00:00:00.059
And
I should see a "General System Configuration" text
00:00:00.493
And
I should see a "Testform" text
00:00:00.086
When
I check the "testform" formula
00:00:00.080
And
I click on "Save"
00:00:00.068
And
I wait until I see "Formula saved." text
00:00:00.506
And
I follow "Target Systems"
00:00:00.488
And
I check the "sle_minion" client
00:00:00.062
And
I click on "Add Systems"
00:00:01.191
Then
I should see a "1 systems were added to test-formula-group server group." text
00:00:00.102
When
I refresh the pillar data
00:00:04.127
Then
the pillar data for "testing:str" should be "" on "sle_minion"
00:00:03.481
And
the pillar data for "testing:str_def" should be "defvalue" on "sle_minion"
00:00:05.486
And
the pillar data for "testing:str_or_null" should be "None" on "sle_minion"
00:00:03.655
And
the pillar data for "testing" should not contain "str_opt" on "sle_minion"
00:00:03.522
And
the pillar data for "testing:num" should be "" on "sle_minion"
00:00:03.657
And
the pillar data for "testing:num_def" should be "0" on "sle_minion"
00:00:04.437
And
the pillar data for "testing:num_or_null" should be "None" on "sle_minion"
00:00:03.559
And
the pillar data for "testing" should not contain "num_opt" on "sle_minion"
00:00:03.536
And
the pillar data for "testing:pw" should be "" on "sle_minion"
00:00:03.458
And
the pillar data for "testing:pw_or_null" should be "None" on "sle_minion"
00:00:04.487
And
the pillar data for "testing" should not contain "pw_opt" on "sle_minion"
00:00:03.789
And
the pillar data for "testing:list_of_strings" should contain "def_item1" on "sle_minion"
00:00:03.520
And
the pillar data for "testing:list_of_strings" should contain "def_item2" on "sle_minion"
00:00:03.514
And
the pillar data for "testing:dict_of_strings:name1" should be "def_value1" on "sle_minion"
00:00:04.830
And
the pillar data for "testing:dict_of_strings:name2" should be "def_value2" on "sle_minion"
00:00:04.230
And
the pillar data for "testing:list_of_dicts:0:name" should be "def_user" on "sle_minion"
00:00:03.440
And
the pillar data for "testing:list_of_dicts:0:password" should be "secret1" on "sle_minion"
00:00:03.453
And
the pillar data for "testing:list_of_dicts:0" should not contain "full_name" on "sle_minion"
00:00:04.565
And
the pillar data for "testing:dict_of_dicts:def_user:name" should be "root" on "sle_minion"
00:00:03.551
And
the pillar data for "testing:dict_of_dicts:def_user:password" should be "secret2" on "sle_minion"
00:00:03.442
And
the pillar data for "testing:dict_of_dicts:def_user:full_name" should be "None" on "sle_minion"
00:00:03.541
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:group_name" should be "default group 1" on "sle_minion"
00:00:04.715
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:entries:def_entry1:entry_name" should be "default entry 1" on "sle_minion"
00:00:03.522
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:entries:def_entry1:entry_desc" should be "some text" on "sle_minion"
00:00:03.503
@flaky
@scope_formulas
@bug_reported
Scenario: Fill in and verify non-default values in group formula
When
I follow the left menu "Systems > System Groups"
00:00:00.067
When
I follow "test-formula-group" in the content area
00:00:00.068
And
I follow "Formulas" in the content area
00:00:00.068
And
I follow first "Testform" in the content area
00:00:00.207
And
I click on "Expand All Sections"
00:00:00.222
And
I enter "text1" as "testing#str"
00:00:00.113
And
I enter "text2" as "testing#str_def"
00:00:00.139
And
I enter "text3" as "testing#str_or_null"
00:00:00.087
And
I enter "text4" as "testing#str_opt"
00:00:00.101
And
I enter "1" as "testing#num"
00:00:00.065
And
I enter "2" as "testing#num_def"
00:00:00.091
And
I enter "3" as "testing#num_or_null"
00:00:00.067
And
I enter "4" as "testing#num_opt"
00:00:00.066
And
I enter "pw1" as "testing#pw"
00:00:00.095
And
I enter "pw2" as "testing#pw_or_null"
00:00:00.090
And
I enter "pw3" as "testing#pw_opt"
00:00:00.085
And
I click on "Save Formula"
00:00:00.102
Then
I should see a "Formula saved" text
00:00:00.731
When
I wait for "1" seconds
00:00:01.000
Then
the pillar data for "testing:str" should be "text1" on "sle_minion"
00:00:04.446
And
the pillar data for "testing:str_def" should be "text2" on "sle_minion"
00:00:03.573
And
the pillar data for "testing:str_or_null" should be "text3" on "sle_minion"
00:00:03.630
And
the pillar data for "testing:str_opt" should be "text4" on "sle_minion"
00:00:03.473
And
the pillar data for "testing:num" should be "1" on "sle_minion"
00:00:04.702
And
the pillar data for "testing:num_def" should be "2" on "sle_minion"
00:00:03.850
And
the pillar data for "testing:num_or_null" should be "3" on "sle_minion"
00:00:03.472
And
the pillar data for "testing:num_opt" should be "4" on "sle_minion"
00:00:03.438
And
the pillar data for "testing:pw" should be "pw1" on "sle_minion"
00:00:05.352
And
the pillar data for "testing:pw_or_null" should be "pw2" on "sle_minion"
00:00:03.638
And
the pillar data for "testing:pw_opt" should be "pw3" on "sle_minion"
00:00:03.521
@flaky
@scope_formulas
@bug_reported
Scenario: Clear values in group formula and verify the defaults again
When
I follow the left menu "Systems > System Groups"
00:00:00.091
When
I follow "test-formula-group" in the content area
00:00:00.093
And
I follow "Formulas" in the content area
00:00:00.085
And
I follow first "Testform" in the content area
00:00:00.251
And
I click on "Clear values" and confirm alert box
00:00:00.371
And
I click on "Save Formula"
00:00:00.090
Then
I should see a "Formula saved" text
00:00:00.585
When
I wait for "1" seconds
00:00:01.000
Then
the pillar data for "testing:str" should be "" on "sle_minion"
00:00:04.573
And
the pillar data for "testing:str_def" should be "defvalue" on "sle_minion"
00:00:03.551
And
the pillar data for "testing:str_or_null" should be "None" on "sle_minion"
00:00:03.495
And
the pillar data for "testing" should not contain "str_opt" on "sle_minion"
00:00:03.586
And
the pillar data for "testing:num" should be "" on "sle_minion"
00:00:04.853
And
the pillar data for "testing:num_def" should be "0" on "sle_minion"
00:00:03.553
And
the pillar data for "testing:num_or_null" should be "None" on "sle_minion"
00:00:03.573
And
the pillar data for "testing" should not contain "num_opt" on "sle_minion"
00:00:03.405
And
the pillar data for "testing:pw" should be "" on "sle_minion"
00:00:04.497
And
the pillar data for "testing:pw_or_null" should be "None" on "sle_minion"
00:00:03.612
And
the pillar data for "testing" should not contain "pw_opt" on "sle_minion"
00:00:03.490
And
the pillar data for "testing:list_of_strings" should contain "def_item1" on "sle_minion"
00:00:03.488
And
the pillar data for "testing:list_of_strings" should contain "def_item2" on "sle_minion"
00:00:05.504
And
the pillar data for "testing:dict_of_strings:name1" should be "def_value1" on "sle_minion"
00:00:03.557
And
the pillar data for "testing:dict_of_strings:name2" should be "def_value2" on "sle_minion"
00:00:03.491
And
the pillar data for "testing:list_of_dicts:0:name" should be "def_user" on "sle_minion"
00:00:03.470
And
the pillar data for "testing:list_of_dicts:0:password" should be "secret1" on "sle_minion"
00:00:04.619
And
the pillar data for "testing:list_of_dicts:0" should not contain "full_name" on "sle_minion"
00:00:03.547
And
the pillar data for "testing:dict_of_dicts:def_user:name" should be "root" on "sle_minion"
00:00:03.478
And
the pillar data for "testing:dict_of_dicts:def_user:password" should be "secret2" on "sle_minion"
00:00:03.525
And
the pillar data for "testing:dict_of_dicts:def_user:full_name" should be "None" on "sle_minion"
00:00:04.472
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:group_name" should be "default group 1" on "sle_minion"
00:00:03.562
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:entries:def_entry1:entry_name" should be "default entry 1" on "sle_minion"
00:00:03.497
And
the pillar data for "testing:recursive_dict_of_dicts:def_gr1:entries:def_entry1:entry_desc" should be "some text" on "sle_minion"
00:00:03.537
@flaky
@scope_formulas
@bug_reported
Scenario: Fill in and verify mix of default and non-default values in group formula
When
I follow the left menu "Systems > System Groups"
00:00:00.065
When
I follow "test-formula-group" in the content area
00:00:00.068
And
I follow "Formulas" in the content area
00:00:00.061
And
I follow first "Testform" in the content area
00:00:00.225
And
I click on "Expand All Sections"
00:00:00.215
And
I enter "text1" as "testing#str"
00:00:00.120
And
I enter "1" as "testing#num"
00:00:00.063
And
I enter "2" as "testing#num_def"
00:00:00.075
And
I enter "pw1" as "testing#pw"
00:00:00.104
And
I click on "Save Formula"
00:00:00.084
Then
I should see a "Formula saved" text
00:00:00.736
When
I wait for "1" seconds
00:00:01.000
Then
the pillar data for "testing:str" should be "text1" on "sle_minion"
00:00:03.505
And
the pillar data for "testing:str_def" should be "defvalue" on "sle_minion"
00:00:03.665
And
the pillar data for "testing:str_or_null" should be "None" on "sle_minion"
00:00:03.411
And
the pillar data for "testing" should not contain "str_opt" on "sle_minion"
00:00:04.577
And
the pillar data for "testing:num" should be "1" on "sle_minion"
00:00:03.680
And
the pillar data for "testing:num_def" should be "2" on "sle_minion"
00:00:03.441
And
the pillar data for "testing:num_or_null" should be "None" on "sle_minion"
00:00:03.470
And
the pillar data for "testing" should not contain "num_opt" on "sle_minion"
00:00:03.500
And
the pillar data for "testing:pw" should be "pw1" on "sle_minion"
00:00:05.286
And
the pillar data for "testing:pw_or_null" should be "None" on "sle_minion"
00:00:03.444
And
the pillar data for "testing" should not contain "pw_opt" on "sle_minion"
00:00:03.510
@flaky
@scope_formulas
@bug_reported
Scenario: Verify that minion form inherits the values from group form
Given
I am on the Systems overview page of this "sle_minion"
00:00:01.964
When
I follow "Formulas" in the content area
00:00:00.076
And
I follow first "Testform" in the content area
00:00:00.288
And
I click on "Save Formula"
00:00:00.261
Then
I should see a "Formula saved" text
00:00:00.663
And
the pillar data for "testing:str" should be "text1" on "sle_minion"
00:00:03.661
And
the pillar data for "testing:str_def" should be "defvalue" on "sle_minion"
00:00:03.458
And
the pillar data for "testing:str_or_null" should be "None" on "sle_minion"
00:00:03.487
And
the pillar data for "testing" should not contain "str_opt" on "sle_minion"
00:00:04.688
And
the pillar data for "testing:num" should be "1" on "sle_minion"
00:00:03.551
And
the pillar data for "testing:num_def" should be "2" on "sle_minion"
00:00:03.507
And
the pillar data for "testing:num_or_null" should be "None" on "sle_minion"
00:00:03.479
And
the pillar data for "testing" should not contain "num_opt" on "sle_minion"
00:00:04.500
And
the pillar data for "testing:pw" should be "pw1" on "sle_minion"
00:00:03.574
And
the pillar data for "testing:pw_or_null" should be "None" on "sle_minion"
00:00:03.603
And
the pillar data for "testing" should not contain "pw_opt" on "sle_minion"
00:00:03.485
@flaky
@scope_formulas
@bug_reported
Scenario: Fill in and verify non-default values in minion formula
When
I follow "Formulas" in the content area
00:00:00.073
And
I follow first "Testform" in the content area
00:00:00.189
And
I click on "Expand All Sections"
00:00:00.215
And
I enter "min_text1" as "testing#str"
00:00:00.198
And
I enter "min_text2" as "testing#str_def"
00:00:00.177
And
I enter "min_text3" as "testing#str_or_null"
00:00:00.118
And
I enter "min_text4" as "testing#str_opt"
00:00:00.114
And
I enter "101" as "testing#num"
00:00:00.082
And
I enter "102" as "testing#num_def"
00:00:00.097
And
I enter "103" as "testing#num_or_null"
00:00:00.074
And
I enter "104" as "testing#num_opt"
00:00:00.075
And
I enter "min_pw1" as "testing#pw"
00:00:00.130
And
I enter "min_pw2" as "testing#pw_or_null"
00:00:00.101
And
I enter "min_pw3" as "testing#pw_opt"
00:00:00.120
And
I click on "Save Formula"
00:00:00.097
Then
I should see a "Formula saved" text
00:00:00.932
When
I wait for "1" seconds
00:00:01.000
Then
the pillar data for "testing:str" should be "min_text1" on "sle_minion"
00:00:04.319
And
the pillar data for "testing:str_def" should be "min_text2" on "sle_minion"
00:00:03.509
And
the pillar data for "testing:str_or_null" should be "min_text3" on "sle_minion"
00:00:03.464
And
the pillar data for "testing:str_opt" should be "min_text4" on "sle_minion"
00:00:04.687
And
the pillar data for "testing:num" should be "101" on "sle_minion"
00:00:03.501
And
the pillar data for "testing:num_def" should be "102" on "sle_minion"
00:00:03.536
And
the pillar data for "testing:num_or_null" should be "103" on "sle_minion"
00:00:03.603
And
the pillar data for "testing:num_opt" should be "104" on "sle_minion"
00:00:04.849
And
the pillar data for "testing:pw" should be "min_pw1" on "sle_minion"
00:00:03.513
And
the pillar data for "testing:pw_or_null" should be "min_pw2" on "sle_minion"
00:00:03.463
And
the pillar data for "testing:pw_opt" should be "min_pw3" on "sle_minion"
00:00:03.681
@flaky
@scope_formulas
@bug_reported
Scenario: Clear values in minion formula and verify that the pillar is set to group values
When
I follow "Formulas" in the content area
00:00:00.090
And
I follow first "Testform" in the content area
00:00:00.231
And
I click on "Clear values" and confirm alert box
00:00:00.380
And
I click on "Save Formula"
00:00:00.070
Then
I should see a "Formula saved" text
00:00:00.611
When
I wait for "1" seconds
00:00:01.000
Then
the pillar data for "testing:str" should be "text1" on "sle_minion"
00:00:04.295
And
the pillar data for "testing:str_def" should be "defvalue" on "sle_minion"
00:00:03.577
And
the pillar data for "testing:str_or_null" should be "None" on "sle_minion"
00:00:03.466
And
the pillar data for "testing" should not contain "str_opt" on "sle_minion"
00:00:04.827
And
the pillar data for "testing:num" should be "1" on "sle_minion"
00:00:03.732
And
the pillar data for "testing:num_def" should be "2" on "sle_minion"
00:00:03.505
And
the pillar data for "testing:num_or_null" should be "None" on "sle_minion"
00:00:03.482
And
the pillar data for "testing" should not contain "num_opt" on "sle_minion"
00:00:03.538
And
the pillar data for "testing:pw" should be "pw1" on "sle_minion"
00:00:05.256
And
the pillar data for "testing:pw_or_null" should be "None" on "sle_minion"
00:00:03.493
And
the pillar data for "testing" should not contain "pw_opt" on "sle_minion"
00:00:03.533
@flaky
@scope_formulas
@bug_reported
Scenario: Cleanup: remove formula from minion
When
I follow "Formulas" in the content area
00:00:00.065
And
I uncheck the "testform" formula
00:00:00.264
And
I click on "Save"
00:00:00.085
And
I wait until I see "Formula saved." text
00:00:00.662
Then
the "testform" formula should be unchecked
00:00:10.028
@flaky
@scope_formulas
@bug_reported
Scenario: Cleanup: remove "test-formula-group" system group
When
I follow the left menu "Systems > System Groups"
00:00:00.084
And
I follow "test-formula-group" in the content area
00:00:00.080
And
I follow "Delete Group" in the content area
00:00:00.068
When
I click on "Confirm Deletion"
00:00:01.220
Then
I should see a "System group" text
00:00:00.061
Then
I should see a "test-formula-group" text
00:00:00.057
And
I should see a "deleted" text
00:00:00.057
And
I wait until there is no pillar refresh salt job active
00:00:05.723
Then
the pillar data for "testing" should be empty on "sle_minion"
00:00:03.525