codestrap 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/README.md +2 -2
  4. data/codestrap.gemspec +11 -2
  5. data/lib/codestrap.rb +96 -0
  6. data/lib/codestrap/cli.rb +11 -1
  7. data/lib/codestrap/config.rb +18 -8
  8. data/lib/codestrap/version.rb +1 -1
  9. metadata +47 -222
  10. data/.gitignore +0 -20
  11. data/.travis.yml +0 -4
  12. data/Gemfile +0 -6
  13. data/LICENSE.txt +0 -13
  14. data/Rakefile +0 -51
  15. data/config/projects/codestrap.rb +0 -22
  16. data/config/software/codestrap.rb +0 -20
  17. data/config/software/ruby.rb +0 -247
  18. data/config/software/zlib.rb +0 -86
  19. data/features/client.feature +0 -99
  20. data/features/fixtures/client/home/codestrap/bin/.empty +0 -0
  21. data/features/fixtures/client/home/codestrap/content/bash.erb +0 -3
  22. data/features/fixtures/client/home/codestrap/content/gem/dir/file +0 -0
  23. data/features/fixtures/client/home/codestrap/content/gem/dir/template +0 -3
  24. data/features/fixtures/client/home/codestrap/content/gem/file +0 -1
  25. data/features/fixtures/client/home/codestrap/content/gem/template +0 -3
  26. data/features/fixtures/client/home/codestrap/content/local_remote.erb +0 -1
  27. data/features/fixtures/client/home/codestrap/content/local_remote/dir/file +0 -0
  28. data/features/fixtures/client/home/codestrap/content/local_remote/dir/template +0 -3
  29. data/features/fixtures/client/home/codestrap/content/local_remote/file +0 -1
  30. data/features/fixtures/client/home/codestrap/content/local_remote/template +0 -3
  31. data/features/fixtures/client/home/codestrap/objects/local.json +0 -3
  32. data/features/fixtures/client/output/.empty +0 -0
  33. data/features/fixtures/client/var/lib/codestrap/bin/.empty +0 -0
  34. data/features/fixtures/client/var/lib/codestrap/content/bashremote.erb +0 -3
  35. data/features/fixtures/client/var/lib/codestrap/content/gemremote/dir/file +0 -0
  36. data/features/fixtures/client/var/lib/codestrap/content/gemremote/dir/template +0 -3
  37. data/features/fixtures/client/var/lib/codestrap/content/gemremote/file +0 -0
  38. data/features/fixtures/client/var/lib/codestrap/content/gemremote/template +0 -3
  39. data/features/fixtures/client/var/lib/codestrap/content/remote_local.erb +0 -1
  40. data/features/fixtures/client/var/lib/codestrap/content/remote_local/dir/file +0 -0
  41. data/features/fixtures/client/var/lib/codestrap/content/remote_local/dir/template +0 -3
  42. data/features/fixtures/client/var/lib/codestrap/content/remote_local/file +0 -1
  43. data/features/fixtures/client/var/lib/codestrap/content/remote_local/template +0 -3
  44. data/features/fixtures/client/var/lib/codestrap/content/remote_remote.erb +0 -1
  45. data/features/fixtures/client/var/lib/codestrap/content/remote_remote/dir/file +0 -0
  46. data/features/fixtures/client/var/lib/codestrap/content/remote_remote/dir/template +0 -3
  47. data/features/fixtures/client/var/lib/codestrap/content/remote_remote/file +0 -0
  48. data/features/fixtures/client/var/lib/codestrap/content/remote_remote/template +0 -3
  49. data/features/fixtures/client/var/lib/codestrap/objects/remote.json +0 -3
  50. data/features/fixtures/logging/home/logging/codestrap/bin/stubdirectory/.empty +0 -0
  51. data/features/fixtures/logging/home/logging/codestrap/bin/stubnotlink +0 -0
  52. data/features/fixtures/logging/home/logging/codestrap/content/.empty +0 -0
  53. data/features/fixtures/logging/home/logging/codestrap/objects/.empty +0 -0
  54. data/features/fixtures/server/mixed/var/lib/stub/content/address.erb +0 -3
  55. data/features/fixtures/server/mixed/var/lib/stub/content/cell.erb +0 -3
  56. data/features/fixtures/server/mixed/var/lib/stub/content/email.erb +0 -3
  57. data/features/fixtures/server/mixed/var/lib/stub/content/mobile.erb +0 -3
  58. data/features/fixtures/server/mixed/var/lib/stub/content/name.erb +0 -3
  59. data/features/fixtures/server/mixed/var/lib/stub/content/phone.erb +0 -3
  60. data/features/fixtures/server/mixed/var/lib/stub/content/puppetmodule/Modulefile +0 -12
  61. data/features/fixtures/server/mixed/var/lib/stub/content/puppetmodule/README +0 -17
  62. data/features/fixtures/server/mixed/var/lib/stub/content/puppetmodule/manifests/init.pp +0 -42
  63. data/features/fixtures/server/mixed/var/lib/stub/content/puppetmodule/spec/spec_helper.rb +0 -18
  64. data/features/fixtures/server/mixed/var/lib/stub/content/puppetmodule/tests/init.pp +0 -13
  65. data/features/fixtures/server/mixed/var/lib/stub/objects/contact.json +0 -8
  66. data/features/fixtures/server/mixed/var/lib/stub/objects/shadow/contact.json +0 -8
  67. data/features/fixtures/strap/projects/etc/.empty +0 -0
  68. data/features/fixtures/strap/projects/home/user/dir/bin/.empty +0 -0
  69. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/Modulefile +0 -12
  70. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/README +0 -17
  71. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/manifests/:stub:project.name:/subclass.pp +0 -3
  72. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/manifests/init.pp +0 -42
  73. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/spec/spec_helper.rb +0 -18
  74. data/features/fixtures/strap/projects/home/user/dir/content/puppetmodule/tests/init.pp +0 -13
  75. data/features/fixtures/strap/projects/home/user/dir/objects/contact.json +0 -8
  76. data/features/fixtures/strap/projects/home/user/dir/objects/shadow/contact.json +0 -8
  77. data/features/fixtures/strap/projects/output/.empty +0 -0
  78. data/features/fixtures/stub/contact/etc/.empty +0 -0
  79. data/features/fixtures/stub/contact/home/user/dir/bin/.empty +0 -0
  80. data/features/fixtures/stub/contact/home/user/dir/content/address.erb +0 -3
  81. data/features/fixtures/stub/contact/home/user/dir/content/cell.erb +0 -3
  82. data/features/fixtures/stub/contact/home/user/dir/content/email.erb +0 -3
  83. data/features/fixtures/stub/contact/home/user/dir/content/mobile.erb +0 -3
  84. data/features/fixtures/stub/contact/home/user/dir/content/name.erb +0 -3
  85. data/features/fixtures/stub/contact/home/user/dir/content/phone.erb +0 -3
  86. data/features/fixtures/stub/contact/home/user/dir/objects/contact.json +0 -8
  87. data/features/fixtures/stub/contact/home/user/dir/objects/shadow/contact.json +0 -8
  88. data/features/fixtures/stub/contact/output/.empty +0 -0
  89. data/features/fixtures/stub/date/etc/.empty +0 -0
  90. data/features/fixtures/stub/date/home/user/stub/bin/.empty +0 -0
  91. data/features/fixtures/stub/date/home/user/stub/content/day.erb +0 -3
  92. data/features/fixtures/stub/date/home/user/stub/content/hour.erb +0 -3
  93. data/features/fixtures/stub/date/home/user/stub/content/minute.erb +0 -3
  94. data/features/fixtures/stub/date/home/user/stub/content/month.erb +0 -3
  95. data/features/fixtures/stub/date/home/user/stub/content/second.erb +0 -3
  96. data/features/fixtures/stub/date/home/user/stub/content/year.erb +0 -3
  97. data/features/fixtures/stub/date/home/user/stub/objects/.empty +0 -0
  98. data/features/fixtures/stub/date/output/.empty +0 -0
  99. data/features/fixtures/stub/script/etc/.empty +0 -0
  100. data/features/fixtures/stub/script/home/user/stub/bin/.empty +0 -0
  101. data/features/fixtures/stub/script/home/user/stub/content/credentials.erb +0 -6
  102. data/features/fixtures/stub/script/home/user/stub/objects/credentials.rb +0 -11
  103. data/features/fixtures/stub/script/output/.empty +0 -0
  104. data/features/logging.feature +0 -39
  105. data/features/object_scripts.feature +0 -13
  106. data/features/server.feature +0 -36
  107. data/features/step_definitions/client_steps.rb +0 -99
  108. data/features/step_definitions/logging_steps.rb +0 -65
  109. data/features/step_definitions/object_scripts_steps.rb +0 -26
  110. data/features/step_definitions/server_steps.rb +0 -112
  111. data/features/step_definitions/strap_steps.rb +0 -69
  112. data/features/step_definitions/stub_option_simple_steps.rb +0 -31
  113. data/features/step_definitions/stub_steps.rb +0 -94
  114. data/features/strap.feature +0 -34
  115. data/features/stub.feature +0 -157
  116. data/features/stub_option_simple.feature +0 -14
  117. data/features/stub_packages.feature +0 -15
  118. data/features/support/env.rb +0 -197
  119. data/omnibus.rb +0 -53
  120. data/package-scripts/codestrap/postinst +0 -25
  121. data/package-scripts/codestrap/postrm +0 -17
  122. data/package-scripts/codestrap/preinst +0 -7
  123. data/package-scripts/codestrap/prerm +0 -15
  124. data/resources/codestrap/pkg/background.png +0 -0
  125. data/resources/codestrap/pkg/distribution.xml.erb +0 -22
  126. data/resources/codestrap/pkg/license.html.erb +0 -202
  127. data/resources/codestrap/pkg/welcome.html.erb +0 -7
