cfbackup 0.8.0 → 0.8.1

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,6 +1,10 @@
1
1
  CFBackup ChangeLog
2
2
  ==================
3
3
 
4
+ 0.8.1 2010-0719
5
+ -----------------
6
+ * Bugfix: Files not in working directory can't be uploaded [bug #17] props kaerast
7
+
4
8
  0.8.0 2010-01-20
5
9
  -----------------
6
10
  * Code documented
@@ -1,5 +1,5 @@
1
1
  ---
2
+ :patch: 1
2
3
  :major: 0
3
- :minor: 8
4
- :patch: 0
5
4
  :build:
5
+ :minor: 8
@@ -1,15 +1,15 @@
1
1
  # Generated by jeweler
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
3
+ # Instead, edit Jeweler::Tasks in rakefile, and run the gemspec command
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{cfbackup}
8
- s.version = "0.8.0"
8
+ s.version = "0.8.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Jon Stacey"]
12
- s.date = %q{2010-01-20}
12
+ s.date = %q{2010-07-19}
13
13
  s.default_executable = %q{cfbackup}
14
14
  s.description = %q{A simple ruby program intended to serve as a useful tool for automated backups to Mosso Cloud Files.}
15
15
  s.email = %q{jon@jonsview.com}
@@ -36,6 +36,7 @@ Gem::Specification.new do |s|
36
36
  "temp/README",
37
37
  "test/cfbackup_test.rb",
38
38
  "test/cfconfig.yml",
39
+ "test/data/cwd_bug_17/bug_17.txt",
39
40
  "test/data/data.txt",
40
41
  "test/data/folder_1/file1.txt",
41
42
  "test/data/folder_1/file2.txt",
