cbf 0.0.2 → 0.0.3

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.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cbf (0.0.2)
4
+ cbf (0.0.3)
5
5
  nokogiri (~> 1.5.0)
6
6
 
7
7
  GEM
@@ -1,3 +1,3 @@
1
1
  module CBF
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -99,7 +99,11 @@ module CBF
99
99
  end
100
100
 
101
101
  def file_abs_path(file)
102
- File.join(file[:location], file[:name])
102
+ name = file[:name]
103
+ if name.nil? || name.empty?
104
+ name = file[:resource].split.join('-') + '-file'
105
+ end
106
+ File.join(file[:location], name)
103
107
  end
104
108
 
105
109
  def generate_user_data(resource_name, executables, params)
@@ -66,4 +66,45 @@ describe 'Heat generator' do
66
66
  properties.must_include 'KeyName'
67
67
  properties['KeyName'].must_equal 'my-key'
68
68
  end
69
+
70
+ it "must ensure all files have filenames" do
71
+ source = {
72
+ :description => 'sample template',
73
+ :parameters => [],
74
+ :resources => [{
75
+ :name => 'my instance',
76
+ :type => :instance,
77
+ :image => 'test-image-id',
78
+ :hardware_profile => 'test-hwp',
79
+ :key_name => 'my-key'
80
+ }],
81
+ :files => [
82
+ {
83
+ :executable => true,
84
+ :resource => 'my instance',
85
+ :location => '/tmp/files',
86
+ :mode => '000755',
87
+ :environment => [],
88
+ },
89
+ {
90
+ :name => 'setup.mysql',
91
+ :executable => false,
92
+ :resource => 'my instance',
93
+ :location => '/tmp/files',
94
+ :mode => '000755',
95
+ :environment => [],
96
+ },
97
+ ],
98
+ }
99
+
100
+ t = JSON.parse(CBF.generate(:heat, source))
101
+ inst = t['Resources']['my instance']
102
+
103
+ # When we specify an executable file, UserData must be present
104
+ inst['Properties'].must_include 'UserData'
105
+
106
+ files = inst['Metadata']['AWS::CloudFormation::Init']['config']['files']
107
+ files.must_include '/tmp/files/my-instance-file'
108
+ files.must_include '/tmp/files/setup.mysql'
109
+ end
69
110
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cbf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-18 00:00:00.000000000 Z
12
+ date: 2013-02-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -92,7 +92,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
92
92
  version: '0'
93
93
  segments:
94
94
  - 0
95
- hash: 289159412579649615
95
+ hash: -957804077981372711
96
96
  requirements: []
97
97
  rubyforge_project:
98
98
  rubygems_version: 1.8.23