admin_module 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rspec +3 -0
- data/Gemfile +14 -0
- data/Guardfile +24 -0
- data/LICENSE +22 -0
- data/README.md +281 -0
- data/Rakefile +98 -0
- data/admin_module.gemspec +34 -0
- data/bin/admin_module +13 -0
- data/lib/admin_module.rb +260 -0
- data/lib/admin_module/cli.rb +54 -0
- data/lib/admin_module/cli/cli_guideline.rb +80 -0
- data/lib/admin_module/cli/cli_lock.rb +149 -0
- data/lib/admin_module/cli/cli_parameter.rb +66 -0
- data/lib/admin_module/cli/cli_task.rb +149 -0
- data/lib/admin_module/cli_old.rb +92 -0
- data/lib/admin_module/client.rb +146 -0
- data/lib/admin_module/command.rb +25 -0
- data/lib/admin_module/command/client_access.rb +43 -0
- data/lib/admin_module/command/config.rb +310 -0
- data/lib/admin_module/command/dc.rb +110 -0
- data/lib/admin_module/command/gdl.rb +71 -0
- data/lib/admin_module/command/lock.rb +110 -0
- data/lib/admin_module/command/ppm.rb +142 -0
- data/lib/admin_module/command/rule.rb +77 -0
- data/lib/admin_module/command/ruleset.rb +56 -0
- data/lib/admin_module/command/snapshot.rb +110 -0
- data/lib/admin_module/command/stage.rb +131 -0
- data/lib/admin_module/command/task.rb +110 -0
- data/lib/admin_module/config_helper.rb +33 -0
- data/lib/admin_module/dc.rb +133 -0
- data/lib/admin_module/guideline.rb +86 -0
- data/lib/admin_module/locks.rb +142 -0
- data/lib/admin_module/page_factory.rb +55 -0
- data/lib/admin_module/pages.rb +120 -0
- data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
- data/lib/admin_module/pages/dc_detail_page.rb +187 -0
- data/lib/admin_module/pages/guideline_page.rb +35 -0
- data/lib/admin_module/pages/guideline_version_page.rb +140 -0
- data/lib/admin_module/pages/guidelines_page.rb +59 -0
- data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
- data/lib/admin_module/pages/lock_definition_page.rb +178 -0
- data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
- data/lib/admin_module/pages/login_page.rb +75 -0
- data/lib/admin_module/pages/parameter_page.rb +62 -0
- data/lib/admin_module/pages/parameters_page.rb +46 -0
- data/lib/admin_module/pages/ppms_page.rb +110 -0
- data/lib/admin_module/pages/rule_page.rb +68 -0
- data/lib/admin_module/pages/rules_page.rb +74 -0
- data/lib/admin_module/pages/ruleset_page.rb +64 -0
- data/lib/admin_module/pages/rulesets_page.rb +60 -0
- data/lib/admin_module/pages/select_list_syncable.rb +64 -0
- data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
- data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
- data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
- data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
- data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
- data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
- data/lib/admin_module/pages/workflow_details_page.rb +67 -0
- data/lib/admin_module/pages/workflow_task_page.rb +107 -0
- data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
- data/lib/admin_module/ppms.rb +78 -0
- data/lib/admin_module/rake.rb +22 -0
- data/lib/admin_module/rake/dc_tasks.rb +185 -0
- data/lib/admin_module/rake/deploy_task.rb +59 -0
- data/lib/admin_module/rake/gdl_tasks.rb +189 -0
- data/lib/admin_module/rake/lock_tasks.rb +189 -0
- data/lib/admin_module/rake/parameter_task.rb +86 -0
- data/lib/admin_module/rake/ppm_tasks.rb +248 -0
- data/lib/admin_module/rake/rule_tasks.rb +157 -0
- data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
- data/lib/admin_module/rake/stage_tasks.rb +197 -0
- data/lib/admin_module/rake/stages_task.rb +197 -0
- data/lib/admin_module/rake/task_tasks.rb +189 -0
- data/lib/admin_module/rules.rb +50 -0
- data/lib/admin_module/rulesets.rb +42 -0
- data/lib/admin_module/snapshots.rb +133 -0
- data/lib/admin_module/stages.rb +171 -0
- data/lib/admin_module/tasks.rb +147 -0
- data/lib/admin_module/version.rb +3 -0
- data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
- data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
- data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
- data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
- data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
- data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
- data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
- data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
- data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
- data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
- data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
- data/spec/data/build/test1.xml +0 -0
- data/spec/data/build/test2.xml +1 -0
- data/spec/data/import_dcs.yml +31 -0
- data/spec/data/import_locks.yml +4 -0
- data/spec/data/import_snapshots.yml +35 -0
- data/spec/data/import_stages.yml +4 -0
- data/spec/data/import_tasks.yml +25 -0
- data/spec/data/patch-test.xml +1 -0
- data/spec/data/remove_test_del_rule.xml +1 -0
- data/spec/data/stages.yml +518 -0
- data/spec/data/test_del_rule.xml +1 -0
- data/spec/lib/admin_module/admin_module_spec.rb +175 -0
- data/spec/lib/admin_module/cli_spec.rb +36 -0
- data/spec/lib/admin_module/client_spec.rb +158 -0
- data/spec/lib/admin_module/command/config_spec.rb +477 -0
- data/spec/lib/admin_module/command/dc_spec.rb +202 -0
- data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
- data/spec/lib/admin_module/command/lock_spec.rb +207 -0
- data/spec/lib/admin_module/command/rule_spec.rb +163 -0
- data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
- data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
- data/spec/lib/admin_module/command/stage_spec.rb +259 -0
- data/spec/lib/admin_module/command/task_spec.rb +207 -0
- data/spec/lib/admin_module/dc_spec.rb +192 -0
- data/spec/lib/admin_module/guideline_spec.rb +177 -0
- data/spec/lib/admin_module/locks_spec.rb +188 -0
- data/spec/lib/admin_module/rules_spec.rb +110 -0
- data/spec/lib/admin_module/rulesets_spec.rb +85 -0
- data/spec/lib/admin_module/snapshot_spec.rb +192 -0
- data/spec/lib/admin_module/stages_spec.rb +179 -0
- data/spec/lib/admin_module/tasks_spec.rb +196 -0
- data/spec/spec_helper.rb +54 -0
- data/spec/support/asserts.rb +13 -0
- data/spec/support/data_clearing.rb +28 -0
- data/spec/support/dirs.rb +54 -0
- data/spec/support/helpers.rb +83 -0
- data/spec/support/lock.rb +23 -0
- data/spec/support/mocks.rb +213 -0
- data/spec/support/snapshot.rb +28 -0
- data/spec/support/stage.rb +22 -0
- data/spec/support/stage_factory.rb +138 -0
- data/spec/support/task.rb +23 -0
- metadata +381 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe AdminModule::CLI do
|
|
4
|
+
|
|
5
|
+
after(:each) do
|
|
6
|
+
quit_cli
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
let(:test_stage) do
|
|
10
|
+
factory = StageFactory.new
|
|
11
|
+
factory.name('Test Stage')
|
|
12
|
+
.set_transitions([
|
|
13
|
+
'001 New File',
|
|
14
|
+
'022 Docs Verification',
|
|
15
|
+
'060 Reconsideration Exceptions/Overrides',
|
|
16
|
+
'096 Withdrawn',
|
|
17
|
+
'120 Second Review-Pending Docs' ])
|
|
18
|
+
|
|
19
|
+
factory.data
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
let(:test_stage_2) do
|
|
23
|
+
factory = StageFactory.new
|
|
24
|
+
factory.name('Test Stage Two')
|
|
25
|
+
.set_transitions([
|
|
26
|
+
'001 New File',
|
|
27
|
+
'005 Application and Eligibility' ]
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
factory.data
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
describe "#modify_stage" do
|
|
35
|
+
|
|
36
|
+
context "stage data missing name parameter" do
|
|
37
|
+
|
|
38
|
+
let(:missing_name) do
|
|
39
|
+
missing_name = test_stage
|
|
40
|
+
missing_name[:name] = nil
|
|
41
|
+
missing_name
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
it "will raise exception" do
|
|
46
|
+
expect { cli.modify_stage(missing_name) }.to raise_exception(ArgumentError)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
context "stage name specified" do
|
|
51
|
+
|
|
52
|
+
it "stage is modified" do
|
|
53
|
+
delete_stage_for_test test_stage
|
|
54
|
+
delete_stage_for_test test_stage_2
|
|
55
|
+
create_stage_for_test test_stage
|
|
56
|
+
|
|
57
|
+
stage_name = test_stage[:name]
|
|
58
|
+
tmp_test = test_stage_2
|
|
59
|
+
tmp_test[:name] = nil
|
|
60
|
+
|
|
61
|
+
cli.modify_stage(tmp_test, stage_name)
|
|
62
|
+
actual = cli.get_stage stage_name
|
|
63
|
+
|
|
64
|
+
# Name is left as is, transitions change.
|
|
65
|
+
expect(actual[:name]).to eq stage_name
|
|
66
|
+
expect(actual[:transition_to]).to eq tmp_test[:transition_to]
|
|
67
|
+
end
|
|
68
|
+
end # context
|
|
69
|
+
end # context
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
context "stage data has different name" do
|
|
73
|
+
|
|
74
|
+
it "stage is renamed" do
|
|
75
|
+
delete_stage_for_test test_stage
|
|
76
|
+
delete_stage_for_test test_stage_2
|
|
77
|
+
create_stage_for_test test_stage
|
|
78
|
+
|
|
79
|
+
cli.modify_stage test_stage_2, test_stage[:name]
|
|
80
|
+
actual = cli.get_stage test_stage_2[:name]
|
|
81
|
+
|
|
82
|
+
expect(actual[:name]).to eq test_stage_2[:name]
|
|
83
|
+
expect(actual[:transition_to]).to eq test_stage_2[:transition_to]
|
|
84
|
+
end
|
|
85
|
+
end # context "stage data has different name"
|
|
86
|
+
|
|
87
|
+
end # describe "#modify_stage"
|
|
88
|
+
end # describe AdminModule
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe AdminModule::CLI do
|
|
4
|
+
|
|
5
|
+
let(:cli) do
|
|
6
|
+
AdminModule.configure do |config|
|
|
7
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
8
|
+
end
|
|
9
|
+
AdminModule::CLI.new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
after(:each) do
|
|
13
|
+
cli.quit
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
let(:old_rule_name) { 'Z-TestDummy' }
|
|
17
|
+
let(:new_rule_name) { 'Z-NewTestDummy' }
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
describe "#rename_rule" do
|
|
21
|
+
|
|
22
|
+
context "invalid parameters" do
|
|
23
|
+
|
|
24
|
+
context "missing old rule name parameter" do
|
|
25
|
+
|
|
26
|
+
it "will raise exception" do
|
|
27
|
+
expect { cli.rename_rule(nil, new_rule_name) }.to raise_exception(ArgumentError)
|
|
28
|
+
expect { cli.rename_rule('', new_rule_name) }.to raise_exception(ArgumentError)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # context
|
|
32
|
+
|
|
33
|
+
context "missing new rule name parameter" do
|
|
34
|
+
|
|
35
|
+
it "will raise exception" do
|
|
36
|
+
expect { cli.rename_rule(old_rule_name, nil) }.to raise_exception(ArgumentError)
|
|
37
|
+
expect { cli.rename_rule(old_rule_name, '') }.to raise_exception(ArgumentError)
|
|
38
|
+
end
|
|
39
|
+
end # context
|
|
40
|
+
end # context
|
|
41
|
+
|
|
42
|
+
context "valid parameters" do
|
|
43
|
+
|
|
44
|
+
it "rule is renamed" do
|
|
45
|
+
cli.rename_rule(old_rule_name, new_rule_name)
|
|
46
|
+
expect(cli.get_rules().include?(new_rule_name)).to eq true
|
|
47
|
+
expect(cli.get_rules().include?(old_rule_name)).to eq false
|
|
48
|
+
|
|
49
|
+
cli.rename_rule(new_rule_name, old_rule_name)
|
|
50
|
+
end
|
|
51
|
+
end # context
|
|
52
|
+
end # describe "#rename_rule"
|
|
53
|
+
end # describe AdminModule
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe AdminModule::CLI do
|
|
4
|
+
|
|
5
|
+
let(:cli) do
|
|
6
|
+
AdminModule.configure do |config|
|
|
7
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
8
|
+
end
|
|
9
|
+
AdminModule::CLI.new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
after(:each) do
|
|
13
|
+
cli.quit
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
let(:old_ruleset_name) { 'Z-DummyRuleset' }
|
|
17
|
+
let(:new_ruleset_name) { 'Z-NewDummyRuleset' }
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
describe "#rename_ruleset" do
|
|
21
|
+
|
|
22
|
+
context "invalid parameters" do
|
|
23
|
+
|
|
24
|
+
context "missing old ruleset name parameter" do
|
|
25
|
+
|
|
26
|
+
it "will raise exception" do
|
|
27
|
+
expect { cli.rename_ruleset(nil, new_ruleset_name) }.to raise_exception(ArgumentError)
|
|
28
|
+
expect { cli.rename_ruleset('', new_ruleset_name) }.to raise_exception(ArgumentError)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end # context
|
|
32
|
+
|
|
33
|
+
context "missing new ruleset name parameter" do
|
|
34
|
+
|
|
35
|
+
it "will raise exception" do
|
|
36
|
+
expect { cli.rename_ruleset(old_ruleset_name, nil) }.to raise_exception(ArgumentError)
|
|
37
|
+
expect { cli.rename_ruleset(old_ruleset_name, '') }.to raise_exception(ArgumentError)
|
|
38
|
+
end
|
|
39
|
+
end # context
|
|
40
|
+
end # context
|
|
41
|
+
|
|
42
|
+
context "valid parameters" do
|
|
43
|
+
|
|
44
|
+
it "ruleset is renamed" do
|
|
45
|
+
cli.rename_ruleset(old_ruleset_name, new_ruleset_name)
|
|
46
|
+
expect(cli.get_rulesets().include?(new_ruleset_name)).to eq true
|
|
47
|
+
expect(cli.get_rulesets().include?(old_ruleset_name)).to eq false
|
|
48
|
+
|
|
49
|
+
cli.rename_ruleset(new_ruleset_name, old_ruleset_name)
|
|
50
|
+
end
|
|
51
|
+
end # context
|
|
52
|
+
end # describe "#rename_ruleset"
|
|
53
|
+
end # describe AdminModule
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe AdminModule::CLI do
|
|
4
|
+
|
|
5
|
+
let(:cli) do
|
|
6
|
+
AdminModule.configure do |config|
|
|
7
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
8
|
+
end
|
|
9
|
+
AdminModule::CLI.new
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
after(:each) do
|
|
13
|
+
cli.quit
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
describe "#get_parameters" do
|
|
17
|
+
let(:var_name) { 'Decision' }
|
|
18
|
+
|
|
19
|
+
it 'returns a list of variables in the environment' do
|
|
20
|
+
expect( cli.get_parameters.include?(var_name) ).to eq true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
describe "#update_parameter" do
|
|
25
|
+
|
|
26
|
+
let(:var_name) { 'ZExclusion Decision' }
|
|
27
|
+
let(:not_a_var) { 'Not a Var' }
|
|
28
|
+
|
|
29
|
+
it "updates a variables 'Save in XML' state" do
|
|
30
|
+
expect { cli.update_parameter(var_name, :include => true) }.not_to raise_exception
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
it "raises an exception when invalid parameter keys are passed" do
|
|
34
|
+
expect { cli.update_parameter(var_name, :invalid => true) }.to raise_exception
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it "raises an exception if variable doesn't exist" do
|
|
38
|
+
expect { cli.update_parameter(not_a_var, :include => true) }.to raise_exception
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end # describe AdminModule
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: deploy_task_spec.rb
|
|
3
|
+
# Purpose:: DeployTask definition specification
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 03/19/2014
|
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
|
7
|
+
# Website:: http://ktechsystems.com
|
|
8
|
+
##############################################################################
|
|
9
|
+
|
|
10
|
+
require 'spec_helper'
|
|
11
|
+
require 'admin_module/rake/deploy_task'
|
|
12
|
+
|
|
13
|
+
module AdminModule::Rake
|
|
14
|
+
|
|
15
|
+
describe DeployTask do
|
|
16
|
+
|
|
17
|
+
subject { DeployTask.new }
|
|
18
|
+
|
|
19
|
+
it "accepts environment" do
|
|
20
|
+
subject.env = :dev
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "accepts commit message" do
|
|
24
|
+
subject.commit_msg = 'commit message'
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it 'accepts a list of files' do
|
|
28
|
+
subject.files = ['file1.xml', 'file2.xml']
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
it 'returns list of files' do
|
|
32
|
+
expect(subject.files).to eq []
|
|
33
|
+
subject.files = ['file1.xml', 'file2.xml']
|
|
34
|
+
expect(subject.files).to eq ['file1.xml', 'file2.xml']
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
it 'accepts a single file' do
|
|
38
|
+
subject.files = 'file1.xml'
|
|
39
|
+
expect(subject.files).to eq ['file1.xml']
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'accepts a target guideline name or alias' do
|
|
43
|
+
subject.target = 'Z-TEMP'
|
|
44
|
+
expect(subject.target).to eq 'Z-TEMP'
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
context '#deploy' do
|
|
48
|
+
|
|
49
|
+
context 'with non-configured environment' do
|
|
50
|
+
|
|
51
|
+
it "throws exception" do
|
|
52
|
+
subject.env = :bad_env
|
|
53
|
+
expect { subject.deploy }.to raise_error("Unknown environment [bad_env]")
|
|
54
|
+
end
|
|
55
|
+
end # with non-configured env
|
|
56
|
+
|
|
57
|
+
context 'with configured environment' do
|
|
58
|
+
|
|
59
|
+
let(:configure_gem) do
|
|
60
|
+
AdminModule.configure do |config|
|
|
61
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
it "requires a target when file is not pre-configured or found in guideline list" do
|
|
66
|
+
configure_gem
|
|
67
|
+
subject.env = :dev
|
|
68
|
+
subject.files = data_dir('patch-test.xml')
|
|
69
|
+
|
|
70
|
+
expect { subject.deploy }.to raise_error
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
it "deploys to target if specified and only one file is provided" do
|
|
74
|
+
configure_gem
|
|
75
|
+
subject.env = :dev
|
|
76
|
+
subject.files = data_dir('patch-test.xml')
|
|
77
|
+
subject.target = 'Z-TEMP'
|
|
78
|
+
|
|
79
|
+
expect { subject.deploy }.to_not raise_error
|
|
80
|
+
end
|
|
81
|
+
end # with configured env
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end # module AdminModule::Task
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: parameter_task_spec.rb
|
|
3
|
+
# Purpose:: ParameterTask definition specification
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 03/19/2014
|
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
|
7
|
+
# Website:: http://ktechsystems.com
|
|
8
|
+
##############################################################################
|
|
9
|
+
|
|
10
|
+
require 'spec_helper'
|
|
11
|
+
require 'admin_module/rake/parameter_task'
|
|
12
|
+
|
|
13
|
+
module AdminModule::Rake
|
|
14
|
+
|
|
15
|
+
describe ParameterTask do
|
|
16
|
+
|
|
17
|
+
subject { ParameterTask.new }
|
|
18
|
+
|
|
19
|
+
let(:configure_gem) do
|
|
20
|
+
AdminModule.configure do |config|
|
|
21
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
it "accepts environment" do
|
|
27
|
+
subject.env = :dev
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "accepts name" do
|
|
31
|
+
subject.name = 'My Variable Name'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'accepts include' do
|
|
35
|
+
subject.include = true
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'rejects a non-true or non-false include' do
|
|
39
|
+
expect { subject.include = 'hello' }.to raise_error
|
|
40
|
+
expect { subject.include = nil }.to raise_error
|
|
41
|
+
expect { subject.include = true }.to_not raise_error
|
|
42
|
+
expect { subject.include = false }.to_not raise_error
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
context '#update' do
|
|
46
|
+
|
|
47
|
+
it "requires a variable name" do
|
|
48
|
+
configure_gem
|
|
49
|
+
subject.env = :dev
|
|
50
|
+
subject.include = true
|
|
51
|
+
subject.name = nil
|
|
52
|
+
|
|
53
|
+
expect { subject.update }.to raise_error
|
|
54
|
+
end
|
|
55
|
+
end # update
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
end # module AdminModule::Task
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: rules_task_spec.rb
|
|
3
|
+
# Purpose:: RulesTask definition specification
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-04-24
|
|
6
|
+
# Copyright:: Copyright (c) 2014, kTech Systems LLC. All rights reserved.
|
|
7
|
+
# Website:: http://ktechsystems.com
|
|
8
|
+
##############################################################################
|
|
9
|
+
|
|
10
|
+
require 'spec_helper'
|
|
11
|
+
require 'admin_module/rake/rules_task'
|
|
12
|
+
|
|
13
|
+
module AdminModule::Rake
|
|
14
|
+
|
|
15
|
+
describe RulesTask do
|
|
16
|
+
|
|
17
|
+
subject { RulesTask.new }
|
|
18
|
+
|
|
19
|
+
let(:configure_gem) do
|
|
20
|
+
AdminModule.configure do |config|
|
|
21
|
+
config.credentials = { :dev => ['admin', 'Password1*'] }
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
it "accepts environment" do
|
|
27
|
+
subject.env = :dev
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
it "accepts name" do
|
|
31
|
+
subject.name = 'My Rule Name'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
it 'accepts action' do
|
|
35
|
+
subject.action = 'delete'
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it 'accepts stop_on_exception' do
|
|
39
|
+
subject.stop_on_exception = true
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
it 'rejects a non-true or non-false stop_on_exception' do
|
|
43
|
+
expect { subject.stop_on_exception = 'hello' }.to raise_error
|
|
44
|
+
expect { subject.stop_on_exception = nil }.to raise_error
|
|
45
|
+
expect { subject.stop_on_exception = true }.to_not raise_error
|
|
46
|
+
expect { subject.stop_on_exception = false }.to_not raise_error
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context '#commit' do
|
|
50
|
+
|
|
51
|
+
it "requires a rule name" do
|
|
52
|
+
configure_gem
|
|
53
|
+
subject.env = :dev
|
|
54
|
+
subject.stop_on_exception = true
|
|
55
|
+
subject.name = nil
|
|
56
|
+
|
|
57
|
+
expect { subject.commit }.to raise_error
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
it "calls AdminModule:CLI#delete_rule" do
|
|
61
|
+
configure_gem
|
|
62
|
+
subject.env = :dev
|
|
63
|
+
subject.stop_on_exception = true
|
|
64
|
+
subject.name = 'Test Rule'
|
|
65
|
+
subject.action = 'delete'
|
|
66
|
+
|
|
67
|
+
# See https://github.com/rspec/rspec-mocks for documentation:
|
|
68
|
+
expect_any_instance_of(AdminModule::CLI).to receive(:delete_rule).with('Test Rule')
|
|
69
|
+
|
|
70
|
+
subject.commit
|
|
71
|
+
end
|
|
72
|
+
end # commit
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end # module AdminModule::Rake
|