diff --git a/src/warden-client/lib/WardenClientSend.t b/src/warden-client/lib/WardenClientSend.t
new file mode 100644
index 0000000000000000000000000000000000000000..b32a36bd0e1d408ff8e89ba822115757a097bfc7
--- /dev/null
+++ b/src/warden-client/lib/WardenClientSend.t
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 2;
+
+use lib '..';
+use WardenClientSend;
+
+my $uri_ok           = 'https://warden-dev.cesnet.cz:443/Warden';
+my $ssl_key_file_ok  = '/opt/warden-client/etc/warden-dev.cesnet.cz.key';
+my $ssl_cert_file_ok = '/opt/warden-client/etc/warden-dev.cesnet.cz.pem';
+my $ssl_ca_file_ok   = '/opt/warden-client/etc/tcs-ca-meta-bundle.pem';
+my $method_ok        = 'saveNewEvent';
+my $data_ok          = '';
+
+my $warden_path_ok   = '/opt/warden-client';
+my $warden_path_fail = '/path/to/fail';
+my @event_ok = ("honeyscan", "1234567890", "portscan","IP", "123.123.123.123", "TCP", "22", "1234567890", "important note or comment", "null", "20");
+my @vent_ok = ('HoneyScan', '2012-09-01T23:02:48', 'webattackReply-To:', '170.96.48.164', 'UDP', '44392354', 'tohle je takova normalni jednoducha poznamka', '180187');
+
+my $ret;
+
+#my ($ret) = WardenClientSend::c2s($uri_ok, $ssl_key_file_ok, $ssl_cert_file_ok, $ssl_ca_file_ok, $method_ok, $data_ok);
+#ok ($ret == 1, 'Everything is fine!');
+
+$ret = WardenClientSend::saveNewEvent($warden_path_fail,\@event_ok);
+ok ($ret == 0, 'Bad Warden path!');
+
+$ret = WardenClientSend::saveNewEvent($warden_path_ok,\@event_ok);
+ok ($ret == 1, 'Everything is fine.');
diff --git a/src/warden-server/lib/Warden.t b/src/warden-server/lib/Warden.t
new file mode 100644
index 0000000000000000000000000000000000000000..956f3f69b8afa06ce35dc1bfb8769e5ad42bbe1c
--- /dev/null
+++ b/src/warden-server/lib/Warden.t
@@ -0,0 +1,80 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use DBI;
+use DBD::mysql;
+
+use Test::More tests => 2;
+#use Test::Exception;
+
+use lib '..';
+use Warden;
+
+# Fake $ENV values
+BEGIN {
+  $ENV{'SSL_CLIENT_S_DN_CN'} = '?';
+  $ENV{'SSL_CLIENT_CERT'}    = '?';
+  $ENV{'REMOTE_ADDR'}        = '?';
+  $ENV{'SERVER_NAME'}        = 'warden-dev.cesnet.cz';
+  $ENV{'SERVER_ADDR'}        = '195.113.161.39';
+  $ENV{'SERVER_PORT'}        = '443';
+}
+
+
+my $ret;
+
+
+our $MAX_EVENTS_LIMIT = "1000000";
+our %VALID_STRINGS = (
+"type" => ["portscan", "bruteforce", "probe", "spam", "phishing", "botnet_c_c", "dos", "malware", "copyright", "webattack", "test", "other"],
+);
+
+our $DBH = DBI->connect("DBI:mysql:database=warden;host=localhost", "root", "w4rd3n&r00t", {RaiseError => 1, mysql_auto_reconnect => 1}) || die "Could not connect to database: $DBI::errstr";
+
+#print $ENV{'SSL_CLIENT_S_DN_CN'};
+#foreach (keys %ENV){
+#  print "$_ -> $ENV{$_}\n";
+#}
+
+#trim test
+$ret = Warden::trim('   a  ');
+is($ret,'a','Trim si OK.');
+
+
+# Alternate names test
+#$alt_names, $ip, $service_type, $client_type, $function_name
+#$ret = Warden::getAltNames("warden-dev.cesnet.cz","195.113.161.39","honeyscan","s","someEvent");
+#is($ret, '', 'Alternate names are OK.');
+
+# Client authorizaton test
+#$ret = Warden::authorizeClient("warden-dev.cesnet.cz","195.113.161.39","honeyscan","s","someEvent");
+#is($ret, undef, 'Client is unregistered.');
+
+#$ret = Warden::authorizeClient();
+#is($ret, undef, 'Client is from the unauthorized subnet.');
+
+#$ret = Warden::authorizeClient();
+#is($ret, undef, 'Everything is fine.');
+
+# Save event test
+#$class, $data
+#dies_ok {Warden::saveNewEvent()} 'Cannot do insert statement.';
+
+#my @event_ok = ("honeyscan", "1234567890", "portscan","IP", "123.123.123.123", "TCP", "22", "1234567890", "important note or comment", "null", "20");
+#$ret = Warden::saveNewEvent("a",@event_ok);
+#ok($ret, 'Everything is fine.');
+
+# Get new event
+#dies_ok {Warden::getNewEvents()} 'Cannot work with the database.';
+
+#$ret = Warden::getNewEvents();
+#is($ret, @EVENTS, 'Everything is fine.');
+
+# Get last ID test
+#dies_ok {Warden::getLastId()} 'Cannot prepare statment.';
+
+$ret = Warden::getLastId();
+print $ret. "\n";
+is($ret, '16302246', 'GetLastID is OK.');