From 3352ef4baf1759567770447ec93334655dc72b60 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Fri, 8 Dec 2006 13:30:00 +1300 Subject: [PATCH] Initial set of tests for LOCK / UNLOCK on collections. --- .../regression-suite/810-Spec-LOCK-1.result | 27 +++++++++++++++++ .../regression-suite/810-Spec-LOCK-1.test | 24 +++++++++++++++ .../regression-suite/811-Spec-LOCK-1.result | 27 +++++++++++++++++ .../regression-suite/811-Spec-LOCK-1.test | 29 +++++++++++++++++++ .../regression-suite/812-Spec-LOCK-1.result | 12 ++++++++ .../regression-suite/812-Spec-LOCK-1.test | 26 +++++++++++++++++ .../regression-suite/815-Spec-UNLOCK-1.result | 12 ++++++++ .../regression-suite/815-Spec-UNLOCK-1.test | 14 +++++++++ .../regression-suite/816-Spec-UNLOCK-1.result | 0 .../regression-suite/816-Spec-UNLOCK-1.test | 16 ++++++++++ 10 files changed, 187 insertions(+) create mode 100644 testing/tests/regression-suite/810-Spec-LOCK-1.result create mode 100644 testing/tests/regression-suite/810-Spec-LOCK-1.test create mode 100644 testing/tests/regression-suite/811-Spec-LOCK-1.result create mode 100644 testing/tests/regression-suite/811-Spec-LOCK-1.test create mode 100644 testing/tests/regression-suite/812-Spec-LOCK-1.result create mode 100644 testing/tests/regression-suite/812-Spec-LOCK-1.test create mode 100644 testing/tests/regression-suite/815-Spec-UNLOCK-1.result create mode 100644 testing/tests/regression-suite/815-Spec-UNLOCK-1.test create mode 100644 testing/tests/regression-suite/816-Spec-UNLOCK-1.result create mode 100644 testing/tests/regression-suite/816-Spec-UNLOCK-1.test diff --git a/testing/tests/regression-suite/810-Spec-LOCK-1.result b/testing/tests/regression-suite/810-Spec-LOCK-1.result new file mode 100644 index 00000000..630f7d01 --- /dev/null +++ b/testing/tests/regression-suite/810-Spec-LOCK-1.result @@ -0,0 +1,27 @@ +HTTP/1.1 200 OK +Date: Dow, 01 Jan 2000 00:00:00 GMT +Lock-Token: +Content-Length: 473 +Content-Type: text/xml; charset="utf-8" + + + + + + + + + + + + 0 + + http://andrew.mcmillan.net.nz/node/5/ + + Second-8640000 + + opaquelocktoken:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + diff --git a/testing/tests/regression-suite/810-Spec-LOCK-1.test b/testing/tests/regression-suite/810-Spec-LOCK-1.test new file mode 100644 index 00000000..1ef595cd --- /dev/null +++ b/testing/tests/regression-suite/810-Spec-LOCK-1.test @@ -0,0 +1,24 @@ +# +# Test specification compliance for LOCK request on a collection +# +TYPE=LOCK +URL=http://mycaldav/caldav.php/user1/home/ +HEADER=Depth: 0 +HEADER=Timeout: Infinite,Second-4100000000 +HEADER=Content-type: text/xml; charset="utf-8" +HEAD + +# +# Include the data in-line +# +BEGINDATA + + + + + + http://andrew.mcmillan.net.nz/node/5/ + + +ENDDATA + diff --git a/testing/tests/regression-suite/811-Spec-LOCK-1.result b/testing/tests/regression-suite/811-Spec-LOCK-1.result new file mode 100644 index 00000000..232fc691 --- /dev/null +++ b/testing/tests/regression-suite/811-Spec-LOCK-1.result @@ -0,0 +1,27 @@ +HTTP/1.1 200 OK +Date: Dow, 01 Jan 2000 00:00:00 GMT +Content-Length: 473 +Content-Type: text/xml; charset="utf-8" + + + + + + + + + + + + 0 + + http://andrew.mcmillan.net.nz/node/5/ + + Second-8640000 + + opaquelocktoken:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + + + + +Refreshed (should be 1) --- 1 diff --git a/testing/tests/regression-suite/811-Spec-LOCK-1.test b/testing/tests/regression-suite/811-Spec-LOCK-1.test new file mode 100644 index 00000000..ceedeed2 --- /dev/null +++ b/testing/tests/regression-suite/811-Spec-LOCK-1.test @@ -0,0 +1,29 @@ +# +# Test specification compliance for LOCK request +# - Refresh the lock +# No data is needed for a refresh +# +TYPE=LOCK +URL=http://mycaldav/caldav.php/user1/home/ + +# Save the original lock time for later use +GETSQL=oldlocktime +SELECT start FROM locks WHERE dav_name = '/user1/home/' +ENDSQL + +# Get the lock token from the earlier lock +GETSQL=locktoken +SELECT opaquelocktoken FROM locks WHERE dav_name = '/user1/home/' +ENDSQL + +HEADER=Depth: 0 +HEADER=Timeout: Infinite,Second-4100000000 +HEADER=Content-type: text/xml; charset="utf-8" +HEADER=Lock-Token: +HEAD + +# +# Do a query after the request +QUERY +SELECT 'Refreshed (should be 1)', start != '##oldlocktime##'::timestamp AS refresh_success FROM locks WHERE dav_name = '/user1/home/' +ENDQUERY diff --git a/testing/tests/regression-suite/812-Spec-LOCK-1.result b/testing/tests/regression-suite/812-Spec-LOCK-1.result new file mode 100644 index 00000000..ed3747cf --- /dev/null +++ b/testing/tests/regression-suite/812-Spec-LOCK-1.result @@ -0,0 +1,12 @@ +HTTP/1.1 207 Multi-Status +Date: Dow, 01 Jan 2000 00:00:00 GMT +Content-Length: 183 +Content-Type: text/xml; charset="utf-8" + + + + + /user1/home/ + HTTP/1.1 423 Resource Locked + + diff --git a/testing/tests/regression-suite/812-Spec-LOCK-1.test b/testing/tests/regression-suite/812-Spec-LOCK-1.test new file mode 100644 index 00000000..9e20d747 --- /dev/null +++ b/testing/tests/regression-suite/812-Spec-LOCK-1.test @@ -0,0 +1,26 @@ +# +# Test specification compliance for LOCK request +# - This is a request for something which is already locked +# and should fail. +# +TYPE=LOCK +URL=http://mycaldav/caldav.php/user1/home/ +HEADER=Depth: 0 +HEADER=Timeout: Infinite,Second-4100000000 +HEADER=Content-type: text/xml; charset="utf-8" +HEAD + +# +# Include the data in-line +# +BEGINDATA + + + + + + http://andrew.mcmillan.net.nz/node/5/ + + +ENDDATA + diff --git a/testing/tests/regression-suite/815-Spec-UNLOCK-1.result b/testing/tests/regression-suite/815-Spec-UNLOCK-1.result new file mode 100644 index 00000000..ed3747cf --- /dev/null +++ b/testing/tests/regression-suite/815-Spec-UNLOCK-1.result @@ -0,0 +1,12 @@ +HTTP/1.1 207 Multi-Status +Date: Dow, 01 Jan 2000 00:00:00 GMT +Content-Length: 183 +Content-Type: text/xml; charset="utf-8" + + + + + /user1/home/ + HTTP/1.1 423 Resource Locked + + diff --git a/testing/tests/regression-suite/815-Spec-UNLOCK-1.test b/testing/tests/regression-suite/815-Spec-UNLOCK-1.test new file mode 100644 index 00000000..03a2353c --- /dev/null +++ b/testing/tests/regression-suite/815-Spec-UNLOCK-1.test @@ -0,0 +1,14 @@ +# +# Test specification compliance for LOCK/UNLOCK request +# - This should fail because we provide an invalid lock token +# +TYPE=UNLOCK +URL=http://mycaldav/caldav.php/user1/home/ + +HEADER=Content-type: text/xml; charset="utf-8" +HEADER=Lock-Token: +HEAD + +# +# There is no data for an UNLOCK request +# diff --git a/testing/tests/regression-suite/816-Spec-UNLOCK-1.result b/testing/tests/regression-suite/816-Spec-UNLOCK-1.result new file mode 100644 index 00000000..e69de29b diff --git a/testing/tests/regression-suite/816-Spec-UNLOCK-1.test b/testing/tests/regression-suite/816-Spec-UNLOCK-1.test new file mode 100644 index 00000000..2047e5e0 --- /dev/null +++ b/testing/tests/regression-suite/816-Spec-UNLOCK-1.test @@ -0,0 +1,16 @@ +# +# Test specification compliance for LOCK/UNLOCK request +# +TYPE=UNLOCK +URL=http://mycaldav/caldav.php/user1/home/ + +# Get the lock token from the earlier lock +GETSQL=locktoken +SELECT opaquelocktoken FROM locks WHERE dav_name = '/user1/home/' +ENDSQL + +HEADER=Lock-Token: +HEAD + +# There is no data for an UNLOCK request +#