diff options
author | Oliver Tappe | 2006-08-23 20:14:14 +0200 |
---|---|---|
committer | Oliver Tappe | 2006-08-23 20:14:14 +0200 |
commit | 89d6c05b4107dd186f02cc8173c0cd295f72927a (patch) | |
tree | 2e325a3f96f55b5cc9d1535891ad7ab550f9c9fc /config-db | |
parent | added bootsplashsize 640x480 (diff) | |
download | core-89d6c05b4107dd186f02cc8173c0cd295f72927a.tar.gz core-89d6c05b4107dd186f02cc8173c0cd295f72927a.tar.xz core-89d6c05b4107dd186f02cc8173c0cd295f72927a.zip |
* added slightly changed copy of testConfDB.pl which will morph into a
real testing script later
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@326 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db')
-rwxr-xr-x | config-db/test-config-demuxer.pl | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/config-db/test-config-demuxer.pl b/config-db/test-config-demuxer.pl new file mode 100755 index 00000000..2910db13 --- /dev/null +++ b/config-db/test-config-demuxer.pl @@ -0,0 +1,196 @@ +#! /usr/bin/perl + +# add the folder this script lives in to perl's search path for modules: +use FindBin; +use lib $FindBin::Bin; + +use OpenSLX::Basics; +use OpenSLX::ConfigDB qw(:access :manipulation); + +openslxInit(); + +my $openslxDB = connectConfigDB(); + +addVendorOS($openslxDB, { + 'name' => "suse-93-minimal", + 'descr' => "SuSE 9.3 minimale Installation", +}); + +addVendorOS($openslxDB, { + 'name' => "suse-93-KDE", + 'descr' => "SuSE 9.3 grafische Installation mit KDE", +}); + +addVendorOS($openslxDB, { + 'name' => "debian-31", + 'descr' => "Debian 3.1 Default-Installation", +}); + +my @systems; +foreach my $id (1..10) { + push @systems, { + 'name' => "name of $id", + 'label' => "label of $id", + 'descr' => "descr of $id", + 'vendor_os_id' => 1 + $id % 3, + 'kernel' => "kernel of $id", + 'kernel_params' => "kernel-args of $id", + }; +} +addSystem($openslxDB, \@systems); + +removeSystem($openslxDB, [1,3,5,7,9,11,13,15,17,19] ); + +changeSystem($openslxDB, [ 2 ], [ { 'name' => 'new name of 2'} ] ); + +changeSystem($openslxDB, [ 0 ], [ { 'attrStartX' => 'kde,gnome'} ] ); +changeSystem($openslxDB, [ 1,2,3 ], [ { 'attrHwMonitor' => '1280x1024'} ] ); +changeSystem($openslxDB, [ 4 ], [ { 'attrHwMonitor' => '800x600'} ] ); + + +changeSystem($openslxDB, 4, { 'id' => 114, 'name' => 'id should still be 4'} ); + +my $metaDB = $openslxDB->{'meta-db'}; +my $colDescrs = [ + 'id:pk', + 'name:s.30', + 'descr:s.1024', + 'counter:i', + 'hidden:b', + 'dropped1:b', + 'dropped2:b', +]; +my $initialVals = [ + { + 'name' => '123456789012345678901234567890xxx', + 'descr' => 'descr-value-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', + 'counter' => 34567, + 'hidden' => 1, + 'dropped1' => 0, + 'dropped2' => 1, + }, + { + 'name' => 'name', + 'descr' => q[from_äöüß#'"$...\to_here], + 'counter' => -1, + 'hidden' => 0, + 'dropped1' => 1, + 'dropped2' => 0, + }, +]; + + +$metaDB->schemaAddTable('test', $colDescrs, $initialVals); + +$metaDB->schemaRenameTable('test', 'test2', $colDescrs); + +push @$colDescrs, 'added:s.20'; +push @$colDescrs, 'added2:s.20'; +$metaDB->schemaAddColumns('test2', + ['added:s.20', 'added2:b'], + [{'added' => 'added'}, {'added2' => '1'}], + $colDescrs); + +my @rows = $metaDB->_doSelect("SELECT * FROM test2"); +foreach my $row (@rows) { + foreach my $r (keys %$row) { + print "$r = $row->{$r}\n"; + } +} + +$colDescrs = [grep {$_ !~ m[dropped]} @$colDescrs]; +$metaDB->schemaDropColumns('test2', ['dropped1', 'dropped2'], $colDescrs); + + +$colDescrs = [ + map { + if ($_ =~ m[counter]) { + "count:i"; + } elsif ($_ =~ m[descr]) { + "description:s.30"; + } else { + $_ + } + } @$colDescrs +]; +$metaDB->schemaChangeColumns('test2', + { 'counter' => 'count:i', + 'descr' => 'description:s.30' }, + $colDescrs); + +my @rows = $metaDB->_doSelect("SELECT * FROM test2"); +foreach my $row (@rows) { + foreach my $r (keys %$row) { + print "$r = $row->{$r}\n"; + } +} + +$metaDB->schemaDropTable('test2'); + +my $clientG01ID = addClient($openslxDB, { + 'name' => "PC-G-01", + 'mac' => "00:50:56:0D:03:35", + 'boot_type' => 'pxe', +}); + +my $clientG02ID = addClient($openslxDB, { + 'name' => "PC-G-02", + 'mac' => "00:50:56:0D:03:36", + 'boot_type' => 'pxe', +}); + +my $clientG03ID = addClient($openslxDB, { + 'name' => "PC-G-03", + 'mac' => "00:50:56:0D:03:37", + 'boot_type' => 'pxe', +}); + +my $clientG04ID = addClient($openslxDB, { + 'name' => "PC-G-04", + 'mac' => "00:50:56:0D:03:38", + 'boot_type' => 'pxe', + 'unbootable' => 1, +}); + +my $clientF01ID = addClient($openslxDB, { + 'name' => "PC-F-01", + 'mac' => "00:50:56:0D:03:31", + 'boot_type' => 'other', +}); + +my $clientF02ID = addClient($openslxDB, { + 'name' => "PC-F-02", + 'mac' => "00:50:56:0D:03:32", + 'boot_type' => 'pxe', +}); + +my $clientF03ID = addClient($openslxDB, { + 'name' => "PC-F-03", + 'mac' => "00:50:56:0D:03:33", + 'boot_type' => 'pxe', +}); + +addClientIDsToSystem($openslxDB, 6, [$clientG01ID, $clientG02ID, $clientG03ID, $clientG04ID, $clientF01ID, $clientF02ID, $clientF03ID]); + +my $group1ID = addGroup($openslxDB, { + 'name' => "Gell-PCs", + 'descr' => "Gell-Threemansion PCs from 2002", + 'attrHwMouse' => 'serial', +}); +addClientIDsToGroup($openslxDB, $group1ID, [$clientG01ID, $clientF02ID, $clientG03ID]); + +my $group2ID = addGroup($openslxDB, { + 'name' => "Teacher-PCs", + 'descr' => "all PCs sitting on teacher's desks", + 'attrHwMonitor' => '1600x1200', +}); +addClientIDsToGroup($openslxDB, $group2ID, [$clientG01ID, $clientF01ID]); +addSystemIDsToGroup($openslxDB, $group2ID, [2, 3]); + +my $group3ID = addGroup($openslxDB, { + 'name' => "PCs in room G", + 'descr' => "all PCs of room 234", +}); +addClientIDsToGroup($openslxDB, $group3ID, [$clientG01ID, $clientG02ID, $clientG03ID, $clientG04ID]); + +disconnectConfigDB($openslxDB); |