5
0
mirror of git://git.proxmox.com/git/pve-storage.git synced 2024-12-23 17:34:34 +03:00
pve-storage/test/get_subdir_test.pm
Alwin Antreich ddd313c95e test: get_subdir
Co-Authored-by: Dominic Jaeger <d.jaeger@proxmox.com>
Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-04-30 18:37:19 +02:00

45 lines
1.0 KiB
Perl

package PVE::Storage::TestGetSubdir;
use strict;
use warnings;
use lib qw(..);
use PVE::Storage::Plugin;
use Test::More;
my $scfg_with_path = { path => '/some/path' };
my $vtype_subdirs = PVE::Storage::Plugin::get_vtype_subdirs();
# each test is comprised of the following array keys:
# [0] => storage config; positive with path key
# [1] => storage type; see $vtype_subdirs
# [2] => expected return from get_subdir
my $tests = [
# failed matches
[ $scfg_with_path, 'none', "unknown vtype 'none'\n" ],
[ {}, 'iso', "storage definintion has no path\n" ],
];
# creates additional positive tests
foreach my $type (keys %$vtype_subdirs) {
my $path = "$scfg_with_path->{path}/$vtype_subdirs->{$type}";
push @$tests, [ $scfg_with_path, $type, $path ];
}
plan tests => scalar @$tests;
foreach my $tt (@$tests) {
my ($scfg, $type, $expected) = @$tt;
my $got;
eval { $got = PVE::Storage::Plugin->get_subdir($scfg, $type) };
$got = $@ if $@;
is ($got, $expected, "get_subdir for $type") || diag(explain($got));
}
done_testing();
1;