dtk-client 0.5.14 → 0.5.15

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.
data/lib/util/os_util.rb CHANGED
@@ -28,7 +28,6 @@ module DTK
28
28
  is_windows? ? genv(:temp) : '/tmp'
29
29
  end
30
30
 
31
-
32
31
  def pop_readline_history(number_of_last_commands)
33
32
  number_of_last_commands.downto(1) do
34
33
  Readline::HISTORY.pop
@@ -98,13 +97,13 @@ module DTK
98
97
 
99
98
  system("#{editor} #{file}")
100
99
  end
101
-
100
+
102
101
  def module_location(module_type,module_name,version=nil,opts={})
103
- #compact used because module_name can be nil
102
+ # compact used because module_name can be nil
104
103
  module_location_parts(module_type,module_name,version,opts).compact.join('/')
105
104
  end
106
-
107
- #if module location is /a/b/d/mod it returns ['/a/b/d','mod']
105
+
106
+ # if module location is /a/b/d/mod it returns ['/a/b/d','mod']
108
107
  def module_location_parts(module_type,module_name,version=nil,opts={})
109
108
  base_path = clone_base_path(opts[:assembly_module] ? :assembly_module : module_type)
110
109
  if assembly_module = opts[:assembly_module]
@@ -141,7 +140,7 @@ module DTK
141
140
 
142
141
  def clone_base_path(module_type)
143
142
 
144
- path =
143
+ path =
145
144
  case module_type
146
145
  when :service_module then Config[:service_location]
147
146
  when :component_module then Config[:module_location]
@@ -174,12 +173,12 @@ module DTK
174
173
  component_module_dir = module_clone_location()
175
174
  Dir.entries(component_module_dir).select {|entry| File.directory? File.join(component_module_dir,entry) and !(entry =='.' || entry == '..') }
176
175
  end
177
-
176
+
178
177
  # Public method will convert given string, to string with colorize output
179
178
  #
180
179
  # message - String to be colorized
181
180
  # color - Symbol describing color to be used
182
- #
181
+ #
183
182
  # Returns String with colorize output
184
183
  def colorize(message, color)
185
184
  # at the moment we do not support colors in windows
@@ -200,15 +199,15 @@ module DTK
200
199
  #
201
200
  # Example
202
201
  # suspend_output do
203
- # # some calls
202
+ # # some calls
204
203
  # end
205
204
  def suspend_output
206
205
  if is_windows?
207
206
  retval = yield
208
207
  else
208
+ orig_stderr = $stderr.clone
209
+ orig_stdout = $stdout.clone
209
210
  begin
210
- orig_stderr = $stderr.clone
211
- orig_stdout = $stdout.clone
212
211
  $stderr.reopen File.new('/dev/null', 'w')
213
212
  $stdout.reopen File.new('/dev/null', 'w')
214
213
  retval = yield
@@ -239,6 +238,7 @@ module DTK
239
238
  suspend_output do
240
239
  load File.expand_path('../../lib/util/os_util.rb', File.dirname(__FILE__))
241
240
  load File.expand_path('../../lib/util/ssh_util.rb', File.dirname(__FILE__))
241
+ load File.expand_path('../../lib/util/remote_dependency_util.rb', File.dirname(__FILE__))
242
242
  load File.expand_path('../../lib/shell/help_monkey_patch.rb', File.dirname(__FILE__))
243
243
  load File.expand_path('../../lib/shell/domain.rb', File.dirname(__FILE__))
244
244
  load File.expand_path('../../lib/domain/git_adapter.rb', File.dirname(__FILE__))
@@ -291,7 +291,7 @@ module DTK
291
291
  end
292
292
 
293
293
  private
294
-
294
+
295
295
  def seperator
296
296
  return (is_windows? ? "\\" : "/")
297
297
  end
