pd-blender 0.1.0 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|