storazzo 0.4.2 → 0.4.10
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.
- checksums.yaml +4 -4
- data/Gemfile +5 -3
- data/Makefile +20 -1
- data/README.md +23 -0
- data/Rakefile +33 -3
- data/VERSION +1 -1
- data/bin/hello-storazzo +6 -0
- data/bin/ricdisk-magic +0 -1
- data/bin/stats-with-md5 +20 -46
- data/lib/storazzo/common.rb +62 -5
- data/lib/storazzo/main.rb +7 -2
- data/lib/storazzo/media/abstract_ric_disk.rb +58 -10
- data/lib/storazzo/media/gcs_bucket.rb +35 -0
- data/lib/storazzo/media/local_folder.rb +10 -12
- data/lib/storazzo/media/mount_point.rb +11 -0
- data/lib/storazzo/ric_disk.rb +99 -110
- data/lib/storazzo/ric_disk_config.rb +53 -21
- data/lib/storazzo/ric_disk_sample_config.rb +2 -6
- data/lib/storazzo/ric_disk_statsfile.rb +0 -1
- data/lib/storazzo/version.rb +1 -1
- data/lib/storazzo.rb +10 -5
- data/storazzo.gemspec +3 -2
- data/test/media/test_abstract_ric_disk.rb +23 -0
- data/test/{test_gcs_bucket.rb → media/test_gcs_bucket.rb} +4 -13
- data/test/{test_local_folder.rb → media/test_local_folder.rb} +46 -20
- data/test/media/test_mount_point.rb +26 -0
- data/test/test_ric_disk.rb +18 -0
- data/test/test_ric_disk_config.rb +3 -8
- data/var/dumps/file_stat.linux.yaml +15 -0
- data/var/dumps/file_stat.macosx.yaml +15 -0
- data/var/test/disks/disk02-full/Rakefile +13 -0
- data/var/test/disks/ricdisk_stats_v11.rds +22 -0
- metadata +35 -7
@@ -1,18 +1,16 @@
|
|
1
1
|
require "minitest/autorun"
|
2
2
|
require "storazzo"
|
3
|
+
require 'storazzo/common'
|
3
4
|
require "storazzo/ric_disk"
|
4
5
|
require "storazzo/ric_disk_config"
|
5
6
|
require 'storazzo/colors'
|
6
7
|
require "storazzo/media/local_folder"
|
7
8
|
|
8
|
-
#require "storazzo/ric_disk/gcs_bucket"
|
9
|
-
#require "storazzo/media/local_folder"
|
10
|
-
|
11
|
-
|
12
|
-
#puts yellow("DISABLING FOR NOW TODO restore")
|
13
|
-
|
14
9
|
class LocalFolderTest < Minitest::Test
|
15
|
-
include Storazzo::Colors
|
10
|
+
# include Storazzo::Colors
|
11
|
+
# include Storazzo::Common
|
12
|
+
include Storazzo::Common
|
13
|
+
|
16
14
|
# def test_fail_on_purpOSE # test_storazzo_hi_with_argument
|
17
15
|
# assert_match 42, 42 , "change me when it failes from makefile"
|
18
16
|
# #"Hello from Storazzo", Storazzo::Main.hi("ruby this should fail")
|
@@ -22,7 +20,7 @@ class LocalFolderTest < Minitest::Test
|
|
22
20
|
include Storazzo::Colors
|
23
21
|
puts yellow("LocalFolderTest: tear up")
|
24
22
|
#$config_useless = Storazzo::RicDiskConfig.instance()
|
25
|
-
$config = Storazzo::RicDiskSampleConfig.
|
23
|
+
$config = Storazzo::RicDiskSampleConfig.safe_instance()
|
26
24
|
$config_load = $config.load()
|
27
25
|
puts $config.to_verbose_s
|
28
26
|
|
@@ -46,16 +44,15 @@ class LocalFolderTest < Minitest::Test
|
|
46
44
|
|
47
45
|
# To only test this:
|
48
46
|
# $ ruby -I test test/test_local_folder.rb -n test_first_directory_parsing_actually_works
|
49
|
-
def
|
47
|
+
def test_1_first_directory_parsing_actually_works()
|
50
48
|
# include module
|
51
49
|
|
52
50
|
#p $vediamo_se_funge
|
53
51
|
puts("(#{__FILE__}) WEIRD THING: This test is flaky. SKipping for now until I complete the LocalFolder.parse() code")
|
54
52
|
folders = Storazzo::Media::LocalFolder.list_all
|
55
53
|
puts "Folders: #{folders}"
|
56
|
-
config = Storazzo::RicDiskSampleConfig.
|
54
|
+
config = Storazzo::RicDiskSampleConfig.safe_instance()
|
57
55
|
puts "config1: #{config}"
|
58
|
-
config.load
|
59
56
|
puts "config2: #{config.load}"
|
60
57
|
test_dir = folders.first
|
61
58
|
puts "test_first_directory_parsing_actually_works() TestDir: #{test_dir}"
|
@@ -65,7 +62,7 @@ class LocalFolderTest < Minitest::Test
|
|
65
62
|
stats_file = disk.stats_filename_default_fullpath
|
66
63
|
puts "stats_file: #{stats_file}"
|
67
64
|
disk.parse()
|
68
|
-
|
65
|
+
deb "config: ''#{config}''"
|
69
66
|
# config.iterate_through_file_list_for_disks([test_dir])
|
70
67
|
# assert(
|
71
68
|
# File.exists?(stats_file),
|
@@ -78,14 +75,13 @@ class LocalFolderTest < Minitest::Test
|
|
78
75
|
puts $config
|
79
76
|
end
|
80
77
|
|
81
|
-
def
|
82
|
-
#
|
83
|
-
puts("(#{__FILE__}) WEIRD THING: This test is flaky. SKipping for now until I complete the LocalFolder.parse() code")
|
78
|
+
def test_2_iterate_through_file_list_for_disks
|
79
|
+
#puts("(#{__FILE__}) WEIRD THING: This test is flaky. SKipping for now until I complete the LocalFolder.parse() code")
|
84
80
|
folders = Storazzo::Media::LocalFolder.list_all
|
85
81
|
puts "Folders: #{folders}"
|
86
|
-
config = Storazzo::RicDiskSampleConfig.
|
87
|
-
puts "config1: #{config}"
|
82
|
+
config = Storazzo::RicDiskSampleConfig.safe_instance()
|
88
83
|
config.load
|
84
|
+
puts "config1: #{config}"
|
89
85
|
puts "config2: #{config.load}"
|
90
86
|
test_dir = folders.first
|
91
87
|
puts "test_first_directory_parsing_actually_works() TestDir: #{test_dir}"
|
@@ -105,11 +101,11 @@ class LocalFolderTest < Minitest::Test
|
|
105
101
|
)
|
106
102
|
end
|
107
103
|
|
108
|
-
def
|
109
|
-
test_dir = "/etc/"
|
104
|
+
def test_readonly_directory_creates_configfile_outside_of_dir
|
105
|
+
test_dir = "/etc/ssh/"
|
110
106
|
disk = Storazzo::Media::LocalFolder.new(test_dir)
|
111
107
|
stats_file = disk.stats_filename_default_fullpath
|
112
|
-
config = Storazzo::RicDiskSampleConfig.
|
108
|
+
config = Storazzo::RicDiskSampleConfig.safe_instance()
|
113
109
|
config.load
|
114
110
|
config.iterate_through_file_list_for_disks([test_dir])
|
115
111
|
assert(
|
@@ -118,4 +114,34 @@ class LocalFolderTest < Minitest::Test
|
|
118
114
|
)
|
119
115
|
# ...
|
120
116
|
end
|
117
|
+
|
118
|
+
def test_readonly_directory_is_indeed_readonly
|
119
|
+
test_dir = "/etc/ssh"
|
120
|
+
readonly_rdisk = Storazzo::Media::LocalFolder.new(test_dir)
|
121
|
+
if_deb? do
|
122
|
+
ppp(readonly_rdisk.to_verbose_s)
|
123
|
+
end
|
124
|
+
assert_equal(
|
125
|
+
readonly_rdisk.wr,
|
126
|
+
false,
|
127
|
+
"Folder #{test_dir} is NOT writeble to the author's knowledge."
|
128
|
+
)
|
129
|
+
# ...
|
130
|
+
end
|
131
|
+
|
132
|
+
|
133
|
+
def test_writeable_tmp_directory_is_indeed_writeable
|
134
|
+
test_dir = '/tmp/'
|
135
|
+
#test_dir = '~'
|
136
|
+
writeable_rdisk = Storazzo::Media::LocalFolder.new(test_dir)
|
137
|
+
#writeable_rdisk = Storazzo::RicDisk.new(test_dir)
|
138
|
+
if_deb?{ ppp(writeable_rdisk.to_verbose_s) }
|
139
|
+
assert_equal(
|
140
|
+
true,
|
141
|
+
writeable_rdisk.wr,
|
142
|
+
"Folder #{test_dir} is INDEED writeble to the author's knowledge, although triggers lot of noise => wr=#{ writeable_rdisk.wr }"
|
143
|
+
)
|
144
|
+
end
|
145
|
+
|
146
|
+
|
121
147
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require "minitest/autorun"
|
2
|
+
require "storazzo"
|
3
|
+
|
4
|
+
#require 'pry' # must install the gem... but you ALWAYS want pry installed anyways
|
5
|
+
|
6
|
+
class MediaMountPointTest < Minitest::Test
|
7
|
+
|
8
|
+
def test_test_in_subfolder
|
9
|
+
#raise "Does this even work?!?"
|
10
|
+
puts "Looks like this only works if you run this: ruby -I test test/media/test_media_mount_point.rb"
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_mount_point_creation
|
14
|
+
#x = Storazzo::Media::MountPoint.new
|
15
|
+
#assert class inherits from ...
|
16
|
+
skip "TODO Code is still missing but TODO implement that this class inherits from **ther class"
|
17
|
+
# assert(
|
18
|
+
# false,
|
19
|
+
# "TODO Code is still missing but TODO implement that this class inherits from **ther class"
|
20
|
+
# )
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_what_skip_means
|
24
|
+
skip 'Check for affiliate link, credit card details, pledge history. Foujnd example online. Please Riccardo fix'
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "minitest/autorun"
|
2
|
+
require "storazzo"
|
3
|
+
|
4
|
+
class RicDiskTest < Minitest::Test
|
5
|
+
|
6
|
+
def TODO_test_factory_works_for_gcs
|
7
|
+
#actual_list = Storazzo::RicDisk::GcsBucket.list_all($sample_config_obj)
|
8
|
+
rd1 = Storazzo::RicDisk.new('Doesnt accept a string, should be a Gcs Something... Plus why is this test here and not under TestGcsBucket?!?')
|
9
|
+
hash = rd1.to_verbose_s()
|
10
|
+
pp hash
|
11
|
+
assert_equal(
|
12
|
+
hash.class,
|
13
|
+
Hash,
|
14
|
+
"rd1.to_verbose_s should return a Hash"
|
15
|
+
)
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -7,24 +7,19 @@
|
|
7
7
|
|
8
8
|
require "minitest/autorun"
|
9
9
|
require "storazzo"
|
10
|
-
#require "storazzo/ric_disk_config"
|
11
|
-
#require "storazzo/ric_disk_sample_config"
|
12
|
-
#require "storazzo/ric_disk_config_example"
|
13
|
-
|
14
|
-
# require "storazzo/media/local_folder"
|
15
|
-
#require "storazzo/ric_disk/gcs_bucket"
|
16
|
-
#require "storazzo/media/local_folder"
|
17
10
|
|
18
11
|
|
19
12
|
class RicDiskConfigTest < Minitest::Test
|
20
13
|
|
14
|
+
include Storazzo::Common
|
15
|
+
|
21
16
|
def test_load_sample_version # test_sample_config_is_within_gems_boundaries
|
22
17
|
#config_obj = Storazzo::RicDiskConfig.instance()
|
23
18
|
#puts :sofar_so_good
|
24
19
|
config_obj = Storazzo::RicDiskSampleConfig.instance()
|
25
20
|
puts "config_obj.class: #{config_obj.class}"
|
26
21
|
config = config_obj.load # _sample_version
|
27
|
-
|
22
|
+
pverbose true, "[test_load_sample_version] Config: #{pp config}"
|
28
23
|
#puts '[RicDiskConfigTest] TODO lets make sure the gem being imported is actually in /etc/storazz-config.smaple blah blah'
|
29
24
|
#puts "[RicDiskConfigTest] config_file: ", config_obj.config_file
|
30
25
|
assert_equal(
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# On Linux:
|
2
|
+
<File::Stat
|
3
|
+
dev=0xfe01,
|
4
|
+
ino=6293055,
|
5
|
+
mode=0100644 (file rw-r--r--),
|
6
|
+
nlink=1,
|
7
|
+
uid=164825 (ricc),
|
8
|
+
gid=89939 (primarygroup),
|
9
|
+
rdev=0x0 (0, 0),
|
10
|
+
size=7,
|
11
|
+
blksize=4096,
|
12
|
+
blocks=8,
|
13
|
+
atime=2022-06-27 08:49:38.586706861 +0200 (1656312578),
|
14
|
+
mtime=2022-03-23 14:28:45 +0100 (1648042125),
|
15
|
+
ctime=2022-05-30 10:12:10.381629305 +0200 (1653898330)>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# On Mac:
|
2
|
+
<File::Stat
|
3
|
+
dev=0x100000f,
|
4
|
+
ino=1247768,
|
5
|
+
mode=0100644 (file rw-r--r--),
|
6
|
+
nlink=1,
|
7
|
+
uid=164825 (ricc),
|
8
|
+
gid=89939 (primarygroup),
|
9
|
+
rdev=0x0 (0, 0),
|
10
|
+
size=564,
|
11
|
+
blksize=4096,
|
12
|
+
blocks=8,
|
13
|
+
atime=2022-03-05 22:36:48.373362127 +0100 (1646516208),
|
14
|
+
mtime=2022-03-05 22:36:48.176789949 +0100 (1646516208),
|
15
|
+
ctime=2022-03-05 22:36:48.176789949 +0100 (1646516208)>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# I fell in love with this: https://stackoverflow.com/questions/9274205/rake-watch-for-changes
|
2
|
+
|
3
|
+
file 'main.o' => ["main.c", "greet.h"] do
|
4
|
+
sh "cc -c -o main.o main.c"
|
5
|
+
end
|
6
|
+
|
7
|
+
file 'greet.o' => ['greet.c'] do
|
8
|
+
sh "cc -c -o greet.o greet.c"
|
9
|
+
end
|
10
|
+
|
11
|
+
file "hello" => ["main.o", "greet.o"] do
|
12
|
+
sh "cc -o hello main.o greet.o"
|
13
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# [print_stats_and_md5_for_directory] DIR to explore (make sure you glob also): .
|
2
|
+
# DEB Options: {:max_files=>nil, :color=>false, :verbose=>false, :autowrite=>false}
|
3
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-30T11:54:42+02:00 0 [text/plain] ./ricdisk_stats_v11.rds
|
4
|
+
[file_v1.2] ______________NONE______________ 040755 d 2022-07-28T12:11:48+02:00 200 [inode/directory] ./disk01-empty
|
5
|
+
[file_v1.2] ______________NONE______________ 040755 d 2022-07-29T19:00:54+02:00 300 [inode/directory] ./disk02-full
|
6
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-24T06:38:25+02:00 0 [inode/x-empty] ./disk02-full/fake file.touch
|
7
|
+
[file_v1.2] f344106fac7926960912486256a56af9 100644 f 2022-07-24T06:38:25+02:00 454 [text/plain] ./disk02-full/ls.txt
|
8
|
+
[file_v1.2] 437b184a6b045975f0fb6c8c978f28ad 100644 f 2022-07-29T19:01:26+02:00 507 [text/plain] ./disk02-full/Rakefile
|
9
|
+
# [print_stats_and_md5_for_directory] DIR to explore (make sure you glob also): ./disk01-empty
|
10
|
+
# DEB Options: {:max_files=>nil, :color=>false, :verbose=>false, :autowrite=>false}
|
11
|
+
[file_v1.2] f8382af52d00023dc4ee9e9029b367b9 100644 f 2022-07-28T14:30:46+02:00 1022 [text/plain] ./disk01-empty/.ricdisk
|
12
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-24T06:38:25+02:00 0 [inode/x-empty] ./disk01-empty/.keep
|
13
|
+
# [print_stats_and_md5_for_directory] DIR to explore (make sure you glob also): ./disk02-full
|
14
|
+
# DEB Options: {:max_files=>nil, :color=>false, :verbose=>false, :autowrite=>false}
|
15
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-24T06:38:25+02:00 0 [inode/x-empty] ./disk02-full/fake file.touch
|
16
|
+
[file_v1.2] f344106fac7926960912486256a56af9 100644 f 2022-07-24T06:38:25+02:00 454 [text/plain] ./disk02-full/ls.txt
|
17
|
+
[file_v1.2] 437b184a6b045975f0fb6c8c978f28ad 100644 f 2022-07-29T19:01:26+02:00 507 [text/plain] ./disk02-full/Rakefile
|
18
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-24T06:38:25+02:00 0 [inode/x-empty] ./disk02-full/.ricdisk
|
19
|
+
[file_v1.2] d41d8cd98f00b204e9800998ecf8427e 100644 f 2022-07-24T06:38:25+02:00 0 [inode/x-empty] ./disk02-full/fake file.touch
|
20
|
+
[file_v1.2] f344106fac7926960912486256a56af9 100644 f 2022-07-24T06:38:25+02:00 454 [text/plain] ./disk02-full/ls.txt
|
21
|
+
[file_v1.2] 437b184a6b045975f0fb6c8c978f28ad 100644 f 2022-07-29T19:01:26+02:00 507 [text/plain] ./disk02-full/Rakefile
|
22
|
+
# [stats-with-md5] Time taken for processing 15 files: 0.35655
|
metadata
CHANGED
@@ -1,21 +1,36 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: storazzo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Riccardo Carlesso
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
12
|
-
dependencies:
|
11
|
+
date: 2022-08-05 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pry
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: A simple gem to manage your external hard drives and extract MD5 and
|
14
28
|
common stuff from them.
|
15
29
|
email: name dot surname at popular Google-owned Mail
|
16
30
|
executables:
|
17
31
|
- ricdisk-magic
|
18
32
|
- stats-with-md5
|
33
|
+
- hello-storazzo
|
19
34
|
extensions: []
|
20
35
|
extra_rdoc_files: []
|
21
36
|
files:
|
@@ -25,6 +40,7 @@ files:
|
|
25
40
|
- README.md
|
26
41
|
- Rakefile
|
27
42
|
- VERSION
|
43
|
+
- bin/hello-storazzo
|
28
44
|
- bin/ricdisk-magic
|
29
45
|
- bin/stats-with-md5
|
30
46
|
- lib/storazzo.rb
|
@@ -46,14 +62,21 @@ files:
|
|
46
62
|
- lib/storazzo/ric_disk_ugly.rb
|
47
63
|
- lib/storazzo/version.rb
|
48
64
|
- storazzo.gemspec
|
49
|
-
- test/
|
50
|
-
- test/
|
65
|
+
- test/media/test_abstract_ric_disk.rb
|
66
|
+
- test/media/test_gcs_bucket.rb
|
67
|
+
- test/media/test_local_folder.rb
|
68
|
+
- test/media/test_mount_point.rb
|
69
|
+
- test/test_ric_disk.rb
|
51
70
|
- test/test_ric_disk_config.rb
|
52
71
|
- test/test_ric_disk_stats_file.rb
|
53
72
|
- test/test_storazzo.rb
|
73
|
+
- var/dumps/file_stat.linux.yaml
|
74
|
+
- var/dumps/file_stat.macosx.yaml
|
54
75
|
- var/test/README.md
|
76
|
+
- var/test/disks/disk02-full/Rakefile
|
55
77
|
- var/test/disks/disk02-full/fake file.touch
|
56
78
|
- var/test/disks/disk02-full/ls.txt
|
79
|
+
- var/test/disks/ricdisk_stats_v11.rds
|
57
80
|
homepage: https://rubygems.org/gems/storazzo
|
58
81
|
licenses:
|
59
82
|
- MIT
|
@@ -80,9 +103,14 @@ summary: storazzo is an amazing gem. Code is in https://github.com/palladius/sto
|
|
80
103
|
test_files:
|
81
104
|
- test/test_storazzo.rb
|
82
105
|
- test/test_ric_disk_stats_file.rb
|
106
|
+
- test/test_ric_disk.rb
|
83
107
|
- test/test_ric_disk_config.rb
|
84
|
-
- test/test_gcs_bucket.rb
|
85
|
-
- test/
|
108
|
+
- test/media/test_gcs_bucket.rb
|
109
|
+
- test/media/test_mount_point.rb
|
110
|
+
- test/media/test_abstract_ric_disk.rb
|
111
|
+
- test/media/test_local_folder.rb
|
86
112
|
- var/test/README.md
|
113
|
+
- var/test/disks/ricdisk_stats_v11.rds
|
87
114
|
- var/test/disks/disk02-full/fake file.touch
|
88
115
|
- var/test/disks/disk02-full/ls.txt
|
116
|
+
- var/test/disks/disk02-full/Rakefile
|