@@ -0,0 +1,36 @@
1
+ #
2
+ # Managment of remote dependencies detection (print warning) or providing data from local resources
3
+ #
4
+ module DTK
5
+ module Client
6
+ module RemoteDependencyUtil
7
+
8
+ MODULE_REF_FILE = 'module_refs.yaml'
9
+
10
+ class << self
11
+
12
+ def print_dependency_warnings(response, success_msg=nil)
13
+ return if response.nil? || response.data.nil?
14
+ warnings = response.data['dependency_warnings']
15
+ if warnings && !warnings.empty?
16
+ print_out "Following warnings have been detected for current module by Repo Manager:\n"
17
+ warnings.each { |w| print_out(" - #{w}") }
18
+ puts
19
+ end
20
+ print_out success_msg, :green if success_msg
21
+ end
22
+
23
+ def module_ref_content(location)
24
+ abs_location = File.join(location, MODULE_REF_FILE)
25
+ File.exists?(abs_location) ? File.read(abs_location) : nil
26
+ end
27
+
28
+ private
29
+
30
+ def print_out(message, color=:yellow)
31
+ DTK::Client::OsUtil.print(message, color)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
data/lib/util/ssh_util.rb CHANGED
@@ -48,7 +48,7 @@ module DTK
48
48
  private
49
49
 
50
50
  def self.ssh_base_dir()
51
- "#{ENV['HOME']}/.ssh" #TODO: very brittle
51
+ "#{OsUtil.dtk_home_dir}/.ssh"
52
52
  end
53
53
 
54
54
  def self.ssh_known_hosts_path()
@@ -66,6 +66,7 @@ module DTK
66
66
  end
67
67
 
68
68
  def self.is_ssh_key_content_valid?(rsa_pub_key)
69
+ # checking know ssh rsa pub key content
69
70
  if(rsa_pub_key.empty? || !rsa_pub_key.include?("AAAAB3NzaC1yc2EA"))
70
71
  raise DtkError, "[ERROR] SSH public key (#{path_to_key}) does not have valid content. Please check your key and try again."
71
72
  end
@@ -0,0 +1,34 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/component_module', File.dirname(__FILE__))
4
+
5
+ include SpecThor
6
+
7
+ describe DTK::Client::ComponentModule do
8
+ $component_module_id = nil
9
+
10
+ context '#list' do
11
+ $component_module_list = run_from_dtk_shell('component-module list')
12
+
13
+ it "should have component module listing" do
14
+ $component_module_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
15
+ end
16
+
17
+ unless $component_module_list.nil?
18
+ unless $component_module_list['data'].nil?
19
+ $component_module_id = $component_module_list['data'].first['id'] unless $component_module_list['data'].empty?
20
+ end
21
+ end
22
+ end
23
+
24
+ context "#list/command" do
25
+ unless $component_module_id.nil?
26
+ output = run_from_dtk_shell("component-module #{$component_module_id} list-components")
27
+
28
+ it "should list all components for component module with id #{$component_module_id}" do
29
+ $component_module_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
30
+ end
31
+ end
32
+ end
33
+
34
+ end
data/spec/dtk_spec.rb CHANGED
@@ -13,7 +13,7 @@ describe DTK::Client::Dtk do
13
13
  f = IO.popen('dtk')
14
14
  output = f.readlines.join('')
15
15
 
16
- it "should have assembly listing" do
16
+ it "should have service listing" do
17
17
  output.should match(/(dtk|service|ok|status|empty|INFO|WARNING)/)
18
18
  end
19
19
 
@@ -7,7 +7,6 @@ include SpecThor
7
7
  describe DTK::Client::NodeTemplate do
8
8
  $node_template_id = nil
9
9
 
10
- #list all assemblies and take one assembly_id
11
10
  context '#list' do
12
11
  $node_template_list = run_from_dtk_shell('node-template list')
13
12
 
@@ -0,0 +1,38 @@
1
+ require 'lib/spec_thor'
2
+ require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/service_module', File.dirname(__FILE__))
4
+
5
+ include SpecThor
6
+
7
+ describe DTK::Client::ServiceModule do
8
+ $about = ['assemblies']
9
+ $service_module_id = nil
10
+
11
+ context '#list' do
12
+ $service_module_list = run_from_dtk_shell('service-module list')
13
+
14
+ it "should have service modules listing" do
15
+ $service_module_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
16
+ end
17
+
18
+ unless $service_module_list.nil?
19
+ unless $service_module_list['data'].nil?
20
+ $service_module_id = $service_module_list['data'].first['id'] unless $service_module_list['data'].empty?
21
+ end
22
+ end
23
+ end
24
+
25
+ context "#list/command" do
26
+ unless $service_module_id.nil?
27
+ $about.each do |type|
28
+ output = run_from_dtk_shell("service-module #{$service_module_id} list #{type}")
29
+
30
+ it "should list all #{type} for service module with id #{$service_module_id}" do
31
+ output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
32
+ end
33
+ end
34
+ end
35
+ end
36
+
37
+ end
38
+
data/spec/service_spec.rb CHANGED
@@ -1,22 +1,21 @@
1
1
  require 'lib/spec_thor'
