admin_module 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +14 -0
  5. data/Guardfile +24 -0
  6. data/LICENSE +22 -0
  7. data/README.md +281 -0
  8. data/Rakefile +98 -0
  9. data/admin_module.gemspec +34 -0
  10. data/bin/admin_module +13 -0
  11. data/lib/admin_module.rb +260 -0
  12. data/lib/admin_module/cli.rb +54 -0
  13. data/lib/admin_module/cli/cli_guideline.rb +80 -0
  14. data/lib/admin_module/cli/cli_lock.rb +149 -0
  15. data/lib/admin_module/cli/cli_parameter.rb +66 -0
  16. data/lib/admin_module/cli/cli_task.rb +149 -0
  17. data/lib/admin_module/cli_old.rb +92 -0
  18. data/lib/admin_module/client.rb +146 -0
  19. data/lib/admin_module/command.rb +25 -0
  20. data/lib/admin_module/command/client_access.rb +43 -0
  21. data/lib/admin_module/command/config.rb +310 -0
  22. data/lib/admin_module/command/dc.rb +110 -0
  23. data/lib/admin_module/command/gdl.rb +71 -0
  24. data/lib/admin_module/command/lock.rb +110 -0
  25. data/lib/admin_module/command/ppm.rb +142 -0
  26. data/lib/admin_module/command/rule.rb +77 -0
  27. data/lib/admin_module/command/ruleset.rb +56 -0
  28. data/lib/admin_module/command/snapshot.rb +110 -0
  29. data/lib/admin_module/command/stage.rb +131 -0
  30. data/lib/admin_module/command/task.rb +110 -0
  31. data/lib/admin_module/config_helper.rb +33 -0
  32. data/lib/admin_module/dc.rb +133 -0
  33. data/lib/admin_module/guideline.rb +86 -0
  34. data/lib/admin_module/locks.rb +142 -0
  35. data/lib/admin_module/page_factory.rb +55 -0
  36. data/lib/admin_module/pages.rb +120 -0
  37. data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
  38. data/lib/admin_module/pages/dc_detail_page.rb +187 -0
  39. data/lib/admin_module/pages/guideline_page.rb +35 -0
  40. data/lib/admin_module/pages/guideline_version_page.rb +140 -0
  41. data/lib/admin_module/pages/guidelines_page.rb +59 -0
  42. data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
  43. data/lib/admin_module/pages/lock_definition_page.rb +178 -0
  44. data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
  45. data/lib/admin_module/pages/login_page.rb +75 -0
  46. data/lib/admin_module/pages/parameter_page.rb +62 -0
  47. data/lib/admin_module/pages/parameters_page.rb +46 -0
  48. data/lib/admin_module/pages/ppms_page.rb +110 -0
  49. data/lib/admin_module/pages/rule_page.rb +68 -0
  50. data/lib/admin_module/pages/rules_page.rb +74 -0
  51. data/lib/admin_module/pages/ruleset_page.rb +64 -0
  52. data/lib/admin_module/pages/rulesets_page.rb +60 -0
  53. data/lib/admin_module/pages/select_list_syncable.rb +64 -0
  54. data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
  55. data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
  56. data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
  57. data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
  58. data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
  59. data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
  60. data/lib/admin_module/pages/workflow_details_page.rb +67 -0
  61. data/lib/admin_module/pages/workflow_task_page.rb +107 -0
  62. data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
  63. data/lib/admin_module/ppms.rb +78 -0
  64. data/lib/admin_module/rake.rb +22 -0
  65. data/lib/admin_module/rake/dc_tasks.rb +185 -0
  66. data/lib/admin_module/rake/deploy_task.rb +59 -0
  67. data/lib/admin_module/rake/gdl_tasks.rb +189 -0
  68. data/lib/admin_module/rake/lock_tasks.rb +189 -0
  69. data/lib/admin_module/rake/parameter_task.rb +86 -0
  70. data/lib/admin_module/rake/ppm_tasks.rb +248 -0
  71. data/lib/admin_module/rake/rule_tasks.rb +157 -0
  72. data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
  73. data/lib/admin_module/rake/stage_tasks.rb +197 -0
  74. data/lib/admin_module/rake/stages_task.rb +197 -0
  75. data/lib/admin_module/rake/task_tasks.rb +189 -0
  76. data/lib/admin_module/rules.rb +50 -0
  77. data/lib/admin_module/rulesets.rb +42 -0
  78. data/lib/admin_module/snapshots.rb +133 -0
  79. data/lib/admin_module/stages.rb +171 -0
  80. data/lib/admin_module/tasks.rb +147 -0
  81. data/lib/admin_module/version.rb +3 -0
  82. data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
  83. data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
  84. data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
  85. data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
  86. data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
  87. data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
  88. data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
  89. data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
  90. data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
  91. data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
  92. data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
  93. data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
  94. data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
  95. data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
  96. data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
  97. data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
  98. data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
  99. data/spec/data/build/test1.xml +0 -0
  100. data/spec/data/build/test2.xml +1 -0
  101. data/spec/data/import_dcs.yml +31 -0
  102. data/spec/data/import_locks.yml +4 -0
  103. data/spec/data/import_snapshots.yml +35 -0
  104. data/spec/data/import_stages.yml +4 -0
  105. data/spec/data/import_tasks.yml +25 -0
  106. data/spec/data/patch-test.xml +1 -0
  107. data/spec/data/remove_test_del_rule.xml +1 -0
  108. data/spec/data/stages.yml +518 -0
  109. data/spec/data/test_del_rule.xml +1 -0
  110. data/spec/lib/admin_module/admin_module_spec.rb +175 -0
  111. data/spec/lib/admin_module/cli_spec.rb +36 -0
  112. data/spec/lib/admin_module/client_spec.rb +158 -0
  113. data/spec/lib/admin_module/command/config_spec.rb +477 -0
  114. data/spec/lib/admin_module/command/dc_spec.rb +202 -0
  115. data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
  116. data/spec/lib/admin_module/command/lock_spec.rb +207 -0
  117. data/spec/lib/admin_module/command/rule_spec.rb +163 -0
  118. data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
  119. data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
  120. data/spec/lib/admin_module/command/stage_spec.rb +259 -0
  121. data/spec/lib/admin_module/command/task_spec.rb +207 -0
  122. data/spec/lib/admin_module/dc_spec.rb +192 -0
  123. data/spec/lib/admin_module/guideline_spec.rb +177 -0
  124. data/spec/lib/admin_module/locks_spec.rb +188 -0
  125. data/spec/lib/admin_module/rules_spec.rb +110 -0
  126. data/spec/lib/admin_module/rulesets_spec.rb +85 -0
  127. data/spec/lib/admin_module/snapshot_spec.rb +192 -0
  128. data/spec/lib/admin_module/stages_spec.rb +179 -0
  129. data/spec/lib/admin_module/tasks_spec.rb +196 -0
  130. data/spec/spec_helper.rb +54 -0
  131. data/spec/support/asserts.rb +13 -0
  132. data/spec/support/data_clearing.rb +28 -0
  133. data/spec/support/dirs.rb +54 -0
  134. data/spec/support/helpers.rb +83 -0
  135. data/spec/support/lock.rb +23 -0
  136. data/spec/support/mocks.rb +213 -0
  137. data/spec/support/snapshot.rb +28 -0
  138. data/spec/support/stage.rb +22 -0
  139. data/spec/support/stage_factory.rb +138 -0
  140. data/spec/support/task.rb +23 -0
  141. metadata +381 -0
