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.
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,163 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+
5
+ describe 'rule command' do
6
+
7
+ let(:login_page) do
8
+ obj = double('login_page')
9
+ allow(obj)
10
+ .to receive(:logout)
11
+ obj
12
+ end
13
+
14
+ let(:page_factory) do
15
+ obj = MockPageFactory.new
16
+ obj.login_page = login_page
17
+ obj.guidelines_page = double('guidelines_page')
18
+ obj.rules_page = double('rules_page')
19
+ obj
20
+ end
21
+
22
+ let(:rules_mock) { mock_rules(page_factory) }
23
+
24
+ let(:client) do
25
+ obj = AdminModule::Client.new
26
+ obj.page_factory = page_factory
27
+ obj
28
+ end
29
+
30
+ let(:rule_list) { ['Rule1', 'Rule2', 'Rule 33'] }
31
+
32
+ before do
33
+ AdminModule.configure do |config|
34
+ config.credentials[:dev] = ['user', 'pass']
35
+ end
36
+
37
+ allow(client)
38
+ .to receive(:rules)
39
+ .and_return(rules_mock)
40
+ end
41
+
42
+ context "rule list" do
43
+ it "displays list of rules" do
44
+ expect(client)
45
+ .to receive(:user=)
46
+ .with('user')
47
+
48
+ expect(client)
49
+ .to receive(:password=)
50
+ .with('pass')
51
+
52
+ expect(client)
53
+ .to receive(:rules)
54
+
55
+ expect(rules_mock)
56
+ .to receive(:list)
57
+ .and_return(rule_list)
58
+
59
+ expect(client)
60
+ .to receive(:logout)
61
+
62
+ build_dir = data_dir('build')
63
+
64
+ output = capture_output do
65
+ run_with_args %W(rule list -e dev), client
66
+ end
67
+
68
+ expect( output ).to include rule_list[0]
69
+ expect( output ).to include rule_list[1]
70
+ expect( output ).to include rule_list[2]
71
+ end
72
+ end
73
+
74
+ context "rule rename" do
75
+ it "renames a rule" do
76
+ expect(client)
77
+ .to receive(:user=)
78
+ .with('user')
79
+
80
+ expect(client)
81
+ .to receive(:password=)
82
+ .with('pass')
83
+
84
+ expect(client)
85
+ .to receive(:rules)
86
+
87
+ expect(rules_mock)
88
+ .to receive(:rename)
89
+ .with('TestRule1', 'TestRule2')
90
+
91
+ expect(client)
92
+ .to receive(:logout)
93
+
94
+ build_dir = data_dir('build')
95
+ run_with_args %w(rule rename -e dev TestRule1 TestRule2), client
96
+ end
97
+
98
+ it "displays a helpful message if rename fails" do
99
+ msg = 'rename failed'
100
+
101
+ expect(rules_mock)
102
+ .to receive(:rename)
103
+ .and_raise(ArgumentError, msg)
104
+
105
+ output = capture_output do
106
+ run_with_args %w(rule rename -e dev TestRule1 TestRule2), client
107
+ end
108
+
109
+ expect( output ).to include msg
110
+ end
111
+ end
112
+
113
+ context "rule delete" do
114
+ it "deletes a rule" do
115
+ expect(client)
116
+ .to receive(:user=)
117
+ .with('user')
118
+
119
+ expect(client)
120
+ .to receive(:password=)
121
+ .with('pass')
122
+
123
+ expect(client)
124
+ .to receive(:rules)
125
+
126
+ expect(rules_mock)
127
+ .to receive(:delete)
128
+ .with('TestRule1')
129
+
130
+ expect(client)
131
+ .to receive(:logout)
132
+
133
+ build_dir = data_dir('build')
134
+ run_with_args %w(rule delete -e dev TestRule1), client
135
+ end
136
+
137
+ it "displays a helpful message if delete fails" do
138
+ msg = 'delete failed'
139
+
140
+ expect(rules_mock)
141
+ .to receive(:delete)
142
+ .and_raise(ArgumentError, msg)
143
+
144
+ output = capture_output do
145
+ run_with_args %w(rule delete -e dev TestRule1), client
146
+ end
147
+
148
+ expect( output ).to include msg
149
+ end
150
+ end
151
+
152
+ it "returns help info" do
153
+ output = capture_output do
154
+ run_with_args %w(help rule)
155
+ end
156
+
157
+ expect( output ).to include "rule help [COMMAND]"
158
+ expect( output ).to include "rule list"
159
+ expect( output ).to include "rule rename <srcname> <destname>"
160
+ expect( output ).to include "e, [--environment=dev]"
161
+ end
162
+ end
163
+
@@ -0,0 +1,124 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+
5
+ describe 'ruleset command' do
6
+
7
+ let(:login_page) do
8
+ obj = double('login_page')
9
+ allow(obj)
10
+ .to receive(:logout)
11
+ obj
12
+ end
13
+
14
+ let(:page_factory) do
15
+ obj = MockPageFactory.new
16
+ obj.login_page = login_page
17
+ obj.guidelines_page = double('guidelines_page')
18
+ obj.rulesets_page = double('rulesets_page')
19
+ obj
20
+ end
21
+
22
+ let(:rulesets_mock) { mock_rulesets(page_factory) }
23
+
24
+ let(:client) do
25
+ obj = AdminModule::Client.new
26
+ obj.page_factory = page_factory
27
+ obj
28
+ end
29
+
30
+ let(:ruleset_list) { ['Ruleset1', 'Ruleset2', 'Ruleset 33'] }
31
+
32
+ before do
33
+ AdminModule.configure do |config|
34
+ config.credentials[:dev] = ['user', 'pass']
35
+ end
36
+
37
+ allow(client)
38
+ .to receive(:rulesets)
39
+ .and_return(rulesets_mock)
40
+ end
41
+
42
+ context "ruleset list" do
43
+ it "displays list of rulesets" do
44
+ expect(client)
45
+ .to receive(:user=)
46
+ .with('user')
47
+
48
+ expect(client)
49
+ .to receive(:password=)
50
+ .with('pass')
51
+
52
+ expect(client)
53
+ .to receive(:rulesets)
54
+
55
+ expect(rulesets_mock)
56
+ .to receive(:list)
57
+ .and_return(ruleset_list)
58
+
59
+ expect(client)
60
+ .to receive(:logout)
61
+
62
+ build_dir = data_dir('build')
63
+
64
+ output = capture_output do
65
+ run_with_args %W(ruleset list -e dev), client
66
+ end
67
+
68
+ expect( output ).to include ruleset_list[0]
69
+ expect( output ).to include ruleset_list[1]
70
+ expect( output ).to include ruleset_list[2]
71
+ end
72
+ end
73
+
74
+ context "ruleset rename" do
75
+ it "renames a ruleset" do
76
+ expect(client)
77
+ .to receive(:user=)
78
+ .with('user')
79
+
80
+ expect(client)
81
+ .to receive(:password=)
82
+ .with('pass')
83
+
84
+ expect(client)
85
+ .to receive(:rulesets)
86
+
87
+ expect(rulesets_mock)
88
+ .to receive(:rename)
89
+ .with('TestRuleset1', 'TestRuleset2')
90
+
91
+ expect(client)
92
+ .to receive(:logout)
93
+
94
+ build_dir = data_dir('build')
95
+ run_with_args %w(ruleset rename -e dev TestRuleset1 TestRuleset2), client
96
+ end
97
+
98
+ it "displays a helpful message if rename fails" do
99
+ msg = 'rename failed'
100
+
101
+ expect(rulesets_mock)
102
+ .to receive(:rename)
103
+ .and_raise(ArgumentError, msg)
104
+
105
+ output = capture_output do
106
+ run_with_args %w(ruleset rename -e dev TestRuleset1 TestRuleset2), client
107
+ end
108
+
109
+ expect( output ).to include msg
110
+ end
111
+ end
112
+
113
+ it "returns help info" do
114
+ output = capture_output do
115
+ run_with_args %w(help ruleset)
116
+ end
117
+
118
+ expect( output ).to include "ruleset help [COMMAND]"
119
+ expect( output ).to include "ruleset list"
120
+ expect( output ).to include "ruleset rename <srcname> <destname>"
121
+ expect( output ).to include "e, [--environment=dev]"
122
+ end
123
+ end
124
+
@@ -0,0 +1,202 @@
1
+ require 'pathname'
2
+ require Pathname(__FILE__).ascend{|d| h=d+'spec_helper.rb'; break h if h.file?}
3
+
4
+ describe 'command snapshot' do
5
+
6
+ let(:login_page) do
7
+ obj = double('login_page')
8
+ allow(obj)
9
+ .to receive(:logout)
10
+ obj
11
+ end
12
+
13
+ let(:page_factory) do
14
+ obj = MockPageFactory.new
15
+ obj.login_page = login_page
16
+ obj.snapshot_definitions_page = double('snapshot_page')
17
+ obj
18
+ end
19
+
20
+ let(:snapshot_mock) { mock_snapshots(page_factory) }
21
+
22
+ let(:client) do
23
+ obj = AdminModule::Client.new
24
+ obj.page_factory = page_factory
25
+ obj
26
+ end
27
+
28
+ let(:snapshot_list) { ['snapshot1', 'snapshot2', 'snapshot 33'] }
29
+
30
+ before do
31
+ AdminModule.configure do |config|
32
+ config.credentials[:dev] = ['user', 'pass']
33
+ end
34
+
35
+ allow(client)
36
+ .to receive(:snapshots)
37
+ .and_return(snapshot_mock)
38
+ end
39
+
40
+ context "list" do
41
+ it "displays list of snapshot configs" do
42
+ expect(client)
43
+ .to receive(:user=)
44
+ .with('user')
45
+
46
+ expect(client)
47
+ .to receive(:password=)
48
+ .with('pass')
49
+
50
+ expect(client)
51
+ .to receive(:snapshots)
52
+
53
+ expect(snapshot_mock)
54
+ .to receive(:list)
55
+ .and_return(snapshot_list)
56
+
57
+ expect(client)
58
+ .to receive(:logout)
59
+
60
+ output = capture_output do
61
+ run_with_args %W(snapshot list -e dev), client
62
+ end
63
+
64
+ expect( output ).to include snapshot_list[0]
65
+ expect( output ).to include snapshot_list[1]
66
+ expect( output ).to include snapshot_list[2]
67
+ end
68
+ end
69
+
70
+ context "rename" do
71
+ it "renames a snapshot configuration" do
72
+ expect(client)
73
+ .to receive(:user=)
74
+ .with('user')
75
+
76
+ expect(client)
77
+ .to receive(:password=)
78
+ .with('pass')
79
+
80
+ expect(client)
81
+ .to receive(:snapshots)
82
+
83
+ expect(snapshot_mock)
84
+ .to receive(:rename)
85
+ .with('TestSnapshot1', 'TestSnapshot2')
86
+
87
+ expect(client)
88
+ .to receive(:logout)
89
+
90
+ run_with_args %w(snapshot rename -e dev TestSnapshot1 TestSnapshot2), client
91
+ end
92
+
93
+ it "displays a helpful message if rename fails" do
94
+ msg = 'rename failed'
95
+
96
+ expect(snapshot_mock)
97
+ .to receive(:rename)
98
+ .and_raise(ArgumentError, msg)
99
+
100
+ output = capture_output do
101
+ run_with_args %w(snapshot rename -e dev TestSnapshot1 TestSnapshot2), client
102
+ end
103
+
104
+ expect( output ).to include msg
105
+ end
106
+ end
107
+
108
+ context "import" do
109
+ it "imports a snapshot yaml file" do
110
+ expect(client)
111
+ .to receive(:user=)
112
+ .with('user')
113
+
114
+ expect(client)
115
+ .to receive(:password=)
116
+ .with('pass')
117
+
118
+ expect(client)
119
+ .to receive(:snapshots)
120
+
121
+ expect(snapshot_mock)
122
+ .to receive(:import)
123
+ .with('path/to/import/file')
124
+
125
+ expect(client)
126
+ .to receive(:logout)
127
+
128
+ run_with_args %w(snapshot import -e dev path/to/import/file), client
129
+ end
130
+ end
131
+
132
+ context "export" do
133
+ it "exports a snapshot yaml file" do
134
+ expect(client)
135
+ .to receive(:user=)
136
+ .with('user')
137
+
138
+ expect(client)
139
+ .to receive(:password=)
140
+ .with('pass')
141
+
142
+ expect(client)
143
+ .to receive(:snapshots)
144
+
145
+ expect(snapshot_mock)
146
+ .to receive(:export)
147
+ .with('path/to/export/file')
148
+
149
+ expect(client)
150
+ .to receive(:logout)
151
+
152
+ run_with_args %w(snapshot export -e dev path/to/export/file), client
153
+ end
154
+ end
155
+
156
+ context "read" do
157
+ it "dumps a snapshot's configuration to the console" do
158
+ expect(client)
159
+ .to receive(:user=)
160
+ .with('user')
161
+
162
+ expect(client)
163
+ .to receive(:password=)
164
+ .with('pass')
165
+
166
+ expect(client)
167
+ .to receive(:snapshots)
168
+
169
+ expect(snapshot_mock)
170
+ .to receive(:read)
171
+ .with('TestSnapshot1')
172
+ .and_return(create_snapshot_hash('TestSnapshot1'))
173
+
174
+ expect(client)
175
+ .to receive(:logout)
176
+
177
+ output = capture_output do
178
+ run_with_args %w(snapshot read -e dev TestSnapshot1), client
179
+ end
180
+
181
+ normalized_yaml = create_snapshot_hash('TestSnapshot1')
182
+ normalized_yaml = { 'TestSnapshot1' => normalized_yaml }.to_yaml
183
+
184
+ expect( output ).to include normalized_yaml
185
+ end
186
+ end
187
+
188
+ it "returns help info" do
189
+ output = capture_output do
190
+ run_with_args %w(help snapshot)
191
+ end
192
+
193
+ expect( output ).to include "snapshot help [COMMAND]"
194
+ expect( output ).to include "snapshot list"
195
+ expect( output ).to include "snapshot import <filepath>"
196
+ expect( output ).to include "snapshot export <filepath>"
197
+ expect( output ).to include "snapshot rename <srcname> <destname>"
198
+ expect( output ).to include "snapshot read <name>"
199
+ expect( output ).to include "e, [--environment=dev]"
200
+ end
201
+ end
202
+