2
2
  require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/service_module', File.dirname(__FILE__))
3
+ require File.expand_path('../lib/commands/thor/assembly', File.dirname(__FILE__))
4
4
 
5
5
  include SpecThor
6
6
 
7
- describe DTK::Client::ServiceModule do
8
- $about = ['assemblies']
7
+ describe DTK::Client::Assembly do
8
+ $about = ['nodes', 'components', 'attributes','tasks']
9
9
  $service_id = nil
10
10
 
11
-
12
- #list all assemblies and take one assembly_id
13
- context '#list' do
14
- $service_list = run_from_dtk_shell('service-module list')
11
+ #list all services and take one service_id
12
+ context "#list" do
13
+ $service_list = run_from_dtk_shell('service list')
15
14
 
16
15
  it "should have service listing" do
17
16
  $service_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
18
17
  end
19
-
18
+
20
19
  unless $service_list.nil?
21
20
  unless $service_list['data'].nil?
22
21
  $service_id = $service_list['data'].first['id'] unless $service_list['data'].empty?
@@ -24,11 +23,11 @@ describe DTK::Client::ServiceModule do
24
23
  end
25
24
  end
26
25
 
27
-
26
+ # for previously taken service_id, do list nodes|components|tasks
28
27
  context "#list/command" do
29
28
  unless $service_id.nil?
30
29
  $about.each do |type|
31
- output = run_from_dtk_shell("service-module #{$service_id} list #{type}")
30
+ output = run_from_dtk_shell("service #{$service_id} list #{type}")
32
31
 
33
32
  it "should list all #{type} for service with id #{$service_id}" do
34
33
  output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
@@ -37,5 +36,15 @@ describe DTK::Client::ServiceModule do
37
36
  end
38
37
  end
39
38
 
40
- end
39
+ # for previously taken service_id, do info
40
+ context "#info" do
41
+ unless $service_id.nil?
42
+ output = run_from_dtk_shell("service #{$service_id} info")
41
43
 
44
+ it "should show information about service with id #{$service_id}" do
45
+ output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
46
+ end
47
+ end
48
+ end
49
+
50
+ end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dtk-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.14
4
+ version: 0.5.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rich PELAVIN
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-15 00:00:00.000000000 Z
11
+ date: 2014-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.2.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 1.2.4
27
27
  - !ruby/object:Gem::Dependency
@@ -210,6 +210,7 @@ files:
210
210
  - lib/commands/common/thor/clone.rb
211
211
  - lib/commands/common/thor/common.rb
212
212
  - lib/commands/common/thor/edit.rb
213
+ - lib/commands/common/thor/inventory_parser.rb
213
214
  - lib/commands/common/thor/list_diffs.rb
214
215
  - lib/commands/common/thor/pull_clone_changes.rb
215
216
  - lib/commands/common/thor/pull_from_remote.rb
@@ -277,6 +278,7 @@ files:
277
278
  - lib/util/dtk_puppet.rb
278
279
  - lib/util/os_util.rb
279
280
  - lib/util/permission_util.rb
281
+ - lib/util/remote_dependency_util.rb
280
282
  - lib/util/ssh_util.rb
281
283
  - lib/view_processor.rb
282
284
  - lib/view_processor/augmented_simple_list.rb
@@ -289,20 +291,17 @@ files:
289
291
  - puppet/templates/bash_profile.erb
290
292
  - puppet/templates/client.conf.erb
291
293
  - puppet/templates/dtkclient.erb
292
- - spec/assembly_spec.rb
293
- - spec/assembly_template_spec.rb
294
- - spec/component_template_spec.rb
294
+ - spec/component_module_spec.rb
295
295
  - spec/dependency_spec.rb
296
296
  - spec/dtk_shell_spec.rb
297
297
  - spec/dtk_spec.rb
298
298
  - spec/lib/spec_helper.rb
299
299
  - spec/lib/spec_thor.rb
300
- - spec/module_spec.rb
301
- - spec/node_spec.rb
302
300
  - spec/node_template_spec.rb
303
301
  - spec/project_spec.rb
304
302
  - spec/repo_spec.rb
305
303
  - spec/response_spec.rb
