File: 02locks.t

package info (click to toggle)
libcal-dav-perl 0.6-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 108 kB
  • sloc: perl: 266; makefile: 2
file content (47 lines) | stat: -rw-r--r-- 946 bytes parent folder | download | duplicates (5)
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
#!perl -w

use strict;
use lib qw(t);
use Cal::DAV;
use Test::More;
use CalDAVTest;

for (qw(CAL_DAV_USER CAL_DAV_PASS CAL_DAV_URL_BASE)) {
    if (!defined $ENV{$_}) {
        plan skip_all => "Need to provide a $_ environment variable";
    }
}
plan tests => 11;


# Parse
my $cal;
ok($cal = get_cal_dav('birthday.ics'), "Instantiated ok");
ok($cal->parse(filename => 't/ics/birthdays.ics'), "Parsed a file");

# Put
ok($cal->save, "Put");

# Lock
ok($cal->lock, "Locked first cal");

# Fail to obtain lock
my $cal2;
ok($cal2 = get_cal_dav('birthday.ics'), "Instantiated ok");
ok(!$cal2->lock, "Failed to get lock with second cal");

# Unlock 
ok($cal->unlock, "Unlocked first cal");

# Obtain lock
ok($cal2->lock, "Got lock with second cal");

# Forceably unlock
ok($cal->forcefully_unlock_all, "First cal forcefully unlocked");

# Lock
ok($cal->lock, "First cal got lock back");

# Steal lock
ok($cal2->steal_lock, "Second cal stole lock");