@@ -1,112 +0,0 @@
1
- #Given(/^server environment variables "([^"]*)"$/) do |etc|
2
- # ENV['CODESTRAP_ETC'] = @etc = etc
3
- #end
4
-
5
- Given(/^server tmp directory$/) do
6
- unless @server_tmp
7
- @server_tmp = Dir.mktmpdir
8
- end
9
- end
10
-
11
- And(/^server fixtures file "([^"]*)" with:$/) do |yaml, text|
12
- @server_fixture_file = File.join(@server_tmp, yaml)
13
- file = File.open(@server_fixture_file, 'w')
14
- file.write(text)
15
- file.close
16
- @fixture_hash = YAML.load(text)
17
- end
18
-
19
- And(/^server fixture "([^"]+)"$/) do |number|
20
- @fixture_idx = number.to_i
21
- @fixture_cur = @fixture_hash[@fixture_idx]
22
- @type = @fixture_cur['type']
23
- @template = @fixture_cur['template']
24
- sf_content = @fixture_cur['codestrapfile']
25
- sf_path = File.join(@server_tmp, 'Codestrapfile')
26
- sf_file = File.open(sf_path, 'w')
27
- sf_file.write(sf_content)
28
- sf_file.close
29
- ENV['CODESTRAPFILE']=sf_path
30
- end
31
-
32
- And(/^server capbility rest "(\/rest\/capability\.json)" is valid$/) do |url|
33
- get url
34
- expect(last_response.ok?).to be_truthy
35
- @capability = JSON.parse(last_response.body)
36
- end
37
-
38
- And(/^server object rest "(\/rest\/objects\.json)" is valid$/) do |url|
39
- get url
40
- expect(last_response.ok?).to be_truthy
41
- @codestrap_objects = JSON.parse(last_response.body)
42
- end
43
-
44
- And(/^server stub metadata rest "(\/rest\/stub\/metadata\.json)" is valid$/) do |url|
45
- get url
46
- expect(last_response.ok?).to be_truthy
47
- @codestrap_metadata = JSON.parse(last_response.body)
48
- end
49
-
50
- And(/^server strap metadata rest "(\/rest\/strap\/metadata\.json)" is valid$/) do |url|
51
- get url
52
- expect(last_response.ok?).to be_truthy
53
- @strap_metadata = JSON.parse(last_response.body)
54
- end
55
-
56
- And(/^server list contains the correct keys$/) do
57
- case @type
58
- when 'stub'
59
- expect(@codestrap_metadata).to have_key(@template)
60
- when 'strap'
61
- expect(@strap_metadata).to have_key(@template)
62
- else
63
- raise 'Error unknown type'
64
- end
65
- end
66
-
67
- Then(/^server file should contain the correct content$/) do
68
- if @type == 'stub'
69
- get @capability['urls']['stub']['file'] + '/' + @template
70
-
71
- potentials = Array(Codestrapfile.server.content).map { |dir| File.join(dir,@template + '.erb') }
72
- file = potentials.select { |f| File.exist? f }.first
73
- expect(file).to be_truthy
74
-
75
- file_sum = File.read(file)
76
- body_sum = last_response.body
77
-
78
- expect(body_sum).to eql(file_sum)
79
- end
80
- if @type == 'strap'
81
- # Fetch metadata
82
- get @capability['urls']['strap']['metadata']
83
- expect(last_response.ok?).to be_truthy
84
- metadata = JSON.parse(last_response.body)[@template]
85
-
86
- tmpdir = Dir.mktmpdir
87
-
88
- # Make directories
89
- metadata['files'].each do |file|
90
- next unless file['ftype'].eql?('directory')
91
- FileUtils.mkdir_p File.join(tmpdir, file['file'])
92
- end
93
-
94
- # Make files
95
- metadata['files'].each do |file|
96
- next unless file['ftype'] == 'file'
97
- get @capability['urls']['strap']['project'] + "/#{@template}/" + file['file']
98
- expect(last_response.ok?).to be_truthy
99
- File.open(File.join(tmpdir, file['file']), 'w') do |fh|
100
- fh.write last_response.body
101
- end
102
- end
103
-
104
- potentials = Array(Codestrapfile.server.content).map { |dir| File.join(dir,@template) }
105
- strap_dir = potentials.select { |f| File.directory? f }.first
106
- expect(diff_tree?(strap_dir, tmpdir)).to eq(0)
107
- end
108
- end
109
-
110
- And(/^server returns the right http code$/) do
111
- expect(last_response.ok?).to be_truthy
112
- end
@@ -1,69 +0,0 @@
1
- Given(/^a boilerplate path directory "([^"]*)"$/) do |path|
2
- @testtools.path_reset
3
- @testtools.path_unshift(path)
4
- end
5
-
6
- And(/^a boilerplate fixture (\d+)$/) do |num|
7
- @fixture_idx = num.to_i
8
- end
9
-
10
- And(/^a boilerplate tmp directory$/) do
11
- unless @strap_tmpdir
12
- @strap_tmpdir = Dir.mktmpdir
13
- end
14
- end
15
-
16
- And(/^a boilerplate codestrapfile named "([^"]*)" with:$/) do |codestrapfile, text|
17
- codestrapfile_path = File.join(@strap_tmpdir, codestrapfile)
18
- unless File.exist? codestrapfile_path
19
- file = File.new(codestrapfile_path, 'w')
20
- file.write(text)
21
- file.close
22
- end
23
- ENV['CODESTRAPFILE']=codestrapfile_path
24
- end
25
-
26
- And(/^a boilerplate fixtures file named "([^"]*)" with:$/) do |json, text|
27
- @fixtures = File.join(@strap_tmpdir, json)
28
- unless File.exist? @fixtures
29
- file = File.open(@fixtures, 'w')
30
- file.write(text)
31
- file.close
32
- end
33
- @fixture_hash = YAML.load(File.read(@fixtures))[@fixture_idx]
34
- @clear = @fixture_hash['clear'] == 'true'
35
- @command = @fixture_hash['command']
36
- @output = @fixture_hash['output']
37
- end
38
-
39
- When(/^boilerplate generate command is executed$/) do
40
- capture = Capture::Cli.inline do
41
- args = %w(strap --generate)
42
- Codestrap::Core.new(args).execute!
43
- end
44
- expect(capture.object_exit.status).to eql(0)
45
- end
46
-
47
- And(/^boilerplate command is run$/) do
48
- if @clear
49
- FileUtils.rm_rf @output
50
- end
51
- @capture = Capture::Cli.inline do
52
- args = [@command, @output]
53
- Codestrap::Core.new(args).execute!
54
- end
55
- expect(File.directory?(@output)).to be_truthy
56
- end
57
-
58
- Then(/^boilerplate contains interpolated values$/) do
59
- Tools::Test.contents(@fixture_hash['test']) do |content, str, bool|
60
- case bool
61
- when 'true'
62
- expect(content).to include(str)
63
- when 'false'
64
- expect(content).not_to include(str)
65
- else
66
- fail "Expecting boolean got #{bool.to_s}"
67
- end
68
- end
69
- end
@@ -1,31 +0,0 @@
1
- When(/^the command "(strap)" with option "([^"]+)" is executed/) do |cmd, opt|
2
- @testtools.path_reset
3
- @testtools.path_unshift(BINDIR)
4
- @cap_simple = Capture::Cli.inline do
5
- args = [cmd, opt]
6
- Codestrap::Core.new(args).execute!
7
- end
8
- end
9
-
10
- Then(/^the option output is greater then (\d+) bytes$/) do |size|
11
- expect(@cap_simple.stdout.length).to be > size.to_i
12
- end
13
-
14
- And(/^the option option exit status should be (\d+)$/) do |status|
15
- expect(@cap_simple.object_exit.status.to_i).to eq(status.to_i)
16
- end
17
-
18
- When(/^the version is requested through the "(.*?)" option \-\-version is provided$/) do |cmd|
19
- @cap_version = Capture::Cli.new(true, false).inline do
20
- args = [cmd, '--version']
21
- Codestrap::Core.new(args).execute!
22
- end
23
- end
24
-
25
- Then(/^the version option exit status is (\d+)$/) do |status|
26
- expect(@cap_version.object_exit.status).to eq(status.to_i)
27
- end
28
-
29
- And(/^a version number is outputed$/) do
30
- expect(@cap_version.stdout.chomp).to eql(Codestrap::VERSION)
31
- end
@@ -1,94 +0,0 @@
1
- Given(/^a stub tmp directory$/) do
2
- unless @codestrap_tmp
3
- @codestrap_tmp = Dir.mktmpdir
4
- end
5
- end
6
-
7
- And(/^a stub fixtures file "([^"]*)" with:$/) do |yaml, text|
8
- @codestrap_fixtures = File.join(@codestrap_tmp, yaml)
9
- file = File.open(@codestrap_fixtures, 'w')
10
- file.write(text)
11
- file.close
12
- @fixture_hash = YAML.load(text)
13
- end
14
-
15
- And(/^a stub fixture "([^"]+)"$/) do |command|
16
- @command = command
17
- @fixture_cur = @fixture_hash[@command]
18
- @links = @fixture_cur['links']
19
- @clear = @fixture_cur['clear']
20
- @output = @fixture_cur['output']
21
- @test = @fixture_cur['test']
22
- sf_content = @fixture_cur['codestrapfile']
23
- sf_path = File.join(@codestrap_tmp, 'Codestrapfile')
24
- sf_file = File.open(sf_path, 'w')
25
- sf_file.write sf_content
26
- sf_file.close
27
- ENV['CODESTRAPFILE']=sf_path
28
- end
29
-
30
- And(/^stub env variable for PATH$/) do
31
- @testtools.path_reset
32
- @testtools.path_unshift(@links)
33
- end
34
-
35
- #And(/^codestrap env variable CODESTRAP_CONF="([^"]*)"$/) do |codestrapconf|
36
- # ENV['CODESTRAP_CONF'] = codestrapconf
37
- #end
38
- #
39
- #And(/^codestrap env variable CODESTRAP_ETC="([^"]+)"$/) do |codestrapetc|
40
- # ENV['CODESTRAP_ETC'] = @codestrapetc = codestrapetc
41
- #end
42
- #
43
- #And(/^codestrap env variable HOME="(codestrap\/contact\/home\/user)"$/) do |home|
44
- # ENV['HOME'] = @codestraphome = home
45
- #end
46
- #
47
- #And(/^a interpolation template named "([^"]*)"$/) do |templatefile|
48
- # templatefile =~ /(.erb)$/
49
- # suffix = $1 if $1
50
- # @basename = File.basename(templatefile)
51
- # FileUtils.install File.join(FIXTURES, templatefile), File.join(@codestrapetc, @basename)
52
- # if suffix
53
- # @cmd = 'codestrap' + File.basename(templatefile, suffix)
54
- # else
55
- # @cmd = 'codestrap' + File.basename(templatefile)
56
- # end
57
- #end
58
-
59
- When(/^generate$/) do
60
- @cap_generate_interpolate_links = Capture::Cli.inline do
61
- args = %w(strap --generate)
62
- Codestrap::Core.new(args).execute!
63
- end
64
- end
65
-
66
- And(/^clear previous files$/) do
67
- if @clear and File.exist? @output
68
- File.unlink @output
69
- end
70
- end
71
-
72
- And(/^template is run with output$/) do
73
- @cap_interpolate_contact_output = Capture::Cli.inline do
74
- args = [@command, @output]
75
- Codestrap::Core.new(args).execute!
76
- end
77
- end
78
-
79
- Then(/^contains interpolated values$/) do
80
- @test.each_pair do |str, bool|
81
- case bool
82
- when true
83
- expect(File.read(@output)).to include(str)
84
- when false
85
- expect(File.read(@output)).not_to include(str)
86
- else
87
- fail 'Invalid check'
88
- end
89
- end
90
- end
91
-
92
- And(/^the exit status is (\d+)$/) do |status|
93
- expect(@cap_interpolate_contact_output.object_exit.status.to_i).to eq(status.to_i)
94
- end
@@ -1,34 +0,0 @@
1
- Feature: Supports straps
2
- As a user I want a command that supports creation
3
- of a software project structure containing template output
4
- that has interpolated objects
5
-
6
- Scenario Outline: create a new project
7
- Given a boilerplate path directory "strap/projects/home/user/dir/bin"
8
- And a boilerplate fixture <number>
9
- And a boilerplate tmp directory
10
- And a boilerplate codestrapfile named "Codestrapfile" with:
11
- """
12
- Codestrapfile.config do |conf|
13
- conf.local.base = ['strap/projects/home/user/dir']
14
- end
15
- """
16
- And a boilerplate fixtures file named "fixtures.yaml" with:
17
- """
18
- ---
19
- - clear: 'true'
20
- command: strappuppetmodule
21
- output: strap/projects/output/newpuppet
22
- test:
23
- strap/projects/output/newpuppet/Modulefile:
24
- Michonne: 'true'
25
- strap/projects/output/newpuppet/manifests/init.pp:
26
- Michonne: 'true'
27
- dpgrps@gmail.com: 'true'
28
- """
29
- When boilerplate generate command is executed
30
- And boilerplate command is run
31
- Then boilerplate contains interpolated values
32
- Examples:
33
- | number |
34
- | 0 |
@@ -1,157 +0,0 @@
1
- Feature: Supports stubs
2
- As a user I want a command that supports file stubs
3
- of text files
4
- that contain interpolated objects
5
-
6
- Scenario Outline: stub creation
7
- Given a stub tmp directory
8
- And a stub fixtures file "fixtures.yaml" with:
9
- """
10
- stubaddress:
11
- clear: true
12
- links: stub/contact/home/user/dir/bin
13
- output: stub/contact/output/address
14
- codestrapfile: |
15
- Codestrapfile.config do |conf|
16
- conf.local.base = ['stub/contact/home/user/dir']
17
- end
18
- test:
19
- '10 Downing Street': true
20
- stubcell:
21
- clear: true
22
- links: stub/contact/home/user/dir/bin
23
- output: stub/contact/output/cell
24
- codestrapfile: |
25
- Codestrapfile.config do |conf|
26
- conf.local.base = ['stub/contact/home/user/dir']
27
- end
28
- test:
29
- '0555 5555 5555': true
30
- stubemail:
31
- clear: true
32
- links: stub/contact/home/user/dir/bin
33
- output: stub/contact/output/email
34
- codestrapfile: |
35
- Codestrapfile.config do |conf|
36
- conf.local.base = ['stub/contact/home/user/dir']
37
- end
38
- test:
39
- 'dpgrps@gmail.com': true
40
- stubmobile:
41
- clear: true
42
- links: stub/contact/home/user/dir/bin
43
- output: stub/contact/output/mobile
44
- codestrapfile: |
45
- Codestrapfile.config do |conf|
46
- conf.local.base = ['stub/contact/home/user/dir']
47
- end
48
- test:
49
- '0444 4444 4444': true
50
- stubname:
51
- clear: true
52
- links: stub/contact/home/user/dir/bin
53
- output: stub/contact/output/name
54
- codestrapfile: |
55
- Codestrapfile.config do |conf|
56
- conf.local.base = ['stub/contact/home/user/dir']
57
- end
58
- test:
59
- 'Full Name': true
60
- stubphone:
61
- clear: true
62
- links: stub/contact/home/user/dir/bin
63
- output: stub/contact/output/phone
64
- codestrapfile: |
65
- Codestrapfile.config do |conf|
66
- conf.local.base = ['stub/contact/home/user/dir']
67
- end
68
- test:
69
- '7777 7777': true
70
- stubyear:
71
- clear: true
72
- links: stub/date/home/user/stub/bin
73
- output: stub/date/output/year
74
- codestrapfile: |
75
- Codestrapfile.config do |conf|
76
- conf.local.base = ['stub/date/home/user/stub']
77
- end
78
- test: {}
79
- stubmonth:
80
- clear: true
81
- links: stub/date/home/user/stub/bin
82
- output: stub/date/output/month
83
- codestrapfile: |
84
- Codestrapfile.config do |conf|
85
- conf.local.base = ['stub/date/home/user/stub']
86
- end
87
- test: {}
88
- stubday:
89
- clear: true
90
- links: stub/date/home/user/stub/bin
91
- output: stub/date/output/day
92
- codestrapfile: |
93
- Codestrapfile.config do |conf|
94
- conf.local.base = ['stub/date/home/user/stub']
95
- end
96
- test: {}
97
- stubhour:
98
- clear: true
99
- links: stub/date/home/user/stub/bin
100
- output: stub/date/output/hour
101
- codestrapfile: |
102
- Codestrapfile.config do |conf|
103
- conf.local.base = ['stub/date/home/user/stub']
104
- end
105
- test: {}
106
- stubminute:
107
- clear: true
108
- links: stub/date/home/user/stub/bin
109
- output: stub/date/output/minute
110
- codestrapfile: |
111
- Codestrapfile.config do |conf|
112
- conf.local.base = ['stub/date/home/user/stub']
113
- end
114
- test: {}
115
- stubsecond:
116
- clear: true
117
- links: stub/date/home/user/stub/bin
118
- output: stub/date/output/second
119
- codestrapfile: |
120
- Codestrapfile.config do |conf|
121
- conf.local.base = ['stub/date/home/user/stub']
122
- end
123
- test: {}
124
- stubcredentials:
125
- clear: true
126
- links: stub/script/home/user/stub/bin
127
- output: stub/script/output/credentials
128
- codestrapfile: |
129
- Codestrapfile.config do |conf|
130
- conf.local.base = ['stub/script/home/user/stub']
131
- end
132
- test:
133
- 'noreply@nodomain.com': true
134
- 'secret': true
135
- """
136
- And a stub fixture "<command>"
137
- And stub env variable for PATH
138
- When generate
139
- And clear previous files
140
- And template is run with output
141
- Then contains interpolated values
142
- And the exit status is 0
143
- Examples:
144
- | command |
145
- | stubaddress |
146
- | stubcell |
147
- | stubemail |
148
- | stubmobile |
149
- | stubname |
150
- | stubphone |
151
- | stubyear |
152
- | stubmonth |
153
- | stubday |
154
- | stubhour |
155
- | stubminute |
156
- | stubsecond |
157
- | stubcredentials |