304
+ - spec/service_module_spec.rb
306
305
  - spec/service_spec.rb
307
306
  - spec/state_change_spec.rb
308
307
  - spec/table_print_spec.rb
@@ -321,12 +320,12 @@ require_paths:
321
320
  - lib
322
321
  required_ruby_version: !ruby/object:Gem::Requirement
323
322
  requirements:
324
- - - ! '>='
323
+ - - '>='
325
324
  - !ruby/object:Gem::Version
326
325
  version: '0'
327
326
  required_rubygems_version: !ruby/object:Gem::Requirement
328
327
  requirements:
329
- - - ! '>='
328
+ - - '>='
330
329
  - !ruby/object:Gem::Version
331
330
  version: '0'
332
331
  requirements: []
@@ -336,20 +335,17 @@ signing_key:
336
335
  specification_version: 4
337
336
  summary: DTK CLI client for DTK server interaction.
338
337
  test_files:
339
- - spec/assembly_spec.rb
340
- - spec/assembly_template_spec.rb
341
- - spec/component_template_spec.rb
338
+ - spec/component_module_spec.rb
342
339
  - spec/dependency_spec.rb
343
340
  - spec/dtk_shell_spec.rb
344
341
  - spec/dtk_spec.rb
345
342
  - spec/lib/spec_helper.rb
346
343
  - spec/lib/spec_thor.rb
347
- - spec/module_spec.rb
348
- - spec/node_spec.rb
349
344
  - spec/node_template_spec.rb
350
345
  - spec/project_spec.rb
351
346
  - spec/repo_spec.rb
352
347
  - spec/response_spec.rb
348
+ - spec/service_module_spec.rb
353
349
  - spec/service_spec.rb
354
350
  - spec/state_change_spec.rb
355
351
  - spec/table_print_spec.rb