@@ -47,7 +48,7 @@ Gem::Specification.new do |s|
47
48
  s.homepage = %q{http://github.com/jmstacey/cfbackup}
48
49
  s.rdoc_options = ["--charset=UTF-8"]
49
50
  s.require_paths = ["lib"]
50
- s.rubygems_version = %q{1.3.5}
51
+ s.rubygems_version = %q{1.3.7}
51
52
  s.summary = %q{A simple ruby program intended to serve as a useful tool for automated backups to Mosso Cloud Files.}
52
53
  s.test_files = [
53
54
  "test/cfbackup_test.rb",
@@ -58,7 +59,7 @@ Gem::Specification.new do |s|
58
59
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
59
60
  s.specification_version = 3
60
61
 
61
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
62
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
62
63
  s.add_runtime_dependency(%q<cloudfiles>, [">= 1.4.4"])
63
64
  s.add_runtime_dependency(%q<gemcutter>, [">= 0.1.0"])
64
65
  s.add_development_dependency(%q<shoulda>, [">= 0"])
@@ -182,7 +182,8 @@ class CFBackup
182
182
  pwd = Dir.getwd # Save current directory so we can come back
183
183
 
184
184
  if FileTest::file?(path)
185
- glob_options = File.join(File::basename(path))
185
+ Dir.chdir(File.dirname(path))
186
+ glob_options = File.basename(path)
186
187
  elsif @opts.options.recursive
187
188
  Dir.chdir(path)
188
189
  glob_options = File.join("**", "*")
@@ -2,6 +2,10 @@
2
2
 
3
3
  require 'test_helper'
4
4
 
5
+ # todo: finish bug 17 tests
6
+ # Assert everything by creating a Cloudfiles object and verifying file
7
+ # integrity
8
+
5
9
  # CFBackup test class
6
10
  class CfbackupTest < Test::Unit::TestCase
7
11
  TEST_DIR = 'test/tmp' # Test directory
@@ -55,6 +59,25 @@ class CfbackupTest < Test::Unit::TestCase
55
59
  end
56
60
  end
57
61
 
62
+ context "with a single file push not in CWD [Bug #17]" do
63
+ setup do
64
+ File.copy('test/data/cwd_bug_17/bug_17.txt', '/tmp/cfbackup_bug_17.txt')
65
+ assert File.exist?('/tmp/cfbackup_bug_17.txt')
66
+
67
+ mock_ARGV = ['--action', 'push', '--local_path', '/tmp/cfbackup_bug_17.txt', '--container', 'test', '--config_file', 'test/cfconfig.yml', '-v']
68
+ @backup = CFBackup.new(mock_ARGV)
69
+ end
70
+
71
+ should "return true when file sucessfully sent" do
72
+ assert @backup.run
73
+ end
74
+
75
+ # should "result in file being pushed" do
76
+ # # Assert file uploaded
77
+ # end
78
+
79
+ end
80
+
58
81
  context "with a recursive directory push" do
59
82
  setup do
60
83
  mock_ARGV = ['--action', 'push', '-r', '--local_path', 'test/data', '--container', 'test', '--config_file', 'test/cfconfig.yml', '-v']
@@ -82,23 +105,36 @@ class CfbackupTest < Test::Unit::TestCase
82
105
  @backup = CFBackup.new(mock_ARGV)
83
106
  end
84
107
 
85
- should "return true when file succesfully pulled" do
108
+ should "return true and cause the file to exist" do
86
109
  assert @backup.run
110
+ assert File.exist?(filepath)
87
111
  end
88
112
 
89
- # I don't know why this doesn't work. It's like File is caching results
90
- # and not updating until the applicaiton exists. Overcoming by
91
- # asserting the file deletion during teardown at the loss of shoulda
92
- #
93
- # should "result in test/tmp/#{file} existing" do
94
- # assert File.exist?(filepath)
95
- # end
96
-
97
113
  teardown do
98
114
  assert File.delete(filepath)
99
115
  end
100
116
  end
101
117
 
118
+ context "with a single file pull not in CWD [Bug #17]" do
119
+ file = 'folder_1/folder_3/file1.txt';
120
+ filepath = File.join(TEST_DIR, File::basename(file))
121
+
122
+ setup do
123
+ mock_ARGV = ['--action', 'pull', '--container', "test:#{file}", '--local_path', "#{filepath}", '--config_file', 'test/cfconfig.yml', '-v']
124
+ @backup = CFBackup.new(mock_ARGV)
125
+ end
126
+
127
+ should "return true and cause the file to exist" do
128
+ assert @backup.run
129
+ assert File.exist?(filepath)
130
+ end
131
+
132
+ teardown do
133
+ assert File.delete(filepath)
134
+ end
135
+
136
+ end
137
+
102
138
  context "with a recursive pull" do
103
139
  setup do
104
140
  mock_ARGV = ['--action', 'pull', '--container', "test", '--local_path', "test/tmp", '--config_file', 'test/cfconfig.yml', '-v']
@@ -0,0 +1,5 @@
1
+ Test file
2
+ for
3
+ bug #17:
4
+
5
+ Single file pushes of files outside of the CWD don't work
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfbackup
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ hash: 61
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 8
9
+ - 1
10
+ version: 0.8.1
5
11
  platform: ruby
6
12
  authors:
7
13
  - Jon Stacey
@@ -9,49 +15,69 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-01-20 00:00:00 -06:00
18
+ date: 2010-07-19 00:00:00 -05:00
13
19
  default_executable: cfbackup
14
20
  dependencies:
15
21
  - !ruby/object:Gem::Dependency
16
22
  name: cloudfiles
17
- type: :runtime
18
- version_requirement:
19
- version_requirements: !ruby/object:Gem::Requirement
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
20
26
  requirements:
21
27
  - - ">="
22
28
  - !ruby/object:Gem::Version
29
+ hash: 15
30
+ segments:
31
+ - 1
32
+ - 4
33
+ - 4
23
34
  version: 1.4.4
24
- version:
35
+ type: :runtime
36
+ version_requirements: *id001
25
37
  - !ruby/object:Gem::Dependency
26
38
  name: gemcutter
27
- type: :runtime
28
- version_requirement:
29
- version_requirements: !ruby/object:Gem::Requirement
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
30
42
  requirements:
31
43
  - - ">="
32
44
  - !ruby/object:Gem::Version
45
+ hash: 27
46
+ segments:
47
+ - 0
48
+ - 1
49
+ - 0
33
50
  version: 0.1.0
34
- version:
51
+ type: :runtime
52
+ version_requirements: *id002
35
53
  - !ruby/object:Gem::Dependency
36
54
  name: shoulda
37
- type: :development
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
55
+ prerelease: false
56
+ requirement: &id003 !ruby/object:Gem::Requirement
57
+ none: false
40
58
  requirements:
41
59
  - - ">="
42
60
  - !ruby/object:Gem::Version
61
+ hash: 3
62
+ segments:
63
+ - 0
43
64
  version: "0"
44
- version:
65
+ type: :development
66
+ version_requirements: *id003
45
67
  - !ruby/object:Gem::Dependency
46
68
  name: mocha
47
- type: :development
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
69
+ prerelease: false
70
+ requirement: &id004 !ruby/object:Gem::Requirement
71
+ none: false
50
72
  requirements:
51
73
  - - ">="
52
74
  - !ruby/object:Gem::Version
75
+ hash: 3
76
+ segments:
77
+ - 0
53
78
  version: "0"
54
- version:
79
+ type: :development
80
+ version_requirements: *id004
55
81
  description: A simple ruby program intended to serve as a useful tool for automated backups to Mosso Cloud Files.
56
82
  email: jon@jonsview.com
57
83
  executables:
@@ -79,6 +105,7 @@ files:
79
105
  - temp/README
80
106
  - test/cfbackup_test.rb
81
107
  - test/cfconfig.yml
108
+ - test/data/cwd_bug_17/bug_17.txt
82
109
  - test/data/data.txt
83
110
  - test/data/folder_1/file1.txt
84
111
  - test/data/folder_1/file2.txt
@@ -96,21 +123,27 @@ rdoc_options:
96
123
  require_paths:
97
124
  - lib
98
125
  required_ruby_version: !ruby/object:Gem::Requirement
126
+ none: false
99
127
  requirements:
100
128
  - - ">="
101
129
  - !ruby/object:Gem::Version
130
+ hash: 3
131
+ segments:
132
+ - 0
102
133
  version: "0"
103
- version:
104
134
  required_rubygems_version: !ruby/object:Gem::Requirement
135
+ none: false
105
136
  requirements:
106
137
  - - ">="
107
138
  - !ruby/object:Gem::Version
139
+ hash: 3
140
+ segments:
141
+ - 0
108
142
  version: "0"
109
- version:
110
143
  requirements: []
111
144
 
112
145
  rubyforge_project:
113
- rubygems_version: 1.3.5
146
+ rubygems_version: 1.3.7
114
147
  signing_key:
115
148
  specification_version: 3
116
149
  summary: A simple ruby program intended to serve as a useful tool for automated backups to Mosso Cloud Files.