test/extra/deployers/test_fog.rb in nanoc-3.4.1 vs test/extra/deployers/test_fog.rb in nanoc-3.4.2

- old
+ new

@@ -62,6 +62,42 @@ ::Fog.instance_eval { @mocking = false } end end end + def test_run_delete_stray + if_have 'fog' do + # Create deployer + fog = Nanoc::Extra::Deployers::Fog.new( + 'output/', + { + :bucket => 'mybucket', + :provider => 'local', + :local_root => 'mylocalcloud'}) + + # Setup fake local cloud + FileUtils.mkdir_p('mylocalcloud/mybucket') + File.open('mylocalcloud/mybucket/etc', 'w') { |io| io.write('meh-etc') } + File.open('mylocalcloud/mybucket/meow', 'w') { |io| io.write('meh-meow') } + File.open('mylocalcloud/mybucket/bark', 'w') { |io| io.write('meh-bark') } + + # Create site + FileUtils.mkdir_p('output') + File.open('output/meow', 'w') { |io| io.write "I am a cat!" } + File.open('output/bark', 'w') { |io| io.write "I am a dog!" } + + # Create local cloud (but not bucket) + FileUtils.mkdir_p('mylocalcloud') + + # Run + fog.run + + # Check + refute File.file?('mylocalcloud/mybucket/etc') + assert File.file?('mylocalcloud/mybucket/meow') + assert File.file?('mylocalcloud/mybucket/bark') + assert_equal "I am a cat!", File.read('mylocalcloud/mybucket/meow') + assert_equal "I am a dog!", File.read('mylocalcloud/mybucket/bark') + end + end + end