nodespec 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/nodespec.rb +37 -0
  3. metadata +160 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 57c0f37cdfa2d10303d3cb2dc3d9e9e5c876a0a9
4
+ data.tar.gz: e72c8e33cc8b5b7d9a3d057c9d500fbb9fea23f6
5
+ SHA512:
6
+ metadata.gz: ceb0788c03021d99abf02f5ee2e77cc66c9ca2b5aa4295fe1aa76a62c82b8ad9487e45125a2a5328c0192ae7082458d1d57e707941e6d37bc828db1377a68715
7
+ data.tar.gz: b4a72951493d531747a42f014d90cb9c686f35ac776beea71b56b20bb29f570c5abc4382af602a1136400146066f621620d95d61c45d94a2f7a102caa4a98e91
data/lib/nodespec.rb ADDED
@@ -0,0 +1,37 @@
1
+ require 'rspec'
2
+
3
+ require 'serverspec'
4
+ require 'nodespec/node_configurations'
5
+ require 'nodespec/run_options'
6
+ require 'nodespec/provisioning'
7
+
8
+ module NodeSpec
9
+ class << self
10
+ attr_reader :current_node
11
+ def set_current_node(name, options)
12
+ @current_node = NodeConfigurations.instance.get(name, options)
13
+ yield(@current_node) if block_given?
14
+ end
15
+ end
16
+ end
17
+
18
+ RSpec.configure do |config|
19
+ config.before :all do |eg|
20
+ if eg.class.metadata.key?(:nodespec)
21
+ NodeSpec.set_current_node(eg.class.description, eg.class.metadata[:nodespec]) do |node|
22
+ config.os = node.os
23
+ node.communicator.bind_to(config)
24
+ end
25
+ end
26
+ end
27
+
28
+ config.before :each do
29
+ subject_type = subject.class.name.rpartition('::').first
30
+ if subject_type == Serverspec::Type.name
31
+ subject.extend SpecInfra::Helper.const_get(NodeSpec.current_node.backend)
32
+ subject.extend SpecInfra::Helper.const_get(NodeSpec.current_node.os || 'DetectOS')
33
+ end
34
+ end
35
+
36
+ config.include(NodeSpec::Provisioning)
37
+ end
metadata ADDED
@@ -0,0 +1,160 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nodespec
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.8
5
+ platform: ruby
6
+ authors:
7
+ - Silvio Montanari
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-ssh
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: serverspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: specinfra
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 1.18.4
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 1.18.4
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: aws-sdk
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: winrm
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: bundler
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: |
126
+ This gem sits on top of Serverspec and features:
127
+ - Supports different os types (Windows/UN*X) and backends (SSH, WinRM) at the same time.
128
+ - Supports testing against Vagrant boxes and Amazon EC2 instances
129
+ - Ability to run provisioning instructions (chef, puppet, ansible, shell) as part of the test setup.
130
+ email:
131
+ executables: []
132
+ extensions: []
133
+ extra_rdoc_files: []
134
+ files:
135
+ - lib/nodespec.rb
136
+ homepage:
137
+ licenses: []
138
+ metadata: {}
139
+ post_install_message:
140
+ rdoc_options: []
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: 1.9.3
148
+ required_rubygems_version: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ requirements: []
154
+ rubyforge_project:
155
+ rubygems_version: 2.2.2
156
+ signing_key:
157
+ specification_version: 4
158
+ summary: RSpec style tests for multiple nodes/server instances with support for provisioning
159
+ instructions
160
+ test_files: []