alg-backup 3.0.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. data/.gitignore +2 -0
  2. data/.infinity_test +7 -0
  3. data/.rspec +3 -0
  4. data/Gemfile +25 -0
  5. data/Gemfile.lock +101 -0
  6. data/LICENSE.md +24 -0
  7. data/README.md +276 -0
  8. data/backup.gemspec +39 -0
  9. data/bin/backup +260 -0
  10. data/lib/backup.rb +168 -0
  11. data/lib/backup/archive.rb +73 -0
  12. data/lib/backup/cli.rb +50 -0
  13. data/lib/backup/compressor/base.rb +17 -0
  14. data/lib/backup/compressor/gzip.rb +61 -0
  15. data/lib/backup/configuration/base.rb +15 -0
  16. data/lib/backup/configuration/compressor/base.rb +10 -0
  17. data/lib/backup/configuration/compressor/gzip.rb +23 -0
  18. data/lib/backup/configuration/database/base.rb +18 -0
  19. data/lib/backup/configuration/database/mongodb.rb +37 -0
  20. data/lib/backup/configuration/database/mysql.rb +37 -0
  21. data/lib/backup/configuration/database/postgresql.rb +37 -0
  22. data/lib/backup/configuration/database/redis.rb +35 -0
  23. data/lib/backup/configuration/encryptor/base.rb +10 -0
  24. data/lib/backup/configuration/encryptor/gpg.rb +17 -0
  25. data/lib/backup/configuration/encryptor/open_ssl.rb +26 -0
  26. data/lib/backup/configuration/helpers.rb +54 -0
  27. data/lib/backup/configuration/notifier/base.rb +39 -0
  28. data/lib/backup/configuration/notifier/mail.rb +52 -0
  29. data/lib/backup/configuration/notifier/twitter.rb +21 -0
  30. data/lib/backup/configuration/storage/base.rb +18 -0
  31. data/lib/backup/configuration/storage/cloudfiles.rb +21 -0
  32. data/lib/backup/configuration/storage/dropbox.rb +29 -0
  33. data/lib/backup/configuration/storage/ftp.rb +25 -0
  34. data/lib/backup/configuration/storage/rsync.rb +25 -0
  35. data/lib/backup/configuration/storage/s3.rb +25 -0
  36. data/lib/backup/configuration/storage/scp.rb +25 -0
  37. data/lib/backup/configuration/storage/sftp.rb +25 -0
  38. data/lib/backup/configuration/syncer/rsync.rb +45 -0
  39. data/lib/backup/configuration/syncer/s3.rb +33 -0
  40. data/lib/backup/database/base.rb +33 -0
  41. data/lib/backup/database/mongodb.rb +137 -0
  42. data/lib/backup/database/mysql.rb +104 -0
  43. data/lib/backup/database/postgresql.rb +111 -0
  44. data/lib/backup/database/redis.rb +105 -0
  45. data/lib/backup/dependency.rb +84 -0
  46. data/lib/backup/encryptor/base.rb +17 -0
  47. data/lib/backup/encryptor/gpg.rb +78 -0
  48. data/lib/backup/encryptor/open_ssl.rb +67 -0
  49. data/lib/backup/finder.rb +39 -0
  50. data/lib/backup/logger.rb +86 -0
  51. data/lib/backup/model.rb +272 -0
  52. data/lib/backup/notifier/base.rb +29 -0
  53. data/lib/backup/notifier/binder.rb +32 -0
  54. data/lib/backup/notifier/mail.rb +141 -0
  55. data/lib/backup/notifier/templates/notify_failure.erb +31 -0
  56. data/lib/backup/notifier/templates/notify_success.erb +16 -0
  57. data/lib/backup/notifier/twitter.rb +87 -0
  58. data/lib/backup/storage/base.rb +67 -0
  59. data/lib/backup/storage/cloudfiles.rb +95 -0
  60. data/lib/backup/storage/dropbox.rb +87 -0
  61. data/lib/backup/storage/ftp.rb +114 -0
  62. data/lib/backup/storage/object.rb +45 -0
  63. data/lib/backup/storage/rsync.rb +99 -0
  64. data/lib/backup/storage/s3.rb +108 -0
  65. data/lib/backup/storage/scp.rb +106 -0
  66. data/lib/backup/storage/sftp.rb +106 -0
  67. data/lib/backup/syncer/base.rb +10 -0
  68. data/lib/backup/syncer/rsync.rb +117 -0
  69. data/lib/backup/syncer/s3.rb +116 -0
  70. data/lib/backup/version.rb +43 -0
  71. data/lib/templates/archive +4 -0
  72. data/lib/templates/compressor/gzip +4 -0
  73. data/lib/templates/database/mongodb +10 -0
  74. data/lib/templates/database/mysql +11 -0
  75. data/lib/templates/database/postgresql +11 -0
  76. data/lib/templates/database/redis +10 -0
  77. data/lib/templates/encryptor/gpg +9 -0
  78. data/lib/templates/encryptor/openssl +5 -0
  79. data/lib/templates/notifier/mail +14 -0
  80. data/lib/templates/notifier/twitter +9 -0
  81. data/lib/templates/readme +15 -0
  82. data/lib/templates/storage/cloudfiles +7 -0
  83. data/lib/templates/storage/dropbox +9 -0
  84. data/lib/templates/storage/ftp +8 -0
  85. data/lib/templates/storage/rsync +7 -0
  86. data/lib/templates/storage/s3 +8 -0
  87. data/lib/templates/storage/scp +8 -0
  88. data/lib/templates/storage/sftp +8 -0
  89. data/lib/templates/syncer/rsync +14 -0
  90. data/lib/templates/syncer/s3 +12 -0
  91. data/spec/archive_spec.rb +90 -0
  92. data/spec/backup_spec.rb +11 -0
  93. data/spec/compressor/gzip_spec.rb +59 -0
  94. data/spec/configuration/base_spec.rb +35 -0
  95. data/spec/configuration/compressor/gzip_spec.rb +28 -0
  96. data/spec/configuration/database/base_spec.rb +16 -0
  97. data/spec/configuration/database/mongodb_spec.rb +30 -0
  98. data/spec/configuration/database/mysql_spec.rb +32 -0
  99. data/spec/configuration/database/postgresql_spec.rb +32 -0
  100. data/spec/configuration/database/redis_spec.rb +30 -0
  101. data/spec/configuration/encryptor/gpg_spec.rb +25 -0
  102. data/spec/configuration/encryptor/open_ssl_spec.rb +31 -0
  103. data/spec/configuration/notifier/mail_spec.rb +32 -0
  104. data/spec/configuration/storage/cloudfiles_spec.rb +34 -0
  105. data/spec/configuration/storage/dropbox_spec.rb +43 -0
  106. data/spec/configuration/storage/ftp_spec.rb +40 -0
  107. data/spec/configuration/storage/rsync_spec.rb +37 -0
  108. data/spec/configuration/storage/s3_spec.rb +37 -0
  109. data/spec/configuration/storage/scp_spec.rb +40 -0
  110. data/spec/configuration/storage/sftp_spec.rb +40 -0
  111. data/spec/configuration/syncer/rsync_spec.rb +46 -0
  112. data/spec/configuration/syncer/s3_spec.rb +43 -0
  113. data/spec/database/base_spec.rb +30 -0
  114. data/spec/database/mongodb_spec.rb +144 -0
  115. data/spec/database/mysql_spec.rb +150 -0
  116. data/spec/database/postgresql_spec.rb +164 -0
  117. data/spec/database/redis_spec.rb +122 -0
  118. data/spec/encryptor/gpg_spec.rb +57 -0
  119. data/spec/encryptor/open_ssl_spec.rb +102 -0
  120. data/spec/logger_spec.rb +46 -0
  121. data/spec/model_spec.rb +236 -0
  122. data/spec/notifier/mail_spec.rb +97 -0
  123. data/spec/notifier/twitter_spec.rb +86 -0
  124. data/spec/spec_helper.rb +21 -0
  125. data/spec/storage/base_spec.rb +33 -0
  126. data/spec/storage/cloudfiles_spec.rb +102 -0
  127. data/spec/storage/dropbox_spec.rb +105 -0
  128. data/spec/storage/ftp_spec.rb +133 -0
  129. data/spec/storage/object_spec.rb +74 -0
  130. data/spec/storage/rsync_spec.rb +115 -0
  131. data/spec/storage/s3_spec.rb +110 -0
  132. data/spec/storage/scp_spec.rb +129 -0
  133. data/spec/storage/sftp_spec.rb +125 -0
  134. data/spec/syncer/rsync_spec.rb +156 -0
  135. data/spec/syncer/s3_spec.rb +139 -0
  136. data/spec/version_spec.rb +21 -0
  137. metadata +217 -0