@@ -1,50 +0,0 @@
1
- require 'lib/spec_thor'
2
- require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/assembly', File.dirname(__FILE__))
4
-
5
- include SpecThor
6
-
7
- describe DTK::Client::Assembly do
8
- $about = ['nodes', 'components', 'attributes','tasks']
9
- $assembly_id = nil
10
-
11
- #list all assemblies and take one assembly_id
12
- context "#list" do
13
- $assembly_list = run_from_dtk_shell('service list')
14
-
15
- it "should have assembly listing" do
16
- $assembly_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
17
- end
18
-
19
- unless $assembly_list.nil?
20
- unless $assembly_list['data'].nil?
21
- $assembly_id = $assembly_list['data'].first['id'] unless $assembly_list['data'].empty?
22
- end
23
- end
24
- end
25
-
26
- # for previously taken assembly_id, do list nodes|components|tasks
27
- context "#list/command" do
28
- unless $assembly_id.nil?
29
- $about.each do |type|
30
- output = run_from_dtk_shell("service #{$assembly_id} list #{type}")
31
-
32
- it "should list all #{type} for assembly with id #{$assembly_id}" do
33
- output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
34
- end
35
- end
36
- end
37
- end
38
-
39
- # for previously taken assembly_id, do info
40
- context "#info" do
41
- unless $assembly_id.nil?
42
- output = run_from_dtk_shell("service #{$assembly_id} info")
43
-
44
- it "should show information about assembly with id #{$assembly_id}" do
45
- output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
46
- end
47
- end
48
- end
49
-
50
- end
@@ -1,51 +0,0 @@
1
- require 'lib/spec_thor'
2
- require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/assembly', File.dirname(__FILE__))
4
-
5
- include SpecThor
6
-
7
- #Currently disabled because this context does not exist anymore
8
- =begin
9
- describe DTK::Client::AssemblyTemplate do
10
- $about = ['nodes', 'components']
11
- $assembly_template_id = nil
12
-
13
- context '#list' do
14
- $assembly_template_list = run_from_dtk_shell('assembly-template list')
15
-
16
- it "should have assembly-template listing" do
17
- $assembly_template_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id|Missing)/)
18
- end
19
-
20
- unless $assembly_template_list.nil?
21
- unless $assembly_template_list['data'].nil?
22
- puts $assembly_template_list['data']
23
- $assembly_template_id = $assembly_template_list['data'].first['id'] unless $assembly_template_list['data'].empty?
24
- end
25
- end
26
- end
27
-
28
- context "#list/command" do
29
- unless $assembly_template_id.nil?
30
- $about.each do |type|
31
- output = run_from_dtk_shell("assembly-template #{$assembly_template_id} list #{type}")
32
-
33
- it "should list all #{type} for assembly-template with id #{$assembly_template_id}" do
34
- output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
35
- end
36
- end
37
- end
38
- end
39
-
40
- context "#info" do
41
- unless $assembly_template_id.nil?
42
- output = run_from_dtk_shell("assembly-template #{$assembly_template_id} info")
43
-
44
- it "should show information about assembly-template with id #{$assembly_template_id}" do
45
- output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
46
- end
47
- end
48
- end
49
- end
50
-
51
- =end
@@ -1,40 +0,0 @@
1
- require 'lib/spec_thor'
2
- require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/component_template', File.dirname(__FILE__))
4
-
5
- include SpecThor
6
-
7
- #Currently disabled because this context does not exist anymore
8
- =begin
9
- describe DTK::Client::ComponentTemplate do
10
- $about = ['none', 'nodes']
11
- $component_template_id = nil
12
-
13
- context '#list' do
14
- $component_template_list = run_from_dtk_shell('component-template list')
15
-
16
- it "should have assembly listing" do
17
- $component_template_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
18
- end
19
-
20
- unless $component_template_list.nil?
21
- unless $component_template_list['data'].nil?
22
- $component_template_id = $component_template_list['data'].first['id'] unless $component_template_list['data'].empty?
23
- end
24
- end
25
- end
26
-
27
- context "#list/command" do
28
- unless $component_template_id.nil?
29
- $about.each do |type|
30
- output = run_from_dtk_shell("component-template #{$component_template_id} list #{type}")
31
-
32
- it "should list all #{type} for component-template with id #{$component_template_id}" do
33
- output.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
34
- end
35
- end
36
- end
37
- end
38
-
39
- end
40
- =end
data/spec/module_spec.rb DELETED
@@ -1,35 +0,0 @@
1
- require 'lib/spec_thor'
2
- require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/component_module', File.dirname(__FILE__))
4
-
5
- include SpecThor
6
-
7
- describe DTK::Client::ComponentModule do
8
- $module_id = nil
9
-
10
- #list all assemblies and take one assembly_id
11
- context '#list' do
12
- $module_list = run_from_dtk_shell('component-module list')
13
-
14
- it "should have module listing" do
15
- $module_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
16
- end
17
-
18
- unless $module_list.nil?
19
- unless $module_list['data'].nil?
20
- $module_id = $module_list['data'].first['id'] unless $module_list['data'].empty?
21
- end
22
- end
23
- end
24
-
25
- context "#list/command" do
26
- unless $module_id.nil?
27
- output = run_from_dtk_shell("component-module #{$module_id} list-components")
28
-
29
- it "should list all components for module with id #{$module_id}" do
30
- $module_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
31
- end
32
- end
33
- end
34
-
35
- end
data/spec/node_spec.rb DELETED
@@ -1,43 +0,0 @@
1
- require 'lib/spec_thor'
2
- require File.expand_path('../lib/require_first', File.dirname(__FILE__))
3
- require File.expand_path('../lib/commands/thor/node', File.dirname(__FILE__))
4
-
5
- include SpecThor
6
-
7
- #Currently disabled because this context does not exist anymore
8
- =begin
9
- describe DTK::Client::Node do
10
- $about = ['components', 'attributes']
11
- $node_id = nil
12
-
13
- #list all assemblies and take one assembly_id
14
- context '#list' do
15
- $node_list = run_from_dtk_shell('node list')
16
-
17
- it "should list all nodes" do
18
- $node_list.to_s.should match(/(ok|status|empty|INFO|WARNING|name|id)/)
19
- end
20
-
21
- unless $node_list.nil?
22
- unless $node_list['data'].nil?
23
- $node_id = $node_list['data'].first['id'] unless $node_list['data'].empty?
24
- end
25
- end
26
- end
27
-
28
- #current dtk-client code for this test is not implemented
29
-
30
- # context "#list/command" do
31
- # unless $node_id.nil?
32
- # $about.each do |type|
33
- # output = run_from_dtk_shell("node #{$node_id} list #{type}")
34
-
35
- # it "should list all #{type} for node with id #{$node_id}" do
36
- # output.to_s.should match(/(ok|status|id|name|empty|error|WARNING)/)
37
- # end
38
- # end
39
- # end
40
- # end
41
-
42
- end
43
- =end