@@ -0,0 +1,3 @@
1
+ module AdminModule
2
+ VERSION = "0.1.4"
3
+ end
@@ -0,0 +1,126 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminModule::CLI do
4
+
5
+ let(:cli) do
6
+ AdminModule.configure do |config|
7
+ config.credentials = { :dev => ['devuser', 'devpassword'] }
8
+ end
9
+ AdminModule::CLI.new
10
+ end
11
+
12
+ after(:each) do
13
+ cli.quit
14
+ end
15
+
16
+ describe "#environment=" do
17
+ context "sets the environment to use" do
18
+ context "when set to :sit" do
19
+ let(:cli) do
20
+ AdminModule.configure do |config|
21
+ config.credentials = { :sit => ['situser', 'sitpassword*'] }
22
+ end
23
+ cli = AdminModule::CLI.new
24
+ cli.environment = :sit
25
+ cli
26
+ end
27
+
28
+
29
+ it "#environment returns :sit" do
30
+ expect(cli.environment).to eq :sit
31
+ end
32
+
33
+ it "#credentials returns values for :sit" do
34
+ expect(cli.credentials).to eq ['situser', 'sitpassword*']
35
+ end
36
+
37
+ it "#base_url returns values for :sit" do
38
+ expect(cli.base_url).to eq "http://207.38.119.211/fap2SIT/Admin"
39
+ end
40
+ end
41
+ end
42
+
43
+ #context "with :test configured as default environment" do
44
+ # AdminModule.configure do |config|
45
+ # config.default_environment = :test
46
+ # end
47
+
48
+ # it "returns :test" do
49
+ # expect(cli.environment).to eq :test
50
+ # end
51
+ #end # context "with invalid source file"
52
+ end
53
+
54
+ describe "#environment" do
55
+ context "returns default environment if not overridden" do
56
+ let(:devuser) { 'DevUser' }
57
+ let(:devpass) { 'DevPassword1*' }
58
+ let(:cli) do
59
+ AdminModule.configure do |config|
60
+ config.reset
61
+ config.credentials = { :dev => [devuser, devpass] }
62
+ end
63
+ cli = AdminModule::CLI.new
64
+ cli
65
+ end
66
+
67
+
68
+ it "returns :dev" do
69
+ expect(cli.environment).to eq :dev
70
+ end
71
+ end
72
+
73
+ #context "with :test configured as default environment" do
74
+ # AdminModule.configure do |config|
75
+ # config.default_environment = :test
76
+ # end
77
+
78
+ # it "returns :test" do
79
+ # expect(cli.environment).to eq :test
80
+ # end
81
+ #end # context "with invalid source file"
82
+ end
83
+
84
+
85
+ describe "#credentials" do
86
+ context "returns default credentials if not overridden" do
87
+ let(:devuser) { 'DevUser' }
88
+ let(:devpass) { 'DevPassword1*' }
89
+ let(:cli) do
90
+ AdminModule.configure do |config|
91
+ config.reset
92
+ config.credentials = { :dev => [devuser, devpass] }
93
+ end
94
+ cli = AdminModule::CLI.new
95
+ cli
96
+ end
97
+
98
+
99
+ it "returns :dev's credentials" do
100
+ expect(cli.credentials).to eq [devuser, devpass]
101
+ end
102
+ end
103
+ end
104
+
105
+
106
+ describe "#base_urls" do
107
+ context "returns default urls if not overridden" do
108
+ let(:devuser) { 'DevUser' }
109
+ let(:devpass) { 'DevPassword1*' }
110
+ let(:cli) do
111
+ AdminModule.configure do |config|
112
+ config.reset
113
+ config.credentials = { :dev => [devuser, devpass] }
114
+ end
115
+ cli = AdminModule::CLI.new
116
+ cli
117
+ end
118
+
119
+
120
+ it "returns :dev's base url" do
121
+ expect(cli.base_url).to eq "http://207.38.119.211/fap2Dev/Admin"
122
+ end
123
+ end
124
+ end
125
+
126
+ end # describe AdminModule
@@ -0,0 +1,89 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminModule::CLI do
4
+
5
+ # Kill the browser after each test.
6
+ after(:each) do
7
+ quit_cli
8
+ end
9
+
10
+
11
+ describe "#create_stage" do
12
+ context "stage data missing name parameter" do
13
+
14
+ let(:missing_name) do
15
+ { name: '',
16
+ transition_to: [
17
+ '001 New File',
18
+ '022 Docs Verification',
19
+ '060 Reconsideration Exceptions/Overrides',
20
+ '096 Withdrawn',
21
+ '120 Second Review-Pending Docs' ]
22
+ }
23
+ end
24
+
25
+
26
+ it "will raise exception" do
27
+ expect { cli.create_stage(missing_name) }.to raise_exception(ArgumentError)
28
+ end
29
+ end # context
30
+
31
+
32
+ context "stage name already exists" do
33
+
34
+ let(:name_exists) do
35
+ factory = StageFactory.new
36
+ factory.name('020 Pending Docs')
37
+ .set_transitions([
38
+ '001 New File',
39
+ '022 Docs Verification',
40
+ '060 Reconsideration Exceptions/Overrides',
41
+ '096 Withdrawn',
42
+ '120 Second Review-Pending Docs' ])
43
+
44
+ factory.data
45
+ end
46
+
47
+
48
+ it "will raise exception" do
49
+ expect { cli.create_stage(name_exists) }.to raise_exception(ArgumentError)
50
+ end
51
+ end # context
52
+
53
+ context "stage name does not exist" do
54
+
55
+ let(:new_stage) do
56
+ factory = StageFactory.new
57
+ factory.name('Test Stage')
58
+ .set_transitions([
59
+ '001 New File',
60
+ '022 Docs Verification',
61
+ '060 Reconsideration Exceptions/Overrides',
62
+ '096 Withdrawn',
63
+ '120 Second Review-Pending Docs' ])
64
+
65
+ factory.data
66
+ end
67
+
68
+ it "stage is created" do
69
+ delete_stage_for_test new_stage
70
+
71
+ cli.create_stage(new_stage)
72
+
73
+ stage_name = new_stage[:name]
74
+ actual = cli.get_stage stage_name
75
+
76
+ expect(actual[:name]).to eq stage_name
77
+ expect(actual[:transition_to]).to eq new_stage[:transition_to]
78
+ end
79
+
80
+ it "stage is deleted" do
81
+ create_stage_for_test new_stage
82
+
83
+ cli.delete_stage(new_stage)
84
+ expect{ cli.get_stage(new_stage[:name]) }.to raise_exception
85
+ end
86
+ end # context
87
+ end # describe "#create_stage"
88
+
89
+ end # describe AdminModule
@@ -0,0 +1,57 @@
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(:non_existant_rule_name) { 'Z-NotARule' }
17
+ let(:test_rule_name) { 'Z-TestDelRule' }
18
+ let(:test_rule_xml) { 'spec/data/test_del_rule.xml' }
19
+ let(:remove_test_rule_xml) { 'spec/data/remove_test_del_rule.xml' }
20
+
21
+
22
+ describe "#delete_rule" do
23
+
24
+ context "invalid parameters" do
25
+
26
+ context "missing rule name parameter" do
27
+
28
+ it "will raise exception" do
29
+ expect { cli.delete_rule(nil) }.to raise_exception(ArgumentError)
30
+ expect { cli.delete_rule('') }.to raise_exception(ArgumentError)
31
+ end
32
+
33
+ end # context
34
+
35
+ context "rule does not exist" do
36
+
37
+ it "will raise exception" do
38
+ expect { cli.delete_rule(non_existant_rule_name) }.to raise_exception(ArgumentError)
39
+ end
40
+ end # context
41
+ end # context
42
+
43
+ context "valid parameters" do
44
+
45
+ it "rule is deleted" do
46
+ # Create a rule to delete.
47
+ cli.deploy test_rule_xml, 'Z-TEMP', 'Running cli_delete_spec - step 1: Add Z-TestDelRule.'
48
+ # Have to upload another gdl so we don't have a guideline pointing to
49
+ # the rule we're going to delete.
50
+ cli.deploy remove_test_rule_xml, 'Z-TEMP', 'Running cli_delete_spec - step 2: Remove Z-TestDelRule.'
51
+
52
+ cli.delete_rule(test_rule_name)
53
+ expect(cli.get_rules().include?(test_rule_name)).to eq false
54
+ end
55
+ end # context
56
+ end # describe "#delete_rule"
57
+ end # describe AdminModule
@@ -0,0 +1,57 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminModule::CLI do
4
+
5
+ after(:each) do
6
+ quit_cli
7
+ end
8
+
9
+ describe "#deploy" do
10
+ context "with invalid source file" do
11
+ it "will raise an IOError exception" do
12
+ expect { cli.deploy('source_xml.xml', 'dest_gdl_name') }.to raise_exception(IOError)
13
+ end
14
+ end # context "with invalid source file"
15
+
16
+ context "with valid source file" do
17
+ let(:data_dir) { 'spec/data' }
18
+ let(:test_source_file) { File.join(data_dir, 'patch-test.xml') }
19
+
20
+ AdminModule.configure do |config|
21
+ config.aliases = { 'temp' => 'Z-TEMP' }
22
+ end
23
+
24
+
25
+ it "deploys to default environment" do
26
+ expect { cli.deploy(test_source_file, 'Z-TEMP') }.not_to raise_exception
27
+ end
28
+ end # context "with valid source file"
29
+ end
30
+
31
+
32
+ describe "#deploy_files" do
33
+ context "with one invalid source file" do
34
+ it "will raise an IOError exception" do
35
+ expect { cli.deploy_files(['source_xml.xml'], 'Multi-upload fail test') }.to raise_exception(IOError)
36
+ end
37
+ end
38
+
39
+ context "with valid source files" do
40
+ let(:data_dir) { 'spec/data' }
41
+ let(:test_source_file1) { File.join(data_dir, 'patch-test.xml') }
42
+ let(:test_source_file2) { File.join(data_dir, 'patch-test.xml') }
43
+ let(:test_source_files) { [test_source_file1, test_source_file2] }
44
+
45
+ AdminModule.configure do |config|
46
+ config.aliases = { 'patch-test' => 'Z-TEMP' }
47
+ config.browser_timeout = 359
48
+ end
49
+
50
+
51
+ it "deploys to default environment" do
52
+ expect { cli.deploy_files(test_source_files, 'Multi-upload test') }.not_to raise_exception
53
+ end
54
+ end # context "with valid source file"
55
+ end
56
+
57
+ end # describe AdminModule
@@ -0,0 +1,62 @@
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_lock" do
17
+ context "invalid lock name" do
18
+ it "will raise exception" do
19
+ expect { cli.get_lock('invalid') }.to raise_exception(ArgumentError)
20
+ end
21
+ end # context "invalid lock name"
22
+
23
+
24
+ context "valid lock name" do
25
+
26
+ let(:expected_dod_lock) do
27
+ { name: 'DODLock',
28
+ description: '',
29
+ is_program_lock: false,
30
+ parameters: [],
31
+ dts: [
32
+ 'Delinquency Status',
33
+ 'Has Escrow Account'
34
+ ]
35
+ }
36
+ end
37
+
38
+
39
+ it "will return lock configuration data" do
40
+ expect( cli.get_lock('DODLock') ).to eq expected_dod_lock
41
+ end
42
+ end # context "valid lock name"
43
+ end # describe "#get_lock"
44
+
45
+ describe "#export_locks" do
46
+ context "with filename" do
47
+
48
+ let(:target_file) { 'tmp/spec/admin_module/locks.yml' }
49
+
50
+ before(:each) do
51
+ FileUtils.rm_rf target_file
52
+ end
53
+
54
+
55
+ it "writes multiple locks to a file" do
56
+ cli.export_locks(target_file)
57
+ locks = read_yaml_data_file(target_file)
58
+ expect(locks.size).to eq 20
59
+ end
60
+ end # context
61
+ end # describe "#export_locks"
62
+ end # describe AdminModule
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminModule::CLI do
4
+
5
+ # Quit the browser after each test.
6
+ after(:each) do
7
+ quit_cli
8
+ end
9
+
10
+ describe "#get_stage" do
11
+ context "invalid stage name" do
12
+ it "will raise exception" do
13
+ expect { cli.get_stage('invalid') }.to raise_exception(ArgumentError)
14
+ end
15
+ end # context "invalid stage name"
16
+
17
+
18
+ context "valid stage name" do
19
+
20
+ let(:expected_stage) do
21
+ factory = StageFactory.new
22
+ factory.name('020 Pending Docs').
23
+ set_transitions([
24
+ '001 New File',
25
+ '022 Docs Verification',
26
+ '060 Reconsideration Exceptions/Overrides',
27
+ '096 Withdrawn',
28
+ '120 Second Review-Pending Docs'
29
+ ]
30
+ )
31
+ factory.data
32
+ end
33
+
34
+
35
+ it "will return stage configuration data" do
36
+ stage_name = expected_stage[:name]
37
+ actual = cli.get_stage stage_name
38
+
39
+ expect(actual[:name]).to eq stage_name
40
+ expect(actual[:transition_to]).to eq expected_stage[:transition_to]
41
+ end
42
+ end # context "valid stage name"
43
+ end # describe "#get_stage"
44
+
45
+ describe "#export_stages" do
46
+ context "with filename" do
47
+
48
+ let(:target_file) { 'tmp/spec/admin_module/stages.yml' }
49
+
50
+ before(:each) do
51
+ FileUtils.rm_rf target_file
52
+ end
53
+
54
+
55
+ it "writes multiple stages to a file" do
56
+ cli.export_stages(target_file)
57
+ stages = read_yaml_data_file(target_file)
58
+ expect(stages.size).to eq 49
59
+ end
60
+ end # context
61
+ end # describe "#export_stages"
62
+ end # describe AdminModule