@@ -0,0 +1,28 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Compressor::Gzip do
6
+ before do
7
+ Backup::Configuration::Compressor::Gzip.defaults do |compressor|
8
+ compressor.best = true
9
+ compressor.fast = true
10
+ end
11
+ end
12
+
13
+ it 'should set the default compressor configuration' do
14
+ compressor = Backup::Configuration::Compressor::Gzip
15
+ compressor.best.should == true
16
+ compressor.fast.should == true
17
+ end
18
+
19
+ describe '#clear_defaults!' do
20
+ it 'should clear all the defaults, resetting them to nil' do
21
+ Backup::Configuration::Compressor::Gzip.clear_defaults!
22
+
23
+ compressor = Backup::Configuration::Compressor::Gzip
24
+ compressor.best.should == nil
25
+ compressor.fast.should == nil
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,16 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Database::Base do
6
+ before do
7
+ Backup::Configuration::Database::Base.defaults do |db|
8
+ db.utility_path = '/usr/bin/my_util'
9
+ end
10
+ end
11
+
12
+ it 'should set the default Base configuration' do
13
+ db = Backup::Configuration::Database::Base
14
+ db.utility_path.should == '/usr/bin/my_util'
15
+ end
16
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Database::MongoDB do
6
+ before do
7
+ Backup::Configuration::Database::MongoDB.defaults do |db|
8
+ db.name = 'mydb'
9
+ db.username = 'myuser'
10
+ db.password = 'mypassword'
11
+ db.host = 'myhost'
12
+ db.port = 'myport'
13
+ db.only_collections = %w[my other tables]
14
+ db.additional_options = %w[my options]
15
+ db.ipv6 = true
16
+ end
17
+ end
18
+
19
+ it 'should set the default MongoDB configuration' do
20
+ db = Backup::Configuration::Database::MongoDB
21
+ db.name.should == 'mydb'
22
+ db.username.should == 'myuser'
23
+ db.password.should == 'mypassword'
24
+ db.host.should == 'myhost'
25
+ db.port.should == 'myport'
26
+ db.only_collections.should == %w[my other tables]
27
+ db.additional_options.should == %w[my options]
28
+ db.ipv6.should == true
29
+ end
30
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Database::MySQL do
6
+ before do
7
+ Backup::Configuration::Database::MySQL.defaults do |db|
8
+ db.name = 'mydb'
9
+ db.username = 'myuser'
10
+ db.password = 'mypassword'
11
+ db.host = 'myhost'
12
+ db.port = 'myport'
13
+ db.socket = 'mysocket'
14
+ db.skip_tables = %w[my tables]
15
+ db.only_tables = %w[my other tables]
16
+ db.additional_options = %w[my options]
17
+ end
18
+ end
19
+
20
+ it 'should set the default MySQL configuration' do
21
+ db = Backup::Configuration::Database::MySQL
22
+ db.name.should == 'mydb'
23
+ db.username.should == 'myuser'
24
+ db.password.should == 'mypassword'
25
+ db.host.should == 'myhost'
26
+ db.port.should == 'myport'
27
+ db.socket.should == 'mysocket'
28
+ db.skip_tables.should == %w[my tables]
29
+ db.only_tables.should == %w[my other tables]
30
+ db.additional_options.should == %w[my options]
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Database::PostgreSQL do
6
+ before do
7
+ Backup::Configuration::Database::PostgreSQL.defaults do |db|
8
+ db.name = 'mydb'
9
+ db.username = 'myuser'
10
+ db.password = 'mypassword'
11
+ db.host = 'myhost'
12
+ db.port = 'myport'
13
+ db.socket = 'mysocket'
14
+ db.skip_tables = %w[my tables]
15
+ db.only_tables = %w[my other tables]
16
+ db.additional_options = %w[my options]
17
+ end
18
+ end
19
+
20
+ it 'should set the default PostgreSQL configuration' do
21
+ db = Backup::Configuration::Database::PostgreSQL
22
+ db.name.should == 'mydb'
23
+ db.username.should == 'myuser'
24
+ db.password.should == 'mypassword'
25
+ db.host.should == 'myhost'
26
+ db.port.should == 'myport'
27
+ db.socket.should == 'mysocket'
28
+ db.skip_tables.should == %w[my tables]
29
+ db.only_tables.should == %w[my other tables]
30
+ db.additional_options.should == %w[my options]
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Database::Redis do
6
+ before do
7
+ Backup::Configuration::Database::Redis.defaults do |db|
8
+ db.name = 'mydb'
9
+ db.path = '/var/lib/redis/db'
10
+ db.password = 'mypassword'
11
+ db.invoke_save = true
12
+ db.host = 'localhost'
13
+ db.port = 123
14
+ db.socket = '/redis.sock'
15
+ db.additional_options = %w[my options]
16
+ end
17
+ end
18
+
19
+ it 'should set the default Redis configuration' do
20
+ db = Backup::Configuration::Database::Redis
21
+ db.name.should == 'mydb'
22
+ db.path.should == '/var/lib/redis/db'
23
+ db.password.should == 'mypassword'
24
+ db.invoke_save.should == true
25
+ db.host.should == 'localhost'
26
+ db.port.should == 123
27
+ db.socket.should == '/redis.sock'
28
+ db.additional_options.should == %w[my options]
29
+ end
30
+ end
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Encryptor::GPG do
6
+ before do
7
+ Backup::Configuration::Encryptor::GPG.defaults do |encryptor|
8
+ encryptor.key = 'my_key'
9
+ end
10
+ end
11
+
12
+ it 'should set the default encryptor configuration' do
13
+ encryptor = Backup::Configuration::Encryptor::GPG
14
+ encryptor.key.should == 'my_key'
15
+ end
16
+
17
+ describe '#clear_defaults!' do
18
+ it 'should clear all the defaults, resetting them to nil' do
19
+ Backup::Configuration::Encryptor::GPG.clear_defaults!
20
+
21
+ encryptor = Backup::Configuration::Encryptor::GPG
22
+ encryptor.key.should == nil
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,31 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Encryptor::OpenSSL do
6
+ before do
7
+ Backup::Configuration::Encryptor::OpenSSL.defaults do |encryptor|
8
+ encryptor.password = 'my_password'
9
+ encryptor.base64 = true
10
+ encryptor.salt = true
11
+ end
12
+ end
13
+
14
+ it 'should set the default encryptor configuration' do
15
+ encryptor = Backup::Configuration::Encryptor::OpenSSL
16
+ encryptor.password.should == 'my_password'
17
+ encryptor.base64.should == true
18
+ encryptor.salt.should == true
19
+ end
20
+
21
+ describe '#clear_defaults!' do
22
+ it 'should clear all the defaults, resetting them to nil' do
23
+ Backup::Configuration::Encryptor::OpenSSL.clear_defaults!
24
+
25
+ encryptor = Backup::Configuration::Encryptor::OpenSSL
26
+ encryptor.password.should == nil
27
+ encryptor.base64.should == nil
28
+ encryptor.salt.should == nil
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Notifier::Mail do
6
+ before do
7
+ Backup::Configuration::Notifier::Mail.defaults do |mail|
8
+ mail.from = 'my.sender.email@gmail.com'
9
+ mail.to = 'my.receiver.email@gmail.com'
10
+ mail.address = 'smtp.gmail.com'
11
+ mail.port = 587
12
+ mail.domain = 'your.host.name'
13
+ mail.user_name = 'user'
14
+ mail.password = 'secret'
15
+ mail.authentication = 'plain'
16
+ mail.enable_starttls_auto = true
17
+ end
18
+ end
19
+
20
+ it 'should set the default Mail configuration' do
21
+ mail = Backup::Configuration::Notifier::Mail
22
+ mail.from.should == 'my.sender.email@gmail.com'
23
+ mail.to.should == 'my.receiver.email@gmail.com'
24
+ mail.address.should == 'smtp.gmail.com'
25
+ mail.port.should == 587
26
+ mail.domain.should == 'your.host.name'
27
+ mail.user_name.should == 'user'
28
+ mail.password.should == 'secret'
29
+ mail.authentication.should == 'plain'
30
+ mail.enable_starttls_auto.should == true
31
+ end
32
+ end
@@ -0,0 +1,34 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Storage::CloudFiles do
6
+ before do
7
+ Backup::Configuration::Storage::CloudFiles.defaults do |cf|
8
+ cf.username = 'my_username'
9
+ cf.api_key = 'my_api_key'
10
+ cf.container = 'my_container'
11
+ cf.path = 'my_backups'
12
+ end
13
+ end
14
+
15
+ it 'should set the default Cloud Files configuration' do
16
+ cf = Backup::Configuration::Storage::CloudFiles
17
+ cf.username.should == 'my_username'
18
+ cf.api_key.should == 'my_api_key'
19
+ cf.container.should == 'my_container'
20
+ cf.path.should == 'my_backups'
21
+ end
22
+
23
+ describe '#clear_defaults!' do
24
+ it 'should clear all the defaults, resetting them to nil' do
25
+ Backup::Configuration::Storage::CloudFiles.clear_defaults!
26
+
27
+ cf = Backup::Configuration::Storage::CloudFiles
28
+ cf.username.should == nil
29
+ cf.api_key.should == nil
30
+ cf.container.should == nil
31
+ cf.path.should == nil
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,43 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Storage::Dropbox do
6
+ before do
7
+ Backup::Configuration::Storage::Dropbox.defaults do |db|
8
+ db.email = 'my@email.com'
9
+ db.password = 'my_password'
10
+ db.api_key = 'my_api_key'
11
+ db.api_secret = 'my_secret'
12
+ db.path = 'my_backups'
13
+ db.keep = 20
14
+ db.timeout = 500
15
+ end
16
+ end
17
+
18
+ it 'should set the default Dropbox configuration' do
19
+ db = Backup::Configuration::Storage::Dropbox
20
+ db.email.should == 'my@email.com'
21
+ db.password.should == 'my_password'
22
+ db.api_key.should == 'my_api_key'
23
+ db.api_secret.should == 'my_secret'
24
+ db.path.should == 'my_backups'
25
+ db.keep.should == 20
26
+ db.timeout.should == 500
27
+ end
28
+
29
+ describe '#clear_defaults!' do
30
+ it 'should clear all the defaults, resetting them to nil' do
31
+ Backup::Configuration::Storage::Dropbox.clear_defaults!
32
+
33
+ db = Backup::Configuration::Storage::Dropbox
34
+ db.email.should == nil
35
+ db.password.should == nil
36
+ db.api_key.should == nil
37
+ db.api_secret.should == nil
38
+ db.path.should == nil
39
+ db.keep.should == nil
40
+ db.timeout.should == nil
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,40 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Storage::FTP do
6
+ before do
7
+ Backup::Configuration::Storage::FTP.defaults do |ftp|
8
+ ftp.username = 'my_username'
9
+ ftp.password = 'my_password'
10
+ ftp.ip = '123.45.678.90'
11
+ ftp.port = 21
12
+ ftp.path = 'my_backups'
13
+ ftp.keep = 20
14
+ end
15
+ end
16
+
17
+ it 'should set the default ftp configuration' do
18
+ ftp = Backup::Configuration::Storage::FTP
19
+ ftp.username.should == 'my_username'
20
+ ftp.password.should == 'my_password'
21
+ ftp.ip.should == '123.45.678.90'
22
+ ftp.port.should == 21
23
+ ftp.path.should == 'my_backups'
24
+ ftp.keep.should == 20
25
+ end
26
+
27
+ describe '#clear_defaults!' do
28
+ it 'should clear all the defaults, resetting them to nil' do
29
+ Backup::Configuration::Storage::FTP.clear_defaults!
30
+
31
+ ftp = Backup::Configuration::Storage::FTP
32
+ ftp.username.should == nil
33
+ ftp.password.should == nil
34
+ ftp.ip.should == nil
35
+ ftp.port.should == nil
36
+ ftp.path.should == nil
37
+ ftp.keep.should == nil
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Storage::RSync do
6
+ before do
7
+ Backup::Configuration::Storage::RSync.defaults do |rsync|
8
+ rsync.username = 'my_username'
9
+ rsync.password = 'my_password'
10
+ rsync.ip = '123.45.678.90'
11
+ rsync.port = 21
12
+ rsync.path = 'my_backups'
13
+ end
14
+ end
15
+
16
+ it 'should set the default rsync configuration' do
17
+ rsync = Backup::Configuration::Storage::RSync
18
+ rsync.username.should == 'my_username'
19
+ rsync.password.should == 'my_password'
20
+ rsync.ip.should == '123.45.678.90'
21
+ rsync.port.should == 21
22
+ rsync.path.should == 'my_backups'
23
+ end
24
+
25
+ describe '#clear_defaults!' do
26
+ it 'should clear all the defaults, resetting them to nil' do
27
+ Backup::Configuration::Storage::RSync.clear_defaults!
28
+
29
+ rsync = Backup::Configuration::Storage::RSync
30
+ rsync.username.should == nil
31
+ rsync.password.should == nil
32
+ rsync.ip.should == nil
33
+ rsync.port.should == nil
34
+ rsync.path.should == nil
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ describe Backup::Configuration::Storage::S3 do
6
+ before do
7
+ Backup::Configuration::Storage::S3.defaults do |s3|
8
+ s3.access_key_id = 'my_access_key_id'
9
+ s3.secret_access_key = 'my_secret_access_key'
10
+ s3.region = 'us-east-1'
11
+ s3.bucket = 'my-bucket'
12
+ s3.path = 'my_backups'
13
+ end
14
+ end
15
+
16
+ it 'should set the default S3 configuration' do
17
+ s3 = Backup::Configuration::Storage::S3
18
+ s3.access_key_id.should == 'my_access_key_id'
19
+ s3.secret_access_key.should == 'my_secret_access_key'
20
+ s3.region.should == 'us-east-1'
21
+ s3.bucket.should == 'my-bucket'
22
+ s3.path.should == 'my_backups'
23
+ end
24
+
25
+ describe '#clear_defaults!' do
26
+ it 'should clear all the defaults, resetting them to nil' do
27
+ Backup::Configuration::Storage::S3.clear_defaults!
28
+
29
+ s3 = Backup::Configuration::Storage::S3
30
+ s3.access_key_id.should == nil
31
+ s3.secret_access_key.should == nil
32
+ s3.region.should == nil
33
+ s3.bucket.should == nil
34
+ s3.path.should == nil
35
+ end
36
+ end
37
+ end