hammer_cli_foreman 3.3.0 → 3.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,100 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper')
2
+
3
+ describe 'table_preference' do
4
+ let(:base_cmd) { ['user', 'table-preference'] }
5
+ let(:user) do
6
+ {
7
+ :id => 1,
8
+ :name => 'admin'
9
+ }
10
+ end
11
+ let(:table_preference) do
12
+ {
13
+ :id => 1,
14
+ :user_id => user[:id],
15
+ :name => 'Table Preference',
16
+ :columns => ['A', 'B', 'C']
17
+ }
18
+ end
19
+
20
+ describe 'list' do
21
+ let(:cmd) { base_cmd << 'list' }
22
+
23
+ it 'lists table preferences for a given user' do
24
+ params = ['--user-id', user[:id]]
25
+ api_expects(:table_preferences, :index, params)
26
+ .returns(index_response([table_preference]))
27
+
28
+ expected_result = success_result(/#{table_preference[:name]}/)
29
+
30
+ result = run_cmd(cmd + params)
31
+ assert_cmd(expected_result, result)
32
+ end
33
+ end
34
+
35
+ describe 'create' do
36
+ let(:cmd) { base_cmd << 'create' }
37
+
38
+ it 'creates a table preference for a given table' do
39
+ params = ['--user-id', user[:id],
40
+ '--name', table_preference[:name],
41
+ '--columns', table_preference[:columns]]
42
+ api_expects(:table_preferences, :create, params)
43
+ .returns(table_preference)
44
+
45
+ expected_result = success_result("Table preference created.\n")
46
+
47
+ result = run_cmd(cmd + params)
48
+ assert_cmd(expected_result, result)
49
+ end
50
+ end
51
+
52
+ describe 'update' do
53
+ let(:cmd) { base_cmd << 'update' }
54
+
55
+ it 'updates a table preference for a given table' do
56
+ params = ['--user-id', user[:id],
57
+ '--name', table_preference[:name],
58
+ '--columns', ['A','B','C','D','E']]
59
+ api_expects(:table_preferences, :update, params)
60
+ .returns(table_preference)
61
+
62
+ expected_result = success_result("Table preference updated.\n")
63
+
64
+ result = run_cmd(cmd + params)
65
+ assert_cmd(expected_result, result)
66
+ end
67
+ end
68
+
69
+ describe 'info' do
70
+ let(:cmd) { base_cmd << 'info' }
71
+
72
+ it 'shows table preference details of a given table' do
73
+ params = ['--user-id', user[:id],
74
+ '--name', table_preference[:name]]
75
+ api_expects(:table_preferences, :show, params)
76
+ .returns(table_preference)
77
+
78
+ expected_result = success_result(/#{table_preference[:name]} | #{table_preference[:columns]}/)
79
+
80
+ result = run_cmd(cmd + params)
81
+ assert_cmd(expected_result, result)
82
+ end
83
+ end
84
+
85
+ describe 'delete' do
86
+ let(:cmd) { base_cmd << 'delete' }
87
+
88
+ it 'deletes a table preference for a given table' do
89
+ params = ['--user-id', user[:id],
90
+ '--name', table_preference[:name]]
91
+ api_expects(:table_preferences, :destroy, params)
92
+ .returns({})
93
+
94
+ expected_result = success_result("Table preference deleted.\n")
95
+
96
+ result = run_cmd(cmd + params)
97
+ assert_cmd(expected_result, result)
98
+ end
99
+ end
100
+ end
data/test/test_helper.rb CHANGED
@@ -17,7 +17,7 @@ require "mocha/minitest"
17
17
  require 'hammer_cli'
18
18
  require 'hammer_cli_foreman/testing/api_expectations'
19
19
 
20
- FOREMAN_VERSION = ENV['TEST_API_VERSION'] || '3.1'
20
+ FOREMAN_VERSION = ENV['TEST_API_VERSION'] || '3.4'
21
21
  unless Dir.entries('test/data').include? FOREMAN_VERSION
22
22
  raise StandardError.new "Version is not correct"
23
23
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hammer_cli_foreman
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.0
4
+ version: 3.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomáš Strachota
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-05-10 00:00:00.000000000 Z
12
+ date: 2022-08-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hammer_cli
@@ -205,6 +205,7 @@ files:
205
205
  - lib/hammer_cli_foreman/ssh_keys.rb
206
206
  - lib/hammer_cli_foreman/status.rb
207
207
  - lib/hammer_cli_foreman/subnet.rb
208
+ - lib/hammer_cli_foreman/table_preference.rb
208
209
  - lib/hammer_cli_foreman/task_helper.rb
209
210
  - lib/hammer_cli_foreman/template.rb
210
211
  - lib/hammer_cli_foreman/testing/api_expectations.rb
@@ -245,6 +246,7 @@ files:
245
246
  - test/data/2.4/foreman_api.json
246
247
  - test/data/2.5/foreman_api.json
247
248
  - test/data/3.1/foreman_api.json
249
+ - test/data/3.4/foreman_api.json
248
250
  - test/data/README.md
249
251
  - test/functional/architecture_test.rb
250
252
  - test/functional/associating_commands_test.rb
@@ -280,6 +282,7 @@ files:
280
282
  - test/functional/status_test.rb
281
283
  - test/functional/subnet/create_test.rb
282
284
  - test/functional/subnet/update_test.rb
285
+ - test/functional/table_preference_test.rb
283
286
  - test/functional/template_test.rb
284
287
  - test/functional/test_helper.rb
285
288
  - test/functional/user_mail_notification_test.rb
@@ -385,6 +388,7 @@ test_files:
385
388
  - test/data/2.4/foreman_api.json
386
389
  - test/data/2.5/foreman_api.json
387
390
  - test/data/3.1/foreman_api.json
391
+ - test/data/3.4/foreman_api.json
388
392
  - test/functional/auth_source_test.rb
389
393
  - test/functional/commands/list_test.rb
390
394
  - test/functional/hostgroup/create_test.rb
@@ -425,6 +429,7 @@ test_files:
425
429
  - test/functional/bookmark_test.rb
426
430
  - test/functional/model_test.rb
427
431
  - test/functional/registration_test.rb
432
+ - test/functional/table_preference_test.rb
428
433
  - test/unit/api/void_auth_test.rb
429
434
  - test/unit/api/interactive_basic_auth_test.rb
430
435
  - test/unit/api/oauth/oauth_authentication_code_grant_test.rb