pd-blender 0.1.0 → 0.2
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 +4 -4
- data/lib/blender/drivers/scp.rb +2 -2
- data/lib/blender/tasks/scp.rb +18 -1
- data/lib/blender/version.rb +1 -1
- data/spec/blender/drivers/scp_spec.rb +33 -0
- data/spec/blender/dsl_spec.rb +0 -31
- data/spec/blender/tasks/scp_spec.rb +17 -0
- data/spec/spec_helper.rb +1 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d2a8ce92f7b3b1e822aef383d7b8877be17b289
|
4
|
+
data.tar.gz: d6e102dfd4f9d92ef2c2a6e619f490597846bc05
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 540d5d79754dc7edaca79ad4882a73e2f16badd2dd2dcc3a2cdff5da055d722993b783536c4a9bb9b0f8b5b0098ef56adf351e5437e39234915353f98dd0b83b
|
7
|
+
data.tar.gz: 0a8af7f7576af424751136e9f4aee4709e3c9376e58f43ef4eb649d5d2ddd332f3b6526e513a60367ad69e388365f1e8bce2a75c35ce98e7969bc80f0d8392f6
|
data/lib/blender/drivers/scp.rb
CHANGED
@@ -50,10 +50,10 @@ module Blender
|
|
50
50
|
begin
|
51
51
|
case command.direction
|
52
52
|
when :upload
|
53
|
-
session.scp.upload!(command.source, command.target)
|
53
|
+
session.scp.upload!(command.source, command.target, command.options)
|
54
54
|
ExecOutput.new(0, '', '')
|
55
55
|
when :download
|
56
|
-
session.scp.download!(command.source, command.target)
|
56
|
+
session.scp.download!(command.source, command.target, command.options)
|
57
57
|
ExecOutput.new(0, '', '')
|
58
58
|
else
|
59
59
|
ExecOutput.new(-1, '' , "Invalid direction. Can be either :upload or :download. Found:'#{command.direction}'")
|
data/lib/blender/tasks/scp.rb
CHANGED
@@ -22,20 +22,37 @@ module Blender
|
|
22
22
|
module Task
|
23
23
|
class Scp < Blender::Task::Base
|
24
24
|
extend Forwardable
|
25
|
+
|
25
26
|
def_delegators :@command, :direction, :direction=
|
27
|
+
|
26
28
|
def initialize(name, metadata = {})
|
27
29
|
super
|
28
|
-
@command = Struct.new(:direction, :source, :target).new
|
30
|
+
@command = Struct.new(:direction, :source, :target, :options).new
|
29
31
|
@command.target = name
|
30
32
|
@command.source = name
|
33
|
+
@command.options = {}
|
31
34
|
@direction = :upload
|
32
35
|
end
|
36
|
+
|
33
37
|
def from(source)
|
34
38
|
@command.source = source
|
35
39
|
end
|
40
|
+
|
36
41
|
def to(target)
|
37
42
|
@command.target = target
|
38
43
|
end
|
44
|
+
|
45
|
+
def recursive(val)
|
46
|
+
@command.options[:recursive] = val
|
47
|
+
end
|
48
|
+
|
49
|
+
def preserve(val)
|
50
|
+
@command.options[:preserve] = val
|
51
|
+
end
|
52
|
+
|
53
|
+
def chunk_size(val)
|
54
|
+
@command.options[:chunk_size] = val
|
55
|
+
end
|
39
56
|
end
|
40
57
|
end
|
41
58
|
end
|
data/lib/blender/version.rb
CHANGED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Blender do
|
4
|
+
it 'passes scp options' do
|
5
|
+
scp = double('Net::SCP')
|
6
|
+
session = double('Net::SSH::Session', scp: scp, loop: true)
|
7
|
+
expect(Net::SSH).to receive(:start).with('1.2.3.4', 'test-user', password: 'test-password').and_return(session)
|
8
|
+
expect(scp).to receive(:upload!).with('/tmp/from', '/tmp/to', recursive: true)
|
9
|
+
sched = Blender.blend('scp', no_doc: true) do |sched|
|
10
|
+
sched.config(:scp, user: 'test-user', password: 'test-password')
|
11
|
+
sched.members(['1.2.3.4'])
|
12
|
+
sched.scp_upload 'foo' do
|
13
|
+
recursive true
|
14
|
+
from '/tmp/from'
|
15
|
+
to '/tmp/to'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
it '#download' do
|
20
|
+
session = double('Net::SSH::Session', loop: true)
|
21
|
+
scp = double('Net::SSH::Scp')
|
22
|
+
expect(Net::SSH).to receive(:start).with('host1', 'x', password: 'y').and_return(session)
|
23
|
+
expect(session).to receive(:scp).and_return(scp)
|
24
|
+
expect(scp).to receive(:download!).with('/remote/path', '/local/path', {})
|
25
|
+
Blender.blend('test') do |sched|
|
26
|
+
sched.members(['host1'])
|
27
|
+
sched.config(:scp, user: 'x', password: 'y')
|
28
|
+
sched.scp_download '/remote/path' do
|
29
|
+
to '/local/path'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/spec/blender/dsl_spec.rb
CHANGED
@@ -16,35 +16,4 @@ describe '#dsl' do
|
|
16
16
|
allow_any_instance_of(Blender::Driver::Ssh).to receive(:execute)
|
17
17
|
scheduler.run
|
18
18
|
end
|
19
|
-
|
20
|
-
context '#scp' do
|
21
|
-
it '#upload' do
|
22
|
-
session = double('Net::SSH::Session', loop: true)
|
23
|
-
scp = double('Net::SSH::Scp')
|
24
|
-
expect(Net::SSH).to receive(:start).with('host1', 'x', password: 'y').and_return(session)
|
25
|
-
expect(session).to receive(:scp).and_return(scp)
|
26
|
-
expect(scp).to receive(:upload!).with('/local/path', '/remote/path')
|
27
|
-
Blender.blend('test') do |sched|
|
28
|
-
sched.config(:scp, user: 'x', password: 'y')
|
29
|
-
sched.members(['host1'])
|
30
|
-
sched.scp_upload '/remote/path' do
|
31
|
-
from '/local/path'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
35
|
-
it '#download' do
|
36
|
-
session = double('Net::SSH::Session', loop: true)
|
37
|
-
scp = double('Net::SSH::Scp')
|
38
|
-
expect(Net::SSH).to receive(:start).with('host1', 'x', password: 'y').and_return(session)
|
39
|
-
expect(session).to receive(:scp).and_return(scp)
|
40
|
-
expect(scp).to receive(:download!).with('/remote/path', '/local/path')
|
41
|
-
Blender.blend('test') do |sched|
|
42
|
-
sched.members(['host1'])
|
43
|
-
sched.config(:scp, user: 'x', password: 'y')
|
44
|
-
sched.scp_download '/remote/path' do
|
45
|
-
to '/local/path'
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
19
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Blender do
|
4
|
+
it 'passes scp options' do
|
5
|
+
sched = Blender::Scheduler.new('scp')
|
6
|
+
sched.scp_upload 'foo' do
|
7
|
+
recursive true
|
8
|
+
from '/tmp/from'
|
9
|
+
to '/tmp/to'
|
10
|
+
end
|
11
|
+
task = sched.tasks.first
|
12
|
+
expect(task.command.target).to eq('/tmp/to')
|
13
|
+
expect(task.command.source).to eq('/tmp/from')
|
14
|
+
expect(task.command.options[:recursive]).to eq(true)
|
15
|
+
expect(task.command.direction).to eq(:upload)
|
16
|
+
end
|
17
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pd-blender
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ranjib Dey
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -264,6 +264,7 @@ files:
|
|
264
264
|
- spec/blender/blender_rspec.rb
|
265
265
|
- spec/blender/config_spec.rb
|
266
266
|
- spec/blender/discovery_spec.rb
|
267
|
+
- spec/blender/drivers/scp_spec.rb
|
267
268
|
- spec/blender/drivers/ssh_multi_spec.rb
|
268
269
|
- spec/blender/drivers/ssh_spec.rb
|
269
270
|
- spec/blender/dsl_spec.rb
|
@@ -273,6 +274,7 @@ files:
|
|
273
274
|
- spec/blender/scheduled_job_spec.rb
|
274
275
|
- spec/blender/scheduler_spec.rb
|
275
276
|
- spec/blender/scheduling_strategies/default_spec.rb
|
277
|
+
- spec/blender/tasks/scp_spec.rb
|
276
278
|
- spec/blender/utils/refinements_spec.rb
|
277
279
|
- spec/blender/utils/thread_pool_spec.rb
|
278
280
|
- spec/blender_spec.rb
|
@@ -306,6 +308,7 @@ test_files:
|
|
306
308
|
- spec/blender/blender_rspec.rb
|
307
309
|
- spec/blender/config_spec.rb
|
308
310
|
- spec/blender/discovery_spec.rb
|
311
|
+
- spec/blender/drivers/scp_spec.rb
|
309
312
|
- spec/blender/drivers/ssh_multi_spec.rb
|
310
313
|
- spec/blender/drivers/ssh_spec.rb
|
311
314
|
- spec/blender/dsl_spec.rb
|
@@ -315,6 +318,7 @@ test_files:
|
|
315
318
|
- spec/blender/scheduled_job_spec.rb
|
316
319
|
- spec/blender/scheduler_spec.rb
|
317
320
|
- spec/blender/scheduling_strategies/default_spec.rb
|
321
|
+
- spec/blender/tasks/scp_spec.rb
|
318
322
|
- spec/blender/utils/refinements_spec.rb
|
319
323
|
- spec/blender/utils/thread_pool_spec.rb
|
320
324
|
- spec/blender_spec.rb
|