-
Notifications
You must be signed in to change notification settings - Fork 125
/
hp.t
executable file
·95 lines (84 loc) · 2.53 KB
/
hp.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/perl
use strict;
use warnings;
use lib 't/lib';
use Test::Deep;
use Test::Exception;
use Test::More;
use Test::NoWarnings;
use FusionInventory::Test::Inventory;
use FusionInventory::Agent::Task::Inventory::Generic::Storages::HP;
my %slots_tests = (
sample1 => [ 2 ],
sample2 => [ 3, 0 ]
);
my %drives_tests = (
sample1 => [ '2I:1:1', '2I:1:2' ],
sample2 => [ '1I:1:1', '1I:1:2' ],
);
my %storage_tests = (
sample1 => {
NAME => 'WDC WD740ADFD-00',
FIRMWARE => '21.07QR4',
SERIALNUMBER => 'WD-WMANS1732855',
TYPE => 'disk',
DISKSIZE => '74300',
DESCRIPTION => 'SATA',
MODEL => 'WD740ADFD-00',
MANUFACTURER => 'Western Digital'
},
sample2 => {
NAME => 'Hitachi HUA72201',
MODEL => 'HUA72201',
FIRMWARE => 'JP4OA3MA',
DISKSIZE => '1000000',
MANUFACTURER => 'Hitachi',
SERIALNUMBER => 'JPW9K0N02UPXHL',
DESCRIPTION => 'SATA',
TYPE => 'disk'
},
sample3 => {
NAME => 'HP EG0300FBDBR',
MODEL => 'EG0300FBDBR',
FIRMWARE => 'HPD7',
DISKSIZE => '300000',
MANUFACTURER => 'Hewlett-Packard',
SERIALNUMBER => 'PMVXYSZB',
DESCRIPTION => 'SAS',
TYPE => 'disk'
}
);
plan tests =>
(scalar keys %slots_tests) +
(scalar keys %drives_tests) +
(2 * scalar keys %storage_tests) +
1;
my $inventory = FusionInventory::Test::Inventory->new();
foreach my $test (keys %slots_tests) {
my $file = "resources/generic/hpacucli/$test-slots";
cmp_deeply(
[ FusionInventory::Agent::Task::Inventory::Generic::Storages::HP::_getSlots(file => $file) ],
$slots_tests{$test},
"$test: slots extraction"
);
}
foreach my $test (keys %drives_tests) {
my $file = "resources/generic/hpacucli/$test-drives";
cmp_deeply(
[ FusionInventory::Agent::Task::Inventory::Generic::Storages::HP::_getDrives(file => $file) ],
$drives_tests{$test},
"$test: drives extraction"
);
}
foreach my $test (keys %storage_tests) {
my $file = "resources/generic/hpacucli/$test-storage";
my $storage = FusionInventory::Agent::Task::Inventory::Generic::Storages::HP::_getStorage(file => $file);
cmp_deeply(
$storage,
$storage_tests{$test},
'storage extraction'
);
lives_ok {
$inventory->addEntry(section => 'STORAGES', entry => $storage);
} "$test: registering";
}