1.1 --- a/conf/postgresql/schema.sql Thu Mar 10 01:43:31 2016 +0100 1.2 +++ b/conf/postgresql/schema.sql Fri Mar 11 01:33:45 2016 +0100 1.3 @@ -81,7 +81,7 @@ 1.4 1.5 create table freebusy_provider_datetimes ( 1.6 store_user varchar not null, 1.7 - "start" varchar not null 1.8 + "start" varchar 1.9 ); 1.10 1.11 -- Object store request details. 1.12 @@ -128,12 +128,14 @@ 1.13 -- Journal user groups and limits. 1.14 1.15 create table quota_limits ( 1.16 + quota varchar not null, 1.17 user_group varchar not null, 1.18 quota_limit varchar not null, 1.19 primary key(user_group) 1.20 ); 1.21 1.22 create table user_groups ( 1.23 + quota varchar not null, 1.24 store_user varchar not null, 1.25 user_group varchar not null, 1.26 primary key(store_user, user_group)
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/docs/wiki/DatabaseStore Fri Mar 11 01:33:45 2016 +0100 2.3 @@ -0,0 +1,15 @@ 2.4 += Database Store = 2.5 + 2.6 +The database data store offers a mechanism for storing calendar objects and free/busy 2.7 +details in a database system, currently focusing on relational database systems, with 2.8 +specific support for PostgreSQL. 2.9 + 2.10 +Benefits of the database store include convenient and standardised interfaces for 2.11 +querying and inspecting the data, together with various guarantees around the durability 2.12 +of the stored data. However, more administrative knowledge is usually required to operate 2.13 +database installations satisfactorily, and activities such as archiving require extra 2.14 +planning and expertise. 2.15 + 2.16 +The [[../FileStore|file store]] offers a more convenient method of managing calendar 2.17 +data, albeit offering arguably less scalability and less convenience when data volumes 2.18 +become significantly large.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/docs/wiki/FileStore Fri Mar 11 01:33:45 2016 +0100 3.3 @@ -0,0 +1,15 @@ 3.4 += File Store = 3.5 + 3.6 +The file data store is the default mechanism for storing calendar objects and 3.7 +free/busy details, making use of various directories as described in the 3.8 +[[../FilesystemUsage|filesystem usage guide]]. 3.9 + 3.10 +Benefits of the file store include transparency and ease of administration: 3.11 +all data is stored in text files, direct modification of certain files can be 3.12 +performed to change the system's behaviour, archiving is possible using 3.13 +traditional filesystem tools. However, the simple representation may make 3.14 +certain operations costly, such as the modification of tabular data, and 3.15 +querying of data may not always be particularly convenient. 3.16 + 3.17 +Thus, the [[../DatabaseStore|database store]] exists as an alternative, offering 3.18 +different characteristics to those of the file store.
4.1 --- a/docs/wiki/FilesystemUsage Thu Mar 10 01:43:31 2016 +0100 4.2 +++ b/docs/wiki/FilesystemUsage Fri Mar 11 01:33:45 2016 +0100 4.3 @@ -26,6 +26,11 @@ 4.4 Note that the free/busy resources are located in `/var/www` as opposed to 4.5 `/var/lib` since they are intended to be published on the Web. 4.6 4.7 +Meanwhile, the journal and store resources are only present in the filesystem 4.8 +if the [[../FileStore|file store]] is in use. Where a 4.9 +[[../DatabaseStore|database store]] is being used instead, such resources are 4.10 +located in a database system. 4.11 + 4.12 == Journal Structure == 4.13 4.14 Within the journal directory are a collection of subdirectories, each of which
5.1 --- a/docs/wiki/GettingStarted Thu Mar 10 01:43:31 2016 +0100 5.2 +++ b/docs/wiki/GettingStarted Fri Mar 11 01:33:45 2016 +0100 5.3 @@ -97,6 +97,10 @@ 5.4 || Postfix routing and transport configuration 5.5 || [[../MailIntegration|E-Mail Integration]] and 5.6 .. [[../MailboxIntegration|Mailbox Integration]] 5.7 +== 5.8 +`postgresql` 5.9 +|| PostgreSQL configuration 5.10 +|| [[../DatabaseStore|Database Store]] 5.11 }}} 5.12 5.13 == Configuring the Software ==
6.1 --- a/imiptools/stores/common.py Thu Mar 10 01:43:31 2016 +0100 6.2 +++ b/imiptools/stores/common.py Fri Mar 11 01:33:45 2016 +0100 6.3 @@ -19,18 +19,12 @@ 6.4 this program. If not, see <http://www.gnu.org/licenses/>. 6.5 """ 6.6 6.7 -from imiptools.dates import format_datetime 6.8 +from imiptools.dates import format_datetime, get_datetime 6.9 6.10 class StoreBase: 6.11 6.12 "The core operations of a data store." 6.13 6.14 - def acquire_lock(self, user, timeout=None): 6.15 - pass 6.16 - 6.17 - def release_lock(self, user): 6.18 - pass 6.19 - 6.20 # User discovery. 6.21 6.22 def get_users(self): 6.23 @@ -240,7 +234,7 @@ 6.24 6.25 # Otherwise, return the providers. 6.26 6.27 - return t[1:] 6.28 + return t 6.29 6.30 def _set_freebusy_providers(self, user, dt_string, t): 6.31 6.32 @@ -567,6 +561,15 @@ 6.33 6.34 pass 6.35 6.36 + def set_limit(self, quota, group, limit): 6.37 + 6.38 + """ 6.39 + For the given 'quota', set for a user 'group' the given 'limit' on 6.40 + resource usage. 6.41 + """ 6.42 + 6.43 + pass 6.44 + 6.45 # Free/busy period access for users within quota groups. 6.46 6.47 def get_freebusy(self, quota, user, mutable=False):
7.1 --- a/imiptools/stores/database/common.py Thu Mar 10 01:43:31 2016 +0100 7.2 +++ b/imiptools/stores/database/common.py Fri Mar 11 01:33:45 2016 +0100 7.3 @@ -809,7 +809,7 @@ 7.4 "select store_user, user_group from user_groups :condition", 7.5 columns, values) 7.6 7.7 - self.cursor.execute(query) 7.8 + self.cursor.execute(query, values) 7.9 return dict(self.cursor.fetchall()) 7.10 7.11 def get_limits(self, quota): 7.12 @@ -826,9 +826,40 @@ 7.13 "select user_group, quota_limit from quota_limits :condition", 7.14 columns, values) 7.15 7.16 - self.cursor.execute(query) 7.17 + self.cursor.execute(query, values) 7.18 return dict(self.cursor.fetchall()) 7.19 7.20 + def set_limit(self, quota, group, limit): 7.21 + 7.22 + """ 7.23 + For the given 'quota', set for a user 'group' the given 'limit' on 7.24 + resource usage. 7.25 + """ 7.26 + 7.27 + columns = ["quota", "user_group"] 7.28 + values = [quota, group] 7.29 + setcolumns = ["quota_limit"] 7.30 + setvalues = [limit] 7.31 + 7.32 + query, values = self.get_query( 7.33 + "update quota_limits :set :condition", 7.34 + columns, values, setcolumns, setvalues) 7.35 + 7.36 + self.cursor.execute(query, values) 7.37 + 7.38 + if self.cursor.rowcount > 0: 7.39 + return True 7.40 + 7.41 + columns = ["quota", "user_group", "quota_limit"] 7.42 + values = [quota, group, limit] 7.43 + 7.44 + query, values = self.get_query( 7.45 + "insert into quota_limits (:columns) values (:values)", 7.46 + columns, values) 7.47 + 7.48 + self.cursor.execute(query, values) 7.49 + return True 7.50 + 7.51 # Free/busy period access for users within quota groups. 7.52 7.53 def get_freebusy(self, quota, user, mutable=False):
8.1 --- a/imiptools/stores/database/postgresql.py Thu Mar 10 01:43:31 2016 +0100 8.2 +++ b/imiptools/stores/database/postgresql.py Fri Mar 11 01:33:45 2016 +0100 8.3 @@ -34,6 +34,14 @@ 8.4 connection.autocommit = True 8.5 DatabaseStore.__init__(self, connection, psycopg2.paramstyle) 8.6 8.7 + def acquire_lock(self, user, timeout=None): 8.8 + query = "select pg_advisory_lock(20160311)" 8.9 + self.cursor.execute(query) 8.10 + 8.11 + def release_lock(self, user): 8.12 + query = "select pg_advisory_unlock(20160311)" 8.13 + self.cursor.execute(query) 8.14 + 8.15 class Journal(DatabaseJournal): 8.16 8.17 "A PostgreSQL journal system supporting quotas." 8.18 @@ -46,4 +54,12 @@ 8.19 connection.autocommit = True 8.20 DatabaseJournal.__init__(self, connection, psycopg2.paramstyle) 8.21 8.22 + def acquire_lock(self, user, timeout=None): 8.23 + query = "select pg_advisory_lock(20160312)" 8.24 + self.cursor.execute(query) 8.25 + 8.26 + def release_lock(self, user): 8.27 + query = "select pg_advisory_unlock(20160312)" 8.28 + self.cursor.execute(query) 8.29 + 8.30 # vim: tabstop=4 expandtab shiftwidth=4
9.1 --- a/imiptools/stores/file.py Thu Mar 10 01:43:31 2016 +0100 9.2 +++ b/imiptools/stores/file.py Fri Mar 11 01:33:45 2016 +0100 9.3 @@ -810,6 +810,23 @@ 9.4 9.5 return dict(self._get_table_atomic(quota, filename, tab_separated=False)) 9.6 9.7 + def set_limit(self, quota, group, limit): 9.8 + 9.9 + """ 9.10 + For the given 'quota', set for a user 'group' the given 'limit' on 9.11 + resource usage. 9.12 + """ 9.13 + 9.14 + filename = self.get_object_in_store(quota, "limits") 9.15 + if not filename: 9.16 + return None 9.17 + 9.18 + limits = self.get_limits(quota) or {} 9.19 + limits[group] = limit 9.20 + 9.21 + self._set_table_atomic(quota, filename, limits.items()) 9.22 + return True 9.23 + 9.24 # Free/busy period access for users within quota groups. 9.25 9.26 def get_freebusy(self, quota, user, mutable=False):
10.1 --- a/tests/common.sh Thu Mar 10 01:43:31 2016 +0100 10.2 +++ b/tests/common.sh Fri Mar 11 01:33:45 2016 +0100 10.3 @@ -1,23 +1,6 @@ 10.4 #!/bin/sh 10.5 10.6 -THIS_DIR=`dirname "$0"` 10.7 -BASE_DIR="$THIS_DIR/.." 10.8 - 10.9 -STORETYPE=file 10.10 - 10.11 -if [ "$STORETYPE" = "file" ]; then 10.12 - STORE=/tmp/store 10.13 - JOURNAL=/tmp/journal 10.14 -elif [ "$STORETYPE" = "postgresql" ]; then 10.15 - DBNAME='test' 10.16 - STORE="dbname=$DBNAME" 10.17 - JOURNAL="$STORE" 10.18 -fi 10.19 - 10.20 -STATIC=/tmp/static 10.21 -PREFS=/tmp/prefs 10.22 - 10.23 -ARGS="-T $STORETYPE -S $STORE -P $STATIC -p $PREFS -j $JOURNAL -d" 10.24 +. "`dirname \"$0\"`/common_minimal.sh" 10.25 10.26 ACCEPT_SCRIPT="$THIS_DIR/test_handle.py" 10.27 ACCEPT_ARGS="accept $STORETYPE $STORE $JOURNAL $PREFS" 10.28 @@ -38,16 +21,11 @@ 10.29 10.30 PERSON_SCRIPT="$BASE_DIR/imip_person.py" 10.31 10.32 -RESOURCE_SCRIPT="$BASE_DIR/imip_resource.py" 10.33 - 10.34 -SHOWMAIL="$BASE_DIR/tools/showmail.py" 10.35 +SET_QUOTA_LIMIT="$BASE_DIR/tools/set_quota_limit.py" 10.36 +SET_QUOTA_LIMIT_ARGS="-T $STORETYPE -j $JOURNAL" 10.37 10.38 TAB=`printf '\t'` 10.39 10.40 -TEMPLATES="$THIS_DIR/templates" 10.41 - 10.42 -ERROR=err.tmp 10.43 - 10.44 PYTHONPATH="$BASE_DIR" 10.45 export PYTHONPATH 10.46
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 11.2 +++ b/tests/common_minimal.sh Fri Mar 11 01:33:45 2016 +0100 11.3 @@ -0,0 +1,28 @@ 11.4 +#!/bin/sh 11.5 + 11.6 +THIS_DIR=`dirname "$0"` 11.7 +BASE_DIR="$THIS_DIR/.." 11.8 + 11.9 +STORETYPE=file 11.10 + 11.11 +if [ "$STORETYPE" = "file" ]; then 11.12 + STORE=/tmp/store 11.13 + JOURNAL=/tmp/journal 11.14 +elif [ "$STORETYPE" = "postgresql" ]; then 11.15 + DBNAME='test' 11.16 + STORE="dbname=$DBNAME" 11.17 + JOURNAL="$STORE" 11.18 +fi 11.19 + 11.20 +STATIC=/tmp/static 11.21 +PREFS=/tmp/prefs 11.22 + 11.23 +ARGS="-T $STORETYPE -S $STORE -P $STATIC -p $PREFS -j $JOURNAL -d" 11.24 + 11.25 +RESOURCE_SCRIPT="$BASE_DIR/imip_resource.py" 11.26 + 11.27 +SHOWMAIL="$BASE_DIR/tools/showmail.py" 11.28 + 11.29 +TEMPLATES="$THIS_DIR/templates" 11.30 + 11.31 +ERROR=err.tmp
12.1 --- a/tests/list_table.py Thu Mar 10 01:43:31 2016 +0100 12.2 +++ b/tests/list_table.py Fri Mar 11 01:33:45 2016 +0100 12.3 @@ -56,7 +56,8 @@ 12.4 # Periods. 12.5 12.6 if table == "entries": 12.7 - data = journal.get_entries(user) 12.8 + group = args[0] 12.9 + data = journal.get_entries(user, group) 12.10 show_periods(data) 12.11 12.12 elif table == "freebusy": 12.13 @@ -78,6 +79,10 @@ 12.14 data = store.get_requests(user) 12.15 show_tuples(data) 12.16 12.17 + elif table == "freebusy_providers": 12.18 + data = store.get_freebusy_providers(user) 12.19 + show_tuples(data) 12.20 + 12.21 # Objects. 12.22 12.23 elif table == "countered_object":
13.1 --- a/tests/resource_request.sh Thu Mar 10 01:43:31 2016 +0100 13.2 +++ b/tests/resource_request.sh Fri Mar 11 01:33:45 2016 +0100 13.3 @@ -1,17 +1,6 @@ 13.4 #!/bin/sh 13.5 13.6 -THIS_DIR=`dirname $0` 13.7 - 13.8 -TEMPLATES="$THIS_DIR/templates" 13.9 -RESOURCE_SCRIPT="$THIS_DIR/../imip_resource.py" 13.10 -SHOWMAIL="$THIS_DIR/../tools/showmail.py" 13.11 -STORE=/tmp/store 13.12 -STATIC=/tmp/static 13.13 -PREFS=/tmp/prefs 13.14 -JOURNAL=/tmp/journal 13.15 -ARGS="-S $STORE -P $STATIC -p $PREFS -j $JOURNAL -d" 13.16 - 13.17 -ERROR=err.tmp 13.18 +. "`dirname \"$0\"`/common_minimal.sh" 13.19 13.20 export N=$1 13.21 export START=20141126T090000
14.1 --- a/tests/test_resource_invitation_add.sh Thu Mar 10 01:43:31 2016 +0100 14.2 +++ b/tests/test_resource_invitation_add.sh Fri Mar 11 01:33:45 2016 +0100 14.3 @@ -4,9 +4,6 @@ 14.4 14.5 USER="mailto:resource-room-confroom@example.com" 14.6 SENDER="mailto:paul.boddie@example.com" 14.7 -FBFILE="$STORE/$USER/freebusy" 14.8 -FBSENDERFILE="$STORE/$SENDER/freebusy" 14.9 -FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER" 14.10 14.11 mkdir -p "$PREFS/$USER" 14.12 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 14.13 @@ -20,7 +17,9 @@ 14.14 14.15 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-recurring.txt" 2>> $ERROR 14.16 14.17 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBSENDERFILE" \ 14.18 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 14.19 +| tee out0f.tmp \ 14.20 +| grep -q "^20141212T090000Z${TAB}20141212T100000Z" \ 14.21 && echo "Success" \ 14.22 || echo "Failed" 14.23 14.24 @@ -34,7 +33,9 @@ 14.25 && echo "Success" \ 14.26 || echo "Failed" 14.27 14.28 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBFILE" \ 14.29 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 14.30 +| tee out1f.tmp \ 14.31 +| grep -q "^20141212T090000Z${TAB}20141212T100000Z" \ 14.32 && echo "Success" \ 14.33 || echo "Failed" 14.34 14.35 @@ -44,7 +45,9 @@ 14.36 | "$SHOWMAIL" \ 14.37 > out2.tmp 14.38 14.39 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBSENDEROTHERFILE" \ 14.40 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \ 14.41 +| tee out2o.tmp \ 14.42 +| grep -q "^20141212T090000Z${TAB}20141212T100000Z" \ 14.43 && echo "Success" \ 14.44 || echo "Failed" 14.45 14.46 @@ -52,8 +55,11 @@ 14.47 14.48 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-add-recurring.txt" 2>> $ERROR 14.49 14.50 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBSENDERFILE" \ 14.51 -&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "$FBSENDERFILE" \ 14.52 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 14.53 +> out2f.tmp 14.54 + 14.55 + grep -q "^20141212T090000Z${TAB}20141212T100000Z" "out2f.tmp" \ 14.56 +&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "out2f.tmp" \ 14.57 && echo "Success" \ 14.58 || echo "Failed" 14.59 14.60 @@ -67,8 +73,11 @@ 14.61 && echo "Success" \ 14.62 || echo "Failed" 14.63 14.64 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBFILE" \ 14.65 -&& ! grep -q "^20150109T090000Z${TAB}20150109T100000Z" "$FBFILE" \ 14.66 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 14.67 +> out3f.tmp 14.68 + 14.69 + grep -q "^20141212T090000Z${TAB}20141212T100000Z" "out3f.tmp" \ 14.70 +&& ! grep -q "^20150109T090000Z${TAB}20150109T100000Z" "out3f.tmp" \ 14.71 && echo "Success" \ 14.72 || echo "Failed" 14.73 14.74 @@ -94,8 +103,11 @@ 14.75 && echo "Success" \ 14.76 || echo "Failed" 14.77 14.78 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBFILE" \ 14.79 -&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "$FBFILE" \ 14.80 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 14.81 +> out5f.tmp 14.82 + 14.83 + grep -q "^20141212T090000Z${TAB}20141212T100000Z" "out5f.tmp" \ 14.84 +&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "out5f.tmp" \ 14.85 && echo "Success" \ 14.86 || echo "Failed" 14.87 14.88 @@ -105,7 +117,10 @@ 14.89 | "$SHOWMAIL" \ 14.90 > out6.tmp 14.91 14.92 - grep -q "^20141212T090000Z${TAB}20141212T100000Z" "$FBSENDEROTHERFILE" \ 14.93 -&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "$FBSENDEROTHERFILE" \ 14.94 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \ 14.95 +> out6o.tmp 14.96 + 14.97 + grep -q "^20141212T090000Z${TAB}20141212T100000Z" "out6o.tmp" \ 14.98 +&& grep -q "^20150109T090000Z${TAB}20150109T100000Z" "out6o.tmp" \ 14.99 && echo "Success" \ 14.100 || echo "Failed"
15.1 --- a/tests/test_resource_invitation_constraints.sh Thu Mar 10 01:43:31 2016 +0100 15.2 +++ b/tests/test_resource_invitation_constraints.sh Fri Mar 11 01:33:45 2016 +0100 15.3 @@ -5,12 +5,6 @@ 15.4 USER="mailto:resource-room-sauna@example.com" 15.5 SENDER="mailto:paul.boddie@example.com" 15.6 RIVALSENDER="mailto:vincent.vole@example.com" 15.7 -FBFILE="$STORE/$USER/freebusy" 15.8 -FBOFFERFILE="$STORE/$USER/freebusy-offers" 15.9 -FBSENDERFILE="$STORE/$SENDER/freebusy" 15.10 -FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER" 15.11 -FBSENDERREQUESTS="$STORE/$SENDER/requests" 15.12 -FBRIVALSENDERFILE="$STORE/$RIVALSENDER/freebusy" 15.13 15.14 mkdir -p "$PREFS/$USER" 15.15 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 15.16 @@ -32,7 +26,9 @@ 15.17 15.18 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR 15.19 15.20 - grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.21 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 15.22 +| tee out0f.tmp \ 15.23 +| grep -q "^20141126T151000Z${TAB}20141126T154500Z" \ 15.24 && echo "Success" \ 15.25 || echo "Failed" 15.26 15.27 @@ -48,12 +44,16 @@ 15.28 && echo "Success" \ 15.29 || echo "Failed" 15.30 15.31 - ! [ -e "$FBFILE" ] \ 15.32 -|| ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \ 15.33 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 15.34 +> out1f.tmp 15.35 + 15.36 + ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out1f.tmp" \ 15.37 && echo "Success" \ 15.38 || echo "Failed" 15.39 15.40 - grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 15.41 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 15.42 +| tee out1o.tmp \ 15.43 +| grep -q "^20141126T151500Z${TAB}20141126T154500Z" \ 15.44 && echo "Success" \ 15.45 || echo "Failed" 15.46 15.47 @@ -64,20 +64,28 @@ 15.48 | "$SHOWMAIL" \ 15.49 > out2.tmp 15.50 15.51 - ( ! [ -e "$FBSENDEROTHERFILE" ] \ 15.52 - || ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE") \ 15.53 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \ 15.54 +> out2f.tmp 15.55 + 15.56 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out2f.tmp" \ 15.57 && echo "Success" \ 15.58 || echo "Failed" 15.59 15.60 - grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161000' "$STORE/$SENDER/objects/event13@example.com" \ 15.61 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "object" "event13@example.com" \ 15.62 +| tee out2O.tmp \ 15.63 +| grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161000' \ 15.64 && echo "Success" \ 15.65 || echo "Failed" 15.66 15.67 - grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' "$STORE/$SENDER/counters/objects/event13@example.com/$USER" \ 15.68 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "countered_object" "event13@example.com" "$USER" \ 15.69 +| tee out2C.tmp \ 15.70 +| grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' \ 15.71 && echo "Success" \ 15.72 || echo "Failed" 15.73 15.74 - grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 15.75 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 15.76 +| tee out2r.tmp \ 15.77 +| grep -q 'event13@example.com' \ 15.78 && echo "Success" \ 15.79 || echo "Failed" 15.80 15.81 @@ -85,8 +93,11 @@ 15.82 15.83 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR 15.84 15.85 - ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 15.86 -&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 15.87 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 15.88 +> out2R.tmp 15.89 + 15.90 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out2R.tmp" \ 15.91 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out2R.tmp" \ 15.92 && echo "Success" \ 15.93 || echo "Failed" 15.94 15.95 @@ -108,12 +119,17 @@ 15.96 | "$SHOWMAIL" \ 15.97 > out4.tmp 15.98 15.99 - ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 15.100 -&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 15.101 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 15.102 +> out4R.tmp 15.103 + 15.104 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out4R.tmp" \ 15.105 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out4R.tmp" \ 15.106 && echo "Success" \ 15.107 || echo "Failed" 15.108 15.109 - grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' "$STORE/$RIVALSENDER/objects/event18@example.com" \ 15.110 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "object" "event18@example.com" \ 15.111 +| tee out4O.tmp \ 15.112 +| grep -q 'ATTENDEE.*;PARTSTAT=DECLINED' \ 15.113 && echo "Success" \ 15.114 || echo "Failed" 15.115 15.116 @@ -134,9 +150,12 @@ 15.117 15.118 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR 15.119 15.120 - ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.121 -&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.122 -&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.123 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 15.124 +> out5f.tmp 15.125 + 15.126 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out5f.tmp" \ 15.127 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out5f.tmp" \ 15.128 +&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out5f.tmp" \ 15.129 && echo "Success" \ 15.130 || echo "Failed" 15.131 15.132 @@ -144,7 +163,10 @@ 15.133 && echo "Success" \ 15.134 || echo "Failed" 15.135 15.136 - ! grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 15.137 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 15.138 +> out5r.tmp 15.139 + 15.140 + ! grep -q 'event13@example.com' "out5r.tmp" \ 15.141 && echo "Success" \ 15.142 || echo "Failed" 15.143 15.144 @@ -159,13 +181,18 @@ 15.145 && echo "Success" \ 15.146 || echo "Failed" 15.147 15.148 - grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ 15.149 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 15.150 +| tee out6f.tmp \ 15.151 +| grep -q "^20141126T150000Z${TAB}20141126T154500Z" \ 15.152 && echo "Success" \ 15.153 || echo "Failed" 15.154 15.155 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 15.156 -&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 15.157 -&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 15.158 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 15.159 +> out6o.tmp 15.160 + 15.161 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out6o.tmp" \ 15.162 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out6o.tmp" \ 15.163 +&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out6o.tmp" \ 15.164 && echo "Success" \ 15.165 || echo "Failed" 15.166 15.167 @@ -176,10 +203,13 @@ 15.168 | "$SHOWMAIL" \ 15.169 > out7.tmp 15.170 15.171 - grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.172 -&& ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.173 -&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.174 -&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 15.175 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 15.176 +> out7f.tmp 15.177 + 15.178 + grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out7f.tmp" \ 15.179 +&& ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out7f.tmp" \ 15.180 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out7f.tmp" \ 15.181 +&& ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out7f.tmp" \ 15.182 && echo "Success" \ 15.183 || echo "Failed" 15.184 15.185 @@ -187,7 +217,10 @@ 15.186 && echo "Success" \ 15.187 || echo "Failed" 15.188 15.189 - ! grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 15.190 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 15.191 +> out7r.tmp 15.192 + 15.193 + ! grep -q 'event13@example.com' "out7r.tmp" \ 15.194 && echo "Success" \ 15.195 || echo "Failed" 15.196
16.1 --- a/tests/test_resource_invitation_constraints_alternative.sh Thu Mar 10 01:43:31 2016 +0100 16.2 +++ b/tests/test_resource_invitation_constraints_alternative.sh Fri Mar 11 01:33:45 2016 +0100 16.3 @@ -5,12 +5,6 @@ 16.4 USER="mailto:resource-room-sauna@example.com" 16.5 SENDER="mailto:paul.boddie@example.com" 16.6 RIVALSENDER="mailto:vincent.vole@example.com" 16.7 -FBFILE="$STORE/$USER/freebusy" 16.8 -FBOFFERFILE="$STORE/$USER/freebusy-offers" 16.9 -FBSENDERFILE="$STORE/$SENDER/freebusy" 16.10 -FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER" 16.11 -FBSENDERREQUESTS="$STORE/$SENDER/requests" 16.12 -FBRIVALSENDERFILE="$STORE/$RIVALSENDER/freebusy" 16.13 16.14 mkdir -p "$PREFS/$USER" 16.15 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 16.16 @@ -32,7 +26,9 @@ 16.17 16.18 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-bad.txt" 2>> $ERROR 16.19 16.20 - grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 16.21 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 16.22 +| tee out0f.tmp \ 16.23 +| grep -q "^20141126T151000Z${TAB}20141126T154500Z" \ 16.24 && echo "Success" \ 16.25 || echo "Failed" 16.26 16.27 @@ -47,12 +43,16 @@ 16.28 && echo "Success" \ 16.29 || echo "Failed" 16.30 16.31 - ! [ -e "$FBFILE" ] \ 16.32 -|| ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \ 16.33 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 16.34 +> out1f.tmp 16.35 + 16.36 + ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out1f.tmp" \ 16.37 && echo "Success" \ 16.38 || echo "Failed" 16.39 16.40 - grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 16.41 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 16.42 +| tee out1o.tmp \ 16.43 +| grep -q "^20141126T151500Z${TAB}20141126T154500Z" \ 16.44 && echo "Success" \ 16.45 || echo "Failed" 16.46 16.47 @@ -63,21 +63,29 @@ 16.48 | "$SHOWMAIL" \ 16.49 > out2.tmp 16.50 16.51 - [ ! -e "$FBSENDEROTHERFILE" ] \ 16.52 -|| ( ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE" \ 16.53 - && ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBSENDEROTHERFILE" ) \ 16.54 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy_other" "$USER" \ 16.55 +> out2f.tmp 16.56 + 16.57 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out2f.tmp" \ 16.58 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out2f.tmp" \ 16.59 && echo "Success" \ 16.60 || echo "Failed" 16.61 16.62 - grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161000' "$STORE/$SENDER/objects/event13@example.com" \ 16.63 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "object" "event13@example.com" \ 16.64 +| tee out2O.tmp \ 16.65 +| grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161000' \ 16.66 && echo "Success" \ 16.67 || echo "Failed" 16.68 16.69 - grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' "$STORE/$SENDER/counters/objects/event13@example.com/$USER" \ 16.70 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "countered_object" "event13@example.com" "$USER" \ 16.71 +| tee out2C.tmp \ 16.72 +| grep -q 'DTSTART;TZID=Europe/Oslo.*:20141126T161500' \ 16.73 && echo "Success" \ 16.74 || echo "Failed" 16.75 16.76 - grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 16.77 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 16.78 +| tee out2R.tmp \ 16.79 +| grep -q 'event13@example.com' \ 16.80 && echo "Success" \ 16.81 || echo "Failed" 16.82 16.83 @@ -94,12 +102,17 @@ 16.84 | "$SHOWMAIL" \ 16.85 > out4.tmp 16.86 16.87 - ! [ -e "$FBFILE" ] \ 16.88 -|| ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBFILE" \ 16.89 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 16.90 +> out4f.tmp 16.91 + 16.92 + ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out4f.tmp" \ 16.93 && echo "Success" \ 16.94 || echo "Failed" 16.95 16.96 - ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 16.97 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 16.98 +> out4o.tmp 16.99 + 16.100 + ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out4o.tmp" \ 16.101 && echo "Success" \ 16.102 || echo "Failed" 16.103 16.104 @@ -107,8 +120,11 @@ 16.105 16.106 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-rival.txt" 2>> $ERROR 16.107 16.108 - ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 16.109 -&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 16.110 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 16.111 +> out4r.tmp 16.112 + 16.113 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out4r.tmp" \ 16.114 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out4r.tmp" \ 16.115 && echo "Success" \ 16.116 || echo "Failed" 16.117 16.118 @@ -123,11 +139,16 @@ 16.119 && echo "Success" \ 16.120 || echo "Failed" 16.121 16.122 - grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBFILE" \ 16.123 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 16.124 +| tee out5f.tmp \ 16.125 +| grep -q "^20141126T153000Z${TAB}20141126T154500Z" \ 16.126 && echo "Success" \ 16.127 || echo "Failed" 16.128 16.129 - ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 16.130 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 16.131 +> out5o.tmp 16.132 + 16.133 + ! grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out5o.tmp" \ 16.134 && echo "Success" \ 16.135 || echo "Failed" 16.136 16.137 @@ -137,13 +158,18 @@ 16.138 | "$SHOWMAIL" \ 16.139 > out6.tmp 16.140 16.141 - ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 16.142 -&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 16.143 -&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "$FBRIVALSENDERFILE" \ 16.144 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 16.145 +> out6r.tmp 16.146 + 16.147 + ! grep -q "^20141126T151000Z${TAB}20141126T154500Z" "out6r.tmp" \ 16.148 +&& ! grep -q "^20141126T151500Z${TAB}20141126T154500Z" "out6r.tmp" \ 16.149 +&& grep -q "^20141126T153000Z${TAB}20141126T154500Z" "out6r.tmp" \ 16.150 && echo "Success" \ 16.151 || echo "Failed" 16.152 16.153 - grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' "$STORE/$RIVALSENDER/objects/event18@example.com" \ 16.154 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "object" "event18@example.com" \ 16.155 +| tee out6O.tmp \ 16.156 +| grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' \ 16.157 && echo "Success" \ 16.158 || echo "Failed" 16.159
17.1 --- a/tests/test_resource_invitation_constraints_multiple.sh Thu Mar 10 01:43:31 2016 +0100 17.2 +++ b/tests/test_resource_invitation_constraints_multiple.sh Fri Mar 11 01:33:45 2016 +0100 17.3 @@ -5,9 +5,6 @@ 17.4 USER="mailto:resource-room-sauna@example.com" 17.5 SENDER="mailto:paul.boddie@example.com" 17.6 OUTSIDESENDER="mailto:paul.boddie@example.net" 17.7 -FBFILE="$STORE/$USER/freebusy" 17.8 -FBSENDERFILE="$STORE/$SENDER/freebusy" 17.9 -FBOUTSIDESENDERFILE="$STORE/$OUTSIDESENDER/freebusy" 17.10 17.11 mkdir -p "$PREFS/$USER" 17.12 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 17.13 @@ -32,7 +29,9 @@ 17.14 17.15 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-outsider.txt" 2>> $ERROR 17.16 17.17 - grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOUTSIDESENDERFILE" \ 17.18 + "$LIST_SCRIPT" $LIST_ARGS "$OUTSIDESENDER" "freebusy" \ 17.19 +| tee out0f.tmp \ 17.20 +| grep -q "^20141126T150000Z${TAB}20141126T154500Z" \ 17.21 && echo "Success" \ 17.22 || echo "Failed" 17.23 17.24 @@ -48,8 +47,10 @@ 17.25 && echo "Success" \ 17.26 || echo "Failed" 17.27 17.28 - ! [ -e "$FBFILE" ] \ 17.29 -|| ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ 17.30 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.31 +> out1f.tmp 17.32 + 17.33 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out1f.tmp" \ 17.34 && echo "Success" \ 17.35 || echo "Failed" 17.36 17.37 @@ -71,8 +72,9 @@ 17.38 && echo "Success" \ 17.39 || echo "Failed" 17.40 17.41 - [ -e "$FBFILE" ] \ 17.42 -&& grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBFILE" \ 17.43 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.44 +| tee out2f.tmp \ 17.45 +| grep -q "^20141126T150000Z${TAB}20141126T154500Z" \ 17.46 && echo "Success" \ 17.47 || echo "Failed" 17.48 17.49 @@ -105,7 +107,9 @@ 17.50 17.51 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-acl.txt" 2>> $ERROR 17.52 17.53 - grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBSENDERFILE" \ 17.54 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 17.55 +| tee out3f.tmp \ 17.56 +| grep -q "^20141126T160000Z${TAB}20141126T164500Z" \ 17.57 && echo "Success" \ 17.58 || echo "Failed" 17.59 17.60 @@ -121,8 +125,10 @@ 17.61 && echo "Success" \ 17.62 || echo "Failed" 17.63 17.64 - ! [ -e "$FBFILE" ] \ 17.65 -|| ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBFILE" \ 17.66 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.67 +> out4f.tmp 17.68 + 17.69 + ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out4f.tmp" \ 17.70 && echo "Success" \ 17.71 || echo "Failed" 17.72 17.73 @@ -136,7 +142,9 @@ 17.74 17.75 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-acl.txt" 2>> $ERROR 17.76 17.77 - grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBSENDERFILE" \ 17.78 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 17.79 +| tee out4s.tmp \ 17.80 +| grep -q "^20141126T160000Z${TAB}20141126T164500Z" \ 17.81 && echo "Success" \ 17.82 || echo "Failed" 17.83 17.84 @@ -152,8 +160,10 @@ 17.85 && echo "Success" \ 17.86 || echo "Failed" 17.87 17.88 - ! [ -e "$FBFILE" ] \ 17.89 -|| ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBFILE" \ 17.90 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.91 +> out5f.tmp 17.92 + 17.93 + ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out5f.tmp" \ 17.94 && echo "Success" \ 17.95 || echo "Failed" 17.96 17.97 @@ -168,7 +178,9 @@ 17.98 17.99 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-acl.txt" 2>> $ERROR 17.100 17.101 - grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBSENDERFILE" \ 17.102 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 17.103 +| tee out5s.tmp \ 17.104 +| grep -q "^20141126T160000Z${TAB}20141126T164500Z" \ 17.105 && echo "Success" \ 17.106 || echo "Failed" 17.107 17.108 @@ -184,8 +196,10 @@ 17.109 && echo "Success" \ 17.110 || echo "Failed" 17.111 17.112 - ! [ -e "$FBFILE" ] \ 17.113 -|| ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBFILE" \ 17.114 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.115 +> out6f.tmp 17.116 + 17.117 + ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out6f.tmp" \ 17.118 && echo "Success" \ 17.119 || echo "Failed" 17.120 17.121 @@ -214,8 +228,9 @@ 17.122 && echo "Success" \ 17.123 || echo "Failed" 17.124 17.125 - ! [ -e "$FBFILE" ] \ 17.126 -|| grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBFILE" \ 17.127 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 17.128 +| tee out7f.tmp \ 17.129 +| grep -q "^20141126T160000Z${TAB}20141126T164500Z" \ 17.130 && echo "Success" \ 17.131 || echo "Failed" 17.132
18.1 --- a/tests/test_resource_invitation_constraints_next_free.sh Thu Mar 10 01:43:31 2016 +0100 18.2 +++ b/tests/test_resource_invitation_constraints_next_free.sh Fri Mar 11 01:33:45 2016 +0100 18.3 @@ -5,13 +5,6 @@ 18.4 USER="mailto:resource-room-sauna@example.com" 18.5 SENDER="mailto:paul.boddie@example.com" 18.6 RIVALSENDER="mailto:vincent.vole@example.com" 18.7 -FBFILE="$STORE/$USER/freebusy" 18.8 -FBOTHERFILE="$STORE/$USER/freebusy-other/$SENDER" 18.9 -FBOFFERFILE="$STORE/$USER/freebusy-offers" 18.10 -FBSENDERFILE="$STORE/$SENDER/freebusy" 18.11 -FBSENDEROTHERFILE="$STORE/$SENDER/freebusy-other/$USER" 18.12 -FBSENDERREQUESTS="$STORE/$SENDER/requests" 18.13 -FBRIVALSENDERFILE="$STORE/$RIVALSENDER/freebusy" 18.14 18.15 mkdir -p "$PREFS/$USER" 18.16 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 18.17 @@ -32,8 +25,11 @@ 18.18 18.19 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-busy.txt" 2>> $ERROR 18.20 18.21 - [ `grep "event19@example.com" "$FBRIVALSENDERFILE" | wc -l` = '5' ] \ 18.22 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBRIVALSENDERFILE" \ 18.23 + "$LIST_SCRIPT" $LIST_ARGS "$RIVALSENDER" "freebusy" \ 18.24 +> out0s.tmp 18.25 + 18.26 + [ `grep "event19@example.com" "out0s.tmp" | wc -l` = '5' ] \ 18.27 +&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out0s.tmp" \ 18.28 && echo "Success" \ 18.29 || echo "Failed" 18.30 18.31 @@ -49,8 +45,11 @@ 18.32 && echo "Success" \ 18.33 || echo "Failed" 18.34 18.35 - [ `grep "event19@example.com" "$FBFILE" | wc -l` = '5' ] \ 18.36 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \ 18.37 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 18.38 +> out1f.tmp 18.39 + 18.40 + [ `grep "event19@example.com" "out1f.tmp" | wc -l` = '5' ] \ 18.41 +&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1f.tmp" \ 18.42 && echo "Success" \ 18.43 || echo "Failed" 18.44 18.45 @@ -67,8 +66,11 @@ 18.46 | "$SHOWMAIL" \ 18.47 > out3.tmp 18.48 18.49 - grep -q "^20141126T160000Z${TAB}20141126T170000Z" "$FBOTHERFILE" \ 18.50 -&& grep -q "^20141126T180000Z${TAB}20141126T190000Z" "$FBOTHERFILE" \ 18.51 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_other" "$SENDER" \ 18.52 +> out3f.tmp 18.53 + 18.54 + grep -q "^20141126T160000Z${TAB}20141126T170000Z" "out3f.tmp" \ 18.55 +&& grep -q "^20141126T180000Z${TAB}20141126T190000Z" "out3f.tmp" \ 18.56 && echo "Success" \ 18.57 || echo "Failed" 18.58 18.59 @@ -76,7 +78,9 @@ 18.60 18.61 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-sauna-good.txt" 2>> $ERROR 18.62 18.63 - grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 18.64 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 18.65 +| tee out3s.tmp \ 18.66 +| grep -q "^20141126T150000Z${TAB}20141126T154500Z" \ 18.67 && echo "Success" \ 18.68 || echo "Failed" 18.69 18.70 @@ -94,12 +98,15 @@ 18.71 && echo "Success" \ 18.72 || echo "Failed" 18.73 18.74 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 18.75 -&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBOFFERFILE" \ 18.76 -&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "$FBOFFERFILE" \ 18.77 -&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "$FBOFFERFILE" \ 18.78 -&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "$FBOFFERFILE" \ 18.79 -&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBOFFERFILE" \ 18.80 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 18.81 +> out6o.tmp 18.82 + 18.83 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out6o.tmp" \ 18.84 +&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out6o.tmp" \ 18.85 +&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "out6o.tmp" \ 18.86 +&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "out6o.tmp" \ 18.87 +&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "out6o.tmp" \ 18.88 +&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out6o.tmp" \ 18.89 && echo "Success" \ 18.90 || echo "Failed" 18.91 18.92 @@ -110,16 +117,23 @@ 18.93 | "$SHOWMAIL" \ 18.94 > out7.tmp 18.95 18.96 - grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 18.97 -&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBSENDERFILE" \ 18.98 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 18.99 +> out7s.tmp 18.100 + 18.101 + grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out7s.tmp" \ 18.102 +&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out7s.tmp" \ 18.103 && echo "Success" \ 18.104 || echo "Failed" 18.105 18.106 - [ -e "$STORE/$SENDER/counters/objects/event13@example.com/$USER" ] \ 18.107 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "countered_object" "event13@example.com" "$USER" \ 18.108 +| tee out7C.tmp \ 18.109 +| grep -q "event13@example.com" \ 18.110 && echo "Success" \ 18.111 || echo "Failed" 18.112 18.113 - grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 18.114 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 18.115 +| tee out7R.tmp \ 18.116 +| grep -q 'event13@example.com' \ 18.117 && echo "Success" \ 18.118 || echo "Failed" 18.119 18.120 @@ -132,16 +146,25 @@ 18.121 18.122 "$OUTGOING_SCRIPT" $ARGS < out8.tmp 2>> $ERROR 18.123 18.124 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBSENDERFILE" \ 18.125 -&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBSENDERFILE" \ 18.126 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 18.127 +> out8s.tmp 18.128 + 18.129 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out8s.tmp" \ 18.130 +&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out8s.tmp" \ 18.131 && echo "Success" \ 18.132 || echo "Failed" 18.133 18.134 - ! [ -e "$STORE/$SENDER/counters/objects/event13@example.com/$USER" ] \ 18.135 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "countered_object" "event13@example.com" "$USER" \ 18.136 +> out8C.tmp 18.137 + 18.138 + ! grep -q "event13@example.com" "out8C.tmp" \ 18.139 && echo "Success" \ 18.140 || echo "Failed" 18.141 18.142 - ! grep -q 'event13@example.com' "$FBSENDERREQUESTS" \ 18.143 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "requests" \ 18.144 +> out8R.tmp 18.145 + 18.146 + ! grep -q 'event13@example.com' "out8R.tmp" \ 18.147 && echo "Success" \ 18.148 || echo "Failed" 18.149 18.150 @@ -154,18 +177,24 @@ 18.151 && echo "Success" \ 18.152 || echo "Failed" 18.153 18.154 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 18.155 -&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBOFFERFILE" \ 18.156 -&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "$FBOFFERFILE" \ 18.157 -&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "$FBOFFERFILE" \ 18.158 -&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "$FBOFFERFILE" \ 18.159 -&& ! grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBOFFERFILE" \ 18.160 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 18.161 +> out9o.tmp 18.162 + 18.163 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out9o.tmp" \ 18.164 +&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out9o.tmp" \ 18.165 +&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "out9o.tmp" \ 18.166 +&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "out9o.tmp" \ 18.167 +&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "out9o.tmp" \ 18.168 +&& ! grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out9o.tmp" \ 18.169 && echo "Success" \ 18.170 || echo "Failed" 18.171 18.172 - [ `grep "event19@example.com" "$FBFILE" | wc -l` = '5' ] \ 18.173 -&& [ `grep "event13@example.com" "$FBFILE" | wc -l` = '1' ] \ 18.174 -&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBFILE" \ 18.175 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 18.176 +> out9f.tmp 18.177 + 18.178 + [ `grep "event19@example.com" "out9f.tmp" | wc -l` = '5' ] \ 18.179 +&& [ `grep "event13@example.com" "out9f.tmp" | wc -l` = '1' ] \ 18.180 +&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out9f.tmp" \ 18.181 && echo "Success" \ 18.182 || echo "Failed" 18.183 18.184 @@ -180,18 +209,24 @@ 18.185 && echo "Success" \ 18.186 || echo "Failed" 18.187 18.188 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 18.189 -&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBOFFERFILE" \ 18.190 -&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "$FBOFFERFILE" \ 18.191 -&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "$FBOFFERFILE" \ 18.192 -&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "$FBOFFERFILE" \ 18.193 -&& ! grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBOFFERFILE" \ 18.194 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 18.195 +> out10o.tmp 18.196 + 18.197 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out10o.tmp" \ 18.198 +&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out10o.tmp" \ 18.199 +&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "out10o.tmp" \ 18.200 +&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "out10o.tmp" \ 18.201 +&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "out10o.tmp" \ 18.202 +&& ! grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out10o.tmp" \ 18.203 && echo "Success" \ 18.204 || echo "Failed" 18.205 18.206 - [ `grep "event19@example.com" "$FBFILE" | wc -l` = '5' ] \ 18.207 -&& [ `grep "event13@example.com" "$FBFILE" | wc -l` = '1' ] \ 18.208 -&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBFILE" \ 18.209 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 18.210 +> out10f.tmp 18.211 + 18.212 + [ `grep "event19@example.com" "out10f.tmp" | wc -l` = '5' ] \ 18.213 +&& [ `grep "event13@example.com" "out10f.tmp" | wc -l` = '1' ] \ 18.214 +&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out10f.tmp" \ 18.215 && echo "Success" \ 18.216 || echo "Failed" 18.217 18.218 @@ -212,17 +247,23 @@ 18.219 18.220 # Note that the duration is different now. 18.221 18.222 - ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "$FBOFFERFILE" \ 18.223 -&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "$FBOFFERFILE" \ 18.224 -&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "$FBOFFERFILE" \ 18.225 -&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "$FBOFFERFILE" \ 18.226 -&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "$FBOFFERFILE" \ 18.227 -&& grep -q "^20141126T200000Z${TAB}20141126T203000Z" "$FBOFFERFILE" \ 18.228 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_offers" \ 18.229 +> out12o.tmp 18.230 + 18.231 + ! grep -q "^20141126T150000Z${TAB}20141126T154500Z" "out12o.tmp" \ 18.232 +&& ! grep -q "^20141126T160000Z${TAB}20141126T164500Z" "out12o.tmp" \ 18.233 +&& ! grep -q "^20141126T170000Z${TAB}20141126T174500Z" "out12o.tmp" \ 18.234 +&& ! grep -q "^20141126T180000Z${TAB}20141126T184500Z" "out12o.tmp" \ 18.235 +&& ! grep -q "^20141126T190000Z${TAB}20141126T194500Z" "out12o.tmp" \ 18.236 +&& grep -q "^20141126T200000Z${TAB}20141126T203000Z" "out12o.tmp" \ 18.237 && echo "Success" \ 18.238 || echo "Failed" 18.239 18.240 - [ `grep "event19@example.com" "$FBFILE" | wc -l` = '5' ] \ 18.241 -&& [ `grep "event13@example.com" "$FBFILE" | wc -l` = '1' ] \ 18.242 -&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "$FBFILE" \ 18.243 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 18.244 +> out12f.tmp 18.245 + 18.246 + [ `grep "event19@example.com" "out12f.tmp" | wc -l` = '5' ] \ 18.247 +&& [ `grep "event13@example.com" "out12f.tmp" | wc -l` = '1' ] \ 18.248 +&& grep -q "^20141126T200000Z${TAB}20141126T204500Z" "out12f.tmp" \ 18.249 && echo "Success" \ 18.250 || echo "Failed"
19.1 --- a/tests/test_resource_invitation_constraints_quota.sh Thu Mar 10 01:43:31 2016 +0100 19.2 +++ b/tests/test_resource_invitation_constraints_quota.sh Fri Mar 11 01:33:45 2016 +0100 19.3 @@ -5,11 +5,7 @@ 19.4 USER1="mailto:resource-car-porsche911@example.com" 19.5 USER2="mailto:resource-car-fiat500@example.com" 19.6 SENDER="mailto:paul.boddie@example.com" 19.7 -FBFILE1="$STORE/$USER1/freebusy" 19.8 -FBFILE2="$STORE/$USER2/freebusy" 19.9 -FBSENDERFILE="$STORE/$SENDER/freebusy" 19.10 QUOTA=cars 19.11 -JOURNALFILE="$JOURNAL/$QUOTA/journal/$SENDER" 19.12 19.13 mkdir -p "$PREFS/$USER1" 19.14 echo 'Europe/Oslo' > "$PREFS/$USER1/TZID" 19.15 @@ -27,8 +23,7 @@ 19.16 check_quota $QUOTA 19.17 EOF 19.18 19.19 -mkdir -p "$JOURNAL/$QUOTA" 19.20 -echo '* PT1H' > "$JOURNAL/$QUOTA/limits" 19.21 +"$SET_QUOTA_LIMIT" "$QUOTA" '*' 'PT1H' $SET_QUOTA_LIMIT_ARGS 19.22 19.23 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-car.txt" 2>> $ERROR \ 19.24 | "$SHOWMAIL" \ 19.25 @@ -43,7 +38,9 @@ 19.26 19.27 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car.txt" 2>> $ERROR 19.28 19.29 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 19.30 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.31 +| tee out0s.tmp \ 19.32 +| grep -q "^20141126T150000Z${TAB}20141126T160000Z" \ 19.33 && echo "Success" \ 19.34 || echo "Failed" 19.35 19.36 @@ -59,15 +56,17 @@ 19.37 && echo "Success" \ 19.38 || echo "Failed" 19.39 19.40 - [ -e "$FBFILE1" ] \ 19.41 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 19.42 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 19.43 +| tee out1f.tmp \ 19.44 +| grep -q "^20141126T150000Z${TAB}20141126T160000Z" \ 19.45 && echo "Success" \ 19.46 || echo "Failed" 19.47 19.48 # Check the quota (event is confirmed). 19.49 19.50 - [ -e "$JOURNALFILE" ] \ 19.51 -&& grep -q "event21@example.com" "$JOURNALFILE" \ 19.52 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.53 +| tee out1e.tmp \ 19.54 +| grep -q "event21@example.com" \ 19.55 && echo "Success" \ 19.56 || echo "Failed" 19.57 19.58 @@ -75,7 +74,9 @@ 19.59 19.60 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car-conflict.txt" 2>> $ERROR 19.61 19.62 - grep -q "^20141126T153000Z${TAB}20141126T163000Z" "$FBSENDERFILE" \ 19.63 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.64 +| tee out1s.tmp \ 19.65 +| grep -q "^20141126T153000Z${TAB}20141126T163000Z" \ 19.66 && echo "Success" \ 19.67 || echo "Failed" 19.68 19.69 @@ -91,28 +92,34 @@ 19.70 && echo "Success" \ 19.71 || echo "Failed" 19.72 19.73 - ! [ -e "$FBFILE2" ] \ 19.74 -|| ! grep -q "^20141126T153000Z${TAB}20141126T163000Z" "$FBFILE2" \ 19.75 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 19.76 +> out2f.tmp 19.77 + 19.78 + ! grep -q "^20141126T153000Z${TAB}20141126T163000Z" "out2f.tmp" \ 19.79 && echo "Success" \ 19.80 || echo "Failed" 19.81 19.82 # Check the quota (event is not confirmed). 19.83 19.84 - [ -e "$JOURNALFILE" ] \ 19.85 -&& grep -q "event21@example.com" "$JOURNALFILE" \ 19.86 -&& ! grep -q "event22@example.com" "$JOURNALFILE" \ 19.87 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.88 +> out2e.tmp 19.89 + 19.90 + grep -q "event21@example.com" "out2e.tmp" \ 19.91 +&& ! grep -q "event22@example.com" "out2e.tmp" \ 19.92 && echo "Success" \ 19.93 || echo "Failed" 19.94 19.95 # Increase the quota. 19.96 19.97 -echo '* PT2H' > "$JOURNAL/$QUOTA/limits" 19.98 +"$SET_QUOTA_LIMIT" "$QUOTA" '*' 'PT2H' $SET_QUOTA_LIMIT_ARGS 19.99 19.100 # Attempt to schedule the event again. 19.101 19.102 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car-conflict.txt" 2>> $ERROR 19.103 19.104 - grep -q "^20141126T153000Z${TAB}20141126T163000Z" "$FBSENDERFILE" \ 19.105 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.106 +| tee out2s.tmp \ 19.107 +| grep -q "^20141126T153000Z${TAB}20141126T163000Z" \ 19.108 && echo "Success" \ 19.109 || echo "Failed" 19.110 19.111 @@ -128,16 +135,19 @@ 19.112 && echo "Success" \ 19.113 || echo "Failed" 19.114 19.115 - [ -e "$FBFILE2" ] \ 19.116 -&& grep -q "^20141126T153000Z${TAB}20141126T163000Z" "$FBFILE2" \ 19.117 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 19.118 +| tee out3f.tmp \ 19.119 +| grep -q "^20141126T153000Z${TAB}20141126T163000Z" \ 19.120 && echo "Success" \ 19.121 || echo "Failed" 19.122 19.123 # Check the quota (event is confirmed). 19.124 19.125 - [ -e "$JOURNALFILE" ] \ 19.126 -&& grep -q "event21@example.com" "$JOURNALFILE" \ 19.127 -&& grep -q "event22@example.com" "$JOURNALFILE" \ 19.128 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.129 +> out3e.tmp 19.130 + 19.131 + grep -q "event21@example.com" "out3e.tmp" \ 19.132 +&& grep -q "event22@example.com" "out3e.tmp" \ 19.133 && echo "Success" \ 19.134 || echo "Failed" 19.135 19.136 @@ -145,7 +155,10 @@ 19.137 19.138 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-cancel-car.txt" 2>> $ERROR 19.139 19.140 - ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 19.141 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.142 +> out3s.tmp 19.143 + 19.144 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out3s.tmp" \ 19.145 && echo "Success" \ 19.146 || echo "Failed" 19.147 19.148 @@ -160,15 +173,20 @@ 19.149 && echo "Success" \ 19.150 || echo "Failed" 19.151 19.152 - ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 19.153 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 19.154 +> out4f.tmp 19.155 + 19.156 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out4f.tmp" \ 19.157 && echo "Success" \ 19.158 || echo "Failed" 19.159 19.160 # Check the quota (event is retracted). 19.161 19.162 - [ -e "$JOURNALFILE" ] \ 19.163 -&& ! grep -q "event21@example.com" "$JOURNALFILE" \ 19.164 -&& grep -q "event22@example.com" "$JOURNALFILE" \ 19.165 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.166 +> out4e.tmp 19.167 + 19.168 + ! grep -q "event21@example.com" "out4e.tmp" \ 19.169 +&& grep -q "event22@example.com" "out4e.tmp" \ 19.170 && echo "Success" \ 19.171 || echo "Failed" 19.172 19.173 @@ -198,16 +216,19 @@ 19.174 && echo "Success" \ 19.175 || echo "Failed" 19.176 19.177 - [ -e "$FBFILE2" ] \ 19.178 -&& grep -q "^20141126T153000Z${TAB}20141126T163000Z" "$FBFILE2" \ 19.179 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 19.180 +| tee out5f.tmp \ 19.181 +| grep -q "^20141126T153000Z${TAB}20141126T163000Z" \ 19.182 && echo "Success" \ 19.183 || echo "Failed" 19.184 19.185 # Check the quota (event is still confirmed). 19.186 19.187 - [ -e "$JOURNALFILE" ] \ 19.188 -&& ! grep -q "event21@example.com" "$JOURNALFILE" \ 19.189 -&& grep -q "event22@example.com" "$JOURNALFILE" \ 19.190 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.191 +> out5e.tmp 19.192 + 19.193 + ! grep -q "event21@example.com" "out5e.tmp" \ 19.194 +&& grep -q "event22@example.com" "out5e.tmp" \ 19.195 && echo "Success" \ 19.196 || echo "Failed" 19.197 19.198 @@ -215,7 +236,9 @@ 19.199 19.200 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car.txt" 2>> $ERROR 19.201 19.202 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 19.203 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.204 +| tee out5s.tmp \ 19.205 +| grep -q "^20141126T150000Z${TAB}20141126T160000Z" \ 19.206 && echo "Success" \ 19.207 || echo "Failed" 19.208 19.209 @@ -231,15 +254,20 @@ 19.210 && echo "Success" \ 19.211 || echo "Failed" 19.212 19.213 - ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 19.214 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 19.215 +> out6f.tmp 19.216 + 19.217 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out6f.tmp" \ 19.218 && echo "Success" \ 19.219 || echo "Failed" 19.220 19.221 # Check the quota (event is still retracted and not newly confirmed). 19.222 19.223 - [ -e "$JOURNALFILE" ] \ 19.224 -&& ! grep -q "event21@example.com" "$JOURNALFILE" \ 19.225 -&& grep -q "event22@example.com" "$JOURNALFILE" \ 19.226 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.227 +> out6e.tmp 19.228 + 19.229 + ! grep -q "event21@example.com" "out6e.tmp" \ 19.230 +&& grep -q "event22@example.com" "out6e.tmp" \ 19.231 && echo "Success" \ 19.232 || echo "Failed" 19.233 19.234 @@ -247,8 +275,11 @@ 19.235 19.236 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car-moved.txt" 2>> $ERROR 19.237 19.238 - ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 19.239 -&& grep -q "^20141126T143000Z${TAB}20141126T153000Z" "$FBSENDERFILE" \ 19.240 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.241 +> out6s.tmp 19.242 + 19.243 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out6s.tmp" \ 19.244 +&& grep -q "^20141126T143000Z${TAB}20141126T153000Z" "out6s.tmp" \ 19.245 && echo "Success" \ 19.246 || echo "Failed" 19.247 19.248 @@ -264,27 +295,33 @@ 19.249 && echo "Success" \ 19.250 || echo "Failed" 19.251 19.252 - grep -q "^20141126T143000Z${TAB}20141126T153000Z" "$FBFILE1" \ 19.253 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 19.254 +| tee out7f.tmp \ 19.255 +| grep -q "^20141126T143000Z${TAB}20141126T153000Z" \ 19.256 && echo "Success" \ 19.257 || echo "Failed" 19.258 19.259 # Check the quota (event is newly confirmed). 19.260 19.261 - [ -e "$JOURNALFILE" ] \ 19.262 -&& grep -q "event21@example.com" "$JOURNALFILE" \ 19.263 -&& grep -q "event22@example.com" "$JOURNALFILE" \ 19.264 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.265 +> out7e.tmp 19.266 + 19.267 + grep -q "event21@example.com" "out7e.tmp" \ 19.268 +&& grep -q "event22@example.com" "out7e.tmp" \ 19.269 && echo "Success" \ 19.270 || echo "Failed" 19.271 19.272 # Increase the quota. 19.273 19.274 -echo '* PT3H' > "$JOURNAL/$QUOTA/limits" 19.275 +"$SET_QUOTA_LIMIT" "$QUOTA" '*' 'PT3H' $SET_QUOTA_LIMIT_ARGS 19.276 19.277 # Attempt to schedule an event involving both resources. 19.278 19.279 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-cars.txt" 2>> $ERROR 19.280 19.281 - grep -q "^20141127T150000Z${TAB}20141127T160000Z" "$FBSENDERFILE" \ 19.282 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 19.283 +| tee out7s.tmp \ 19.284 +| grep -q "^20141127T150000Z${TAB}20141127T160000Z" \ 19.285 && echo "Success" \ 19.286 || echo "Failed" 19.287 19.288 @@ -311,16 +348,23 @@ 19.289 && echo "Success" \ 19.290 || echo "Failed" 19.291 19.292 - ( grep -q "^20141127T150000Z${TAB}20141127T160000Z" "$FBFILE1" \ 19.293 - && ! grep -q "^20141127T150000Z${TAB}20141127T160000Z" "$FBFILE2" ) \ 19.294 -|| ( ! grep -q "^20141127T150000Z${TAB}20141127T160000Z" "$FBFILE1" \ 19.295 - && grep -q "^20141127T150000Z${TAB}20141127T160000Z" "$FBFILE2" ) \ 19.296 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 19.297 +> out8f.tmp 19.298 + 19.299 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 19.300 +> out8f2.tmp 19.301 + 19.302 + ( grep -q "^20141127T150000Z${TAB}20141127T160000Z" "out8f.tmp" \ 19.303 + && ! grep -q "^20141127T150000Z${TAB}20141127T160000Z" "out8f2.tmp" ) \ 19.304 +|| ( ! grep -q "^20141127T150000Z${TAB}20141127T160000Z" "out8f.tmp" \ 19.305 + && grep -q "^20141127T150000Z${TAB}20141127T160000Z" "out8f2.tmp" ) \ 19.306 && echo "Success" \ 19.307 || echo "Failed" 19.308 19.309 # Check the quota (event is confirmed, but only for one resource). 19.310 19.311 - [ -e "$JOURNALFILE" ] \ 19.312 -&& grep -q "event23@example.com" "$JOURNALFILE" \ 19.313 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 19.314 +| tee out8e.tmp \ 19.315 +| grep -q "event23@example.com" \ 19.316 && echo "Success" \ 19.317 || echo "Failed"
20.1 --- a/tests/test_resource_invitation_constraints_quota_recurring.sh Thu Mar 10 01:43:31 2016 +0100 20.2 +++ b/tests/test_resource_invitation_constraints_quota_recurring.sh Fri Mar 11 01:33:45 2016 +0100 20.3 @@ -4,10 +4,7 @@ 20.4 20.5 USER="mailto:resource-car-porsche911@example.com" 20.6 SENDER="mailto:paul.boddie@example.com" 20.7 -FBFILE="$STORE/$USER/freebusy" 20.8 -FBSENDERFILE="$STORE/$SENDER/freebusy" 20.9 QUOTA="$USER" 20.10 -JOURNALFILE="$JOURNAL/$QUOTA/journal/$SENDER" 20.11 20.12 mkdir -p "$PREFS/$USER" 20.13 echo 'Europe/Oslo' > "$PREFS/$USER/TZID" 20.14 @@ -19,8 +16,7 @@ 20.15 20.16 # Employ a user-specific quota (no argument with the functions above). 20.17 20.18 -mkdir -p "$JOURNAL/$QUOTA" 20.19 -echo '* PT10H' > "$JOURNAL/$QUOTA/limits" 20.20 +"$SET_QUOTA_LIMIT" "$QUOTA" '*' 'PT10H' $SET_QUOTA_LIMIT_ARGS 20.21 20.22 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-car-all.txt" 2>> $ERROR \ 20.23 | "$SHOWMAIL" \ 20.24 @@ -35,8 +31,11 @@ 20.25 20.26 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-car-recurring.txt" 2>> $ERROR 20.27 20.28 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 20.29 -&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBSENDERFILE" \ 20.30 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 20.31 +> out0f.tmp 20.32 + 20.33 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out0f.tmp" \ 20.34 +&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out0f.tmp" \ 20.35 && echo "Success" \ 20.36 || echo "Failed" 20.37 20.38 @@ -52,16 +51,20 @@ 20.39 && echo "Success" \ 20.40 || echo "Failed" 20.41 20.42 - ! [ -e "$FBFILE" ] \ 20.43 -|| ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \ 20.44 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE" ) \ 20.45 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 20.46 +> out1f.tmp 20.47 + 20.48 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1f.tmp" \ 20.49 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out1f.tmp" \ 20.50 && echo "Success" \ 20.51 || echo "Failed" 20.52 20.53 # Check the quota (event is not confirmed). 20.54 20.55 - ! [ -e "$JOURNALFILE" ] \ 20.56 -|| ! grep -q "event24@example.com" "$JOURNALFILE" \ 20.57 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 20.58 +> out1e.tmp 20.59 + 20.60 + ! grep -q "event24@example.com" "out1e.tmp" \ 20.61 && echo "Success" \ 20.62 || echo "Failed" 20.63 20.64 @@ -70,9 +73,12 @@ 20.65 sed 's/FREQ=DAILY/FREQ=DAILY;COUNT=11/;' "$TEMPLATES/event-request-car-recurring.txt" \ 20.66 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR 20.67 20.68 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 20.69 -&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "$FBSENDERFILE" \ 20.70 -&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBSENDERFILE" \ 20.71 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 20.72 +> out1s.tmp 20.73 + 20.74 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1s.tmp" \ 20.75 +&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "out1s.tmp" \ 20.76 +&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out1s.tmp" \ 20.77 && echo "Success" \ 20.78 || echo "Failed" 20.79 20.80 @@ -89,17 +95,21 @@ 20.81 && echo "Success" \ 20.82 || echo "Failed" 20.83 20.84 - ! [ -e "$FBFILE" ] \ 20.85 -|| ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \ 20.86 - && ! grep -q "^20141205T150000Z${TAB}20141205T160000Z" "$FBFILE" \ 20.87 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE" ) \ 20.88 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 20.89 +> out2f.tmp 20.90 + 20.91 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2f.tmp" \ 20.92 +&& ! grep -q "^20141205T150000Z${TAB}20141205T160000Z" "out2f.tmp" \ 20.93 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out2f.tmp" \ 20.94 && echo "Success" \ 20.95 || echo "Failed" 20.96 20.97 # Check the quota (event is confirmed). 20.98 20.99 - ! [ -e "$JOURNALFILE" ] \ 20.100 -|| ! grep -q "event24@example.com" "$JOURNALFILE" \ 20.101 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 20.102 +> out2e.tmp 20.103 + 20.104 + ! grep -q "event24@example.com" "out2e.tmp" \ 20.105 && echo "Success" \ 20.106 || echo "Failed" 20.107 20.108 @@ -108,9 +118,12 @@ 20.109 sed 's/FREQ=DAILY/FREQ=DAILY;COUNT=10/;' "$TEMPLATES/event-request-car-recurring.txt" \ 20.110 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR 20.111 20.112 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE" \ 20.113 -&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "$FBSENDERFILE" \ 20.114 -&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBSENDERFILE" \ 20.115 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER" "freebusy" \ 20.116 +> out2s.tmp 20.117 + 20.118 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2s.tmp" \ 20.119 +&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "out2s.tmp" \ 20.120 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out2s.tmp" \ 20.121 && echo "Success" \ 20.122 || echo "Failed" 20.123 20.124 @@ -118,25 +131,29 @@ 20.125 20.126 sed 's/FREQ=DAILY/FREQ=DAILY;COUNT=10/;' "$TEMPLATES/event-request-car-recurring.txt" \ 20.127 | "$RESOURCE_SCRIPT" $ARGS 2>> $ERROR \ 20.128 -| tee out2r.tmp \ 20.129 +| tee out3r.tmp \ 20.130 | "$SHOWMAIL" \ 20.131 -> out2.tmp 20.132 +> out3.tmp 20.133 20.134 - grep -q 'METHOD:REPLY' out2.tmp \ 20.135 -&& grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out2.tmp \ 20.136 + grep -q 'METHOD:REPLY' out3.tmp \ 20.137 +&& grep -q 'ATTENDEE.*;PARTSTAT=ACCEPTED' out3.tmp \ 20.138 && echo "Success" \ 20.139 || echo "Failed" 20.140 20.141 - [ -e "$FBFILE" ] \ 20.142 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE" \ 20.143 -&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "$FBFILE" \ 20.144 -&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE" \ 20.145 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy" \ 20.146 +> out3f.tmp 20.147 + 20.148 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out3f.tmp" \ 20.149 +&& grep -q "^20141205T150000Z${TAB}20141205T160000Z" "out3f.tmp" \ 20.150 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out3f.tmp" \ 20.151 && echo "Success" \ 20.152 || echo "Failed" 20.153 20.154 # Check the quota (event is confirmed). 20.155 20.156 - [ -e "$JOURNALFILE" ] \ 20.157 -&& grep -q "event24@example.com" "$JOURNALFILE" \ 20.158 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER" \ 20.159 +> out3e.tmp 20.160 + 20.161 + grep -q "event24@example.com" "out3e.tmp" \ 20.162 && echo "Success" \ 20.163 || echo "Failed"
21.1 --- a/tests/test_resource_invitation_constraints_quota_recurring_limits.sh Thu Mar 10 01:43:31 2016 +0100 21.2 +++ b/tests/test_resource_invitation_constraints_quota_recurring_limits.sh Fri Mar 11 01:33:45 2016 +0100 21.3 @@ -8,13 +8,7 @@ 21.4 SENDER2="mailto:vincent.vole@example.com" 21.5 SENDERADDRESS1="paul.boddie@example.com" 21.6 SENDERADDRESS2="vincent.vole@example.com" 21.7 -FBFILE1="$STORE/$USER1/freebusy" 21.8 -FBFILE2="$STORE/$USER2/freebusy" 21.9 -FBSENDERFILE1="$STORE/$SENDER1/freebusy" 21.10 -FBSENDERFILE2="$STORE/$SENDER2/freebusy" 21.11 QUOTA=cars 21.12 -JOURNALFILE1="$JOURNAL/$QUOTA/journal/$SENDER1" 21.13 -JOURNALFILE2="$JOURNAL/$QUOTA/journal/$SENDER2" 21.14 21.15 mkdir -p "$PREFS/$USER1" 21.16 echo 'Europe/Oslo' > "$PREFS/$USER1/TZID" 21.17 @@ -32,11 +26,8 @@ 21.18 check_quota $QUOTA 21.19 EOF 21.20 21.21 -mkdir -p "$JOURNAL/$QUOTA" 21.22 -cat > "$JOURNAL/$QUOTA/limits" <<EOF 21.23 -mailto:vincent.vole@example.com PT10H 21.24 -* PT5H 21.25 -EOF 21.26 +"$SET_QUOTA_LIMIT" "$QUOTA" 'mailto:vincent.vole@example.com' 'PT10H' $SET_QUOTA_LIMIT_ARGS 21.27 +"$SET_QUOTA_LIMIT" "$QUOTA" '*' 'PT5H' $SET_QUOTA_LIMIT_ARGS 21.28 21.29 "$RESOURCE_SCRIPT" $ARGS < "$TEMPLATES/fb-request-car-all.txt" 2>> $ERROR \ 21.30 | "$SHOWMAIL" \ 21.31 @@ -51,8 +42,11 @@ 21.32 21.33 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-request-cars-recurring.txt" 2>> $ERROR 21.34 21.35 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE1" \ 21.36 -&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBSENDERFILE1" \ 21.37 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER1" "freebusy" \ 21.38 +> out0f.tmp 21.39 + 21.40 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out0f.tmp" \ 21.41 +&& grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out0f.tmp" \ 21.42 && echo "Success" \ 21.43 || echo "Failed" 21.44 21.45 @@ -68,19 +62,25 @@ 21.46 && echo "Success" \ 21.47 || echo "Failed" 21.48 21.49 - ( ! [ -e "$FBFILE1" ] \ 21.50 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 21.51 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE1" )) \ 21.52 -&& ( ! [ -e "$FBFILE2" ] \ 21.53 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE2" \ 21.54 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE2" )) \ 21.55 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 21.56 +> out1f.tmp 21.57 + 21.58 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 21.59 +> out1f2.tmp 21.60 + 21.61 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1f.tmp" \ 21.62 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out1f.tmp" \ 21.63 +&& ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1f2.tmp" \ 21.64 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out1f2.tmp" \ 21.65 && echo "Success" \ 21.66 || echo "Failed" 21.67 21.68 # Check the quota (event is not confirmed). 21.69 21.70 - ! [ -e "$JOURNALFILE1" ] \ 21.71 -|| ! grep -q "event25@example.com" "$JOURNALFILE1" \ 21.72 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER1" \ 21.73 +> out1e.tmp 21.74 + 21.75 + ! grep -q "event25@example.com" "out1e.tmp" \ 21.76 && echo "Success" \ 21.77 || echo "Failed" 21.78 21.79 @@ -89,8 +89,11 @@ 21.80 sed 's/FREQ=DAILY/FREQ=DAILY;COUNT=5/;' "$TEMPLATES/event-request-cars-recurring.txt" \ 21.81 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR 21.82 21.83 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE1" \ 21.84 -&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBSENDERFILE1" \ 21.85 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER1" "freebusy" \ 21.86 +> out1s.tmp 21.87 + 21.88 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out1s.tmp" \ 21.89 +&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out1s.tmp" \ 21.90 && echo "Success" \ 21.91 || echo "Failed" 21.92 21.93 @@ -118,25 +121,29 @@ 21.94 && echo "Success" \ 21.95 || echo "Failed" 21.96 21.97 - (( ! [ -e "$FBFILE1" ] \ 21.98 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 21.99 - && ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE1" )) \ 21.100 - && [ -e "$FBFILE2" ] \ 21.101 - && grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE2" \ 21.102 - && grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE2" ) \ 21.103 -|| (( ! [ -e "$FBFILE2" ] \ 21.104 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE2" \ 21.105 - && ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE2" )) \ 21.106 - && [ -e "$FBFILE1" ] \ 21.107 - && grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 21.108 - && grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE1" ) \ 21.109 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 21.110 +> out2f.tmp 21.111 + 21.112 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 21.113 +> out2f2.tmp 21.114 + 21.115 + ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2f.tmp" \ 21.116 + && ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out2f.tmp" \ 21.117 + && grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2f2.tmp" \ 21.118 + && grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out2f2.tmp" ) \ 21.119 +|| ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2f2.tmp" \ 21.120 + && ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out2f2.tmp" \ 21.121 + && grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2f.tmp" \ 21.122 + && grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out2f.tmp" ) \ 21.123 && echo "Success" \ 21.124 || echo "Failed" 21.125 21.126 # Check the quota (event is confirmed for one resource). 21.127 21.128 - ! [ -e "$JOURNALFILE1" ] \ 21.129 -|| grep -q "event25@example.com" "$JOURNALFILE1" \ 21.130 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER1" \ 21.131 +> out2e.tmp 21.132 + 21.133 + grep -q "event25@example.com" "out2e.tmp" \ 21.134 && echo "Success" \ 21.135 || echo "Failed" 21.136 21.137 @@ -144,8 +151,11 @@ 21.138 21.139 "$OUTGOING_SCRIPT" $ARGS < "$TEMPLATES/event-cancel-cars-recurring.txt" 2>> $ERROR 21.140 21.141 - ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE1" \ 21.142 -&& ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBSENDERFILE1" \ 21.143 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER1" "freebusy" \ 21.144 +> out2s.tmp 21.145 + 21.146 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out2s.tmp" \ 21.147 +&& ! grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out2s.tmp" \ 21.148 && echo "Success" \ 21.149 || echo "Failed" 21.150 21.151 @@ -160,19 +170,25 @@ 21.152 && echo "Success" \ 21.153 || echo "Failed" 21.154 21.155 - ( ! [ -e "$FBFILE1" ] \ 21.156 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 21.157 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE1" )) \ 21.158 -&& ( ! [ -e "$FBFILE2" ] \ 21.159 - || ( ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE2" \ 21.160 - && ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "$FBFILE2" )) \ 21.161 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 21.162 +> out3f.tmp 21.163 + 21.164 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 21.165 +> out3f2.tmp 21.166 + 21.167 + ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out3f.tmp" \ 21.168 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out3f.tmp" \ 21.169 +&& ! grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out3f2.tmp" \ 21.170 +&& ! grep -q "^20141206T150000Z${TAB}20141206T160000Z" "out3f2.tmp" \ 21.171 && echo "Success" \ 21.172 || echo "Failed" 21.173 21.174 # Check the quota (event is retracted). 21.175 21.176 - ! [ -e "$JOURNALFILE1" ] \ 21.177 -|| ! grep -q "event25@example.com" "$JOURNALFILE1" \ 21.178 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER1" \ 21.179 +> out3e.tmp 21.180 + 21.181 + ! grep -q "event25@example.com" "out3e.tmp" \ 21.182 && echo "Success" \ 21.183 || echo "Failed" 21.184 21.185 @@ -182,8 +198,11 @@ 21.186 | sed "s/$SENDERADDRESS1/$SENDERADDRESS2/;" \ 21.187 | "$OUTGOING_SCRIPT" $ARGS 2>> $ERROR 21.188 21.189 - grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBSENDERFILE2" \ 21.190 -&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBSENDERFILE2" \ 21.191 + "$LIST_SCRIPT" $LIST_ARGS "$SENDER2" "freebusy" \ 21.192 +> out3s.tmp 21.193 + 21.194 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out3s.tmp" \ 21.195 +&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out3s.tmp" \ 21.196 && echo "Success" \ 21.197 || echo "Failed" 21.198 21.199 @@ -211,18 +230,24 @@ 21.200 && echo "Success" \ 21.201 || echo "Failed" 21.202 21.203 - [ -e "$FBFILE1" ] \ 21.204 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE1" \ 21.205 -&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE1" \ 21.206 -&& [ -e "$FBFILE2" ] \ 21.207 -&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "$FBFILE2" \ 21.208 -&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "$FBFILE2" \ 21.209 + "$LIST_SCRIPT" $LIST_ARGS "$USER1" "freebusy" \ 21.210 +> out4f.tmp 21.211 + 21.212 + "$LIST_SCRIPT" $LIST_ARGS "$USER2" "freebusy" \ 21.213 +> out4f2.tmp 21.214 + 21.215 + grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out4f.tmp" \ 21.216 +&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out4f.tmp" \ 21.217 +&& grep -q "^20141126T150000Z${TAB}20141126T160000Z" "out4f2.tmp" \ 21.218 +&& grep -q "^20141130T150000Z${TAB}20141130T160000Z" "out4f2.tmp" \ 21.219 && echo "Success" \ 21.220 || echo "Failed" 21.221 21.222 # Check the quota (event is confirmed for both resources). 21.223 21.224 - [ -e "$JOURNALFILE2" ] \ 21.225 -&& grep -q "event25@example.com" "$JOURNALFILE2" \ 21.226 + "$LIST_SCRIPT" $LIST_ARGS "$QUOTA" "entries" "$SENDER2" \ 21.227 +> out4e.tmp 21.228 + 21.229 + grep -q "event25@example.com" "out4e.tmp" \ 21.230 && echo "Success" \ 21.231 || echo "Failed"
22.1 --- a/tests/test_resource_invitation_recurring_indefinitely.sh Thu Mar 10 01:43:31 2016 +0100 22.2 +++ b/tests/test_resource_invitation_recurring_indefinitely.sh Fri Mar 11 01:33:45 2016 +0100 22.3 @@ -39,7 +39,9 @@ 22.4 22.5 "$FREEBUSY_SCRIPT" "$USER" $FREEBUSY_ARGS $ARGS 2>> $ERROR 22.6 22.7 - grep -q 'event14@example.com' "$STORE/$USER/freebusy-providers" \ 22.8 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_providers" \ 22.9 +| tee out3p.tmp \ 22.10 +| grep -q 'event14@example.com' \ 22.11 && echo "Success" \ 22.12 || echo "Failed" 22.13 22.14 @@ -57,7 +59,10 @@ 22.15 && echo "Success" \ 22.16 || echo "Failed" 22.17 22.18 - ! grep -q 'event14@example.com' "$STORE/$USER/freebusy-providers" \ 22.19 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_providers" \ 22.20 +> out4p.tmp 22.21 + 22.22 + ! grep -q 'event14@example.com' "out4p.tmp" \ 22.23 && echo "Success" \ 22.24 || echo "Failed" 22.25 22.26 @@ -83,6 +88,8 @@ 22.27 && echo "Success" \ 22.28 || echo "Failed" 22.29 22.30 - grep -q 'event14@example.com' "$STORE/$USER/freebusy-providers" \ 22.31 + "$LIST_SCRIPT" $LIST_ARGS "$USER" "freebusy_providers" \ 22.32 +| tee out6p.tmp \ 22.33 +| grep -q 'event14@example.com' \ 22.34 && echo "Success" \ 22.35 || echo "Failed"
23.1 --- a/tools/config.sh Thu Mar 10 01:43:31 2016 +0100 23.2 +++ b/tools/config.sh Fri Mar 11 01:33:45 2016 +0100 23.3 @@ -1,5 +1,6 @@ 23.4 #!/bin/sh 23.5 23.6 +STORE_TYPE=file 23.7 IMIP_AGENT_USER=imip-agent 23.8 IMIP_AGENT_GROUP=lmtp 23.9 INSTALL_DIR=/var/lib/imip-agent
24.1 --- a/tools/fix.sh Thu Mar 10 01:43:31 2016 +0100 24.2 +++ b/tools/fix.sh Fri Mar 11 01:33:45 2016 +0100 24.3 @@ -3,9 +3,11 @@ 24.4 DIRNAME=`dirname $0` 24.5 24.6 if [ -e "$DIRNAME/config.sh" ]; then 24.7 - . "$DIRNAME/config.sh" 24.8 + CONFIG="$DIRNAME/config.sh" 24.9 + . "$CONFIG" 24.10 else 24.11 - . /etc/imip-agent/config.sh 24.12 + CONFIG=/etc/imip-agent/config.sh 24.13 + . "$CONFIG" 24.14 fi 24.15 24.16 PROGNAME=`basename $0` 24.17 @@ -32,9 +34,16 @@ 24.18 chown -R "$USER" "$INSTALL_DIR" 24.19 chgrp -R "$GROUP" "$INSTALL_DIR" 24.20 24.21 -for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static \ 24.22 - "$INSTALL_DIR"/journal ; do 24.23 +for DIR in "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static ; do 24.24 chown -R "$USER" "$DIR" 24.25 chgrp -R "$GROUP" "$DIR" 24.26 chmod -R g+w "$DIR" 24.27 done 24.28 + 24.29 +if [ "$STORE_TYPE" = "file" ]; then 24.30 + for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/journal ; do 24.31 + chown -R "$USER" "$DIR" 24.32 + chgrp -R "$GROUP" "$DIR" 24.33 + chmod -R g+w "$DIR" 24.34 + done 24.35 +fi
25.1 --- a/tools/init.sh Thu Mar 10 01:43:31 2016 +0100 25.2 +++ b/tools/init.sh Fri Mar 11 01:33:45 2016 +0100 25.3 @@ -3,9 +3,11 @@ 25.4 DIRNAME=`dirname $0` 25.5 25.6 if [ -e "$DIRNAME/config.sh" ]; then 25.7 - . "$DIRNAME/config.sh" 25.8 + CONFIG="$DIRNAME/config.sh" 25.9 + . "$CONFIG" 25.10 else 25.11 - . /etc/imip-agent/config.sh 25.12 + CONFIG=/etc/imip-agent/config.sh 25.13 + . "$CONFIG" 25.14 fi 25.15 25.16 PROGNAME=`basename $0` 25.17 @@ -23,14 +25,16 @@ 25.18 Within the stored data directory (using $INSTALL_DIR as an example), the 25.19 following directories are created: 25.20 25.21 - * $INSTALL_DIR/journal 25.22 + * $INSTALL_DIR/journal (if STORE_TYPE is "file") 25.23 * $INSTALL_DIR/preferences 25.24 - * $INSTALL_DIR/store 25.25 + * $INSTALL_DIR/store (if STORE_TYPE is "file") 25.26 25.27 Within the published data directory (using $WEB_INSTALL_DIR as an example), the 25.28 following directory is created: 25.29 25.30 * $WEB_INSTALL_DIR/static 25.31 + 25.32 +See $CONFIG for the STORE_TYPE setting. 25.33 EOF 25.34 exit 1 25.35 fi 25.36 @@ -40,10 +44,18 @@ 25.37 USER=${3:-$IMIP_AGENT_USER} 25.38 GROUP=${4:-$IMIP_AGENT_GROUP} 25.39 25.40 -for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static \ 25.41 - "$INSTALL_DIR"/journal ; do 25.42 +for DIR in "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static ; do 25.43 mkdir -p "$DIR" 25.44 chown "$USER" "$DIR" 25.45 chgrp "$GROUP" "$DIR" 25.46 chmod g+ws "$DIR" 25.47 done 25.48 + 25.49 +if [ "$STORE_TYPE" = "file" ]; then 25.50 + for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/journal ; do 25.51 + mkdir -p "$DIR" 25.52 + chown "$USER" "$DIR" 25.53 + chgrp "$GROUP" "$DIR" 25.54 + chmod g+ws "$DIR" 25.55 + done 25.56 +fi
26.1 --- a/tools/init_user.sh Thu Mar 10 01:43:31 2016 +0100 26.2 +++ b/tools/init_user.sh Fri Mar 11 01:33:45 2016 +0100 26.3 @@ -3,9 +3,11 @@ 26.4 DIRNAME=`dirname $0` 26.5 26.6 if [ -e "$DIRNAME/config.sh" ]; then 26.7 - . "$DIRNAME/config.sh" 26.8 + CONFIG="$DIRNAME/config.sh" 26.9 + . "$CONFIG" 26.10 else 26.11 - . /etc/imip-agent/config.sh 26.12 + CONFIG=/etc/imip-agent/config.sh 26.13 + . "$CONFIG" 26.14 fi 26.15 26.16 PROGNAME=`basename $0` 26.17 @@ -29,10 +31,18 @@ 26.18 WEB_INSTALL_DIR=${3:-$WEB_INSTALL_DIR} 26.19 USER=${4:-$IMIP_AGENT_USER} 26.20 26.21 -for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static \ 26.22 - "$INSTALL_DIR"/journal ; do 26.23 +for DIR in "$INSTALL_DIR"/preferences "$WEB_INSTALL_DIR"/static ; do 26.24 mkdir -p "$DIR/$CALENDAR_USER" 26.25 chown "$USER" "$DIR/$CALENDAR_USER" 26.26 chmod g+ws "$DIR/$CALENDAR_USER" 26.27 # Group privileges should already be set. 26.28 done 26.29 + 26.30 +if [ "$STORE_TYPE" = "file" ]; then 26.31 + for DIR in "$INSTALL_DIR"/store "$INSTALL_DIR"/journal ; do 26.32 + mkdir -p "$DIR/$CALENDAR_USER" 26.33 + chown "$USER" "$DIR/$CALENDAR_USER" 26.34 + chmod g+ws "$DIR/$CALENDAR_USER" 26.35 + # Group privileges should already be set. 26.36 + done 26.37 +fi
27.1 --- a/tools/install.sh Thu Mar 10 01:43:31 2016 +0100 27.2 +++ b/tools/install.sh Fri Mar 11 01:33:45 2016 +0100 27.3 @@ -89,7 +89,7 @@ 27.4 27.5 # Tools 27.6 27.7 -TOOLS="fix.sh init.sh init_user.sh make_freebusy.py update_quotas.py update_scheduling_modules.py" 27.8 +TOOLS="fix.sh init.sh init_user.sh make_freebusy.py set_quota_limit.py update_quotas.py update_scheduling_modules.py" 27.9 27.10 if [ ! -e "$INSTALL_DIR/tools" ]; then 27.11 mkdir -p "$INSTALL_DIR/tools"
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2 +++ b/tools/set_quota_limit.py Fri Mar 11 01:33:45 2016 +0100 28.3 @@ -0,0 +1,85 @@ 28.4 +#!/usr/bin/env python 28.5 + 28.6 +""" 28.7 +Set a quota limit for a user group. 28.8 + 28.9 +Copyright (C) 2016 Paul Boddie <paul@boddie.org.uk> 28.10 + 28.11 +This program is free software; you can redistribute it and/or modify it under 28.12 +the terms of the GNU General Public License as published by the Free Software 28.13 +Foundation; either version 3 of the License, or (at your option) any later 28.14 +version. 28.15 + 28.16 +This program is distributed in the hope that it will be useful, but WITHOUT 28.17 +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 28.18 +FOR A PARTICULAR PURPOSE. See the GNU General Public License for more 28.19 +details. 28.20 + 28.21 +You should have received a copy of the GNU General Public License along with 28.22 +this program. If not, see <http://www.gnu.org/licenses/>. 28.23 +""" 28.24 + 28.25 +from os.path import split 28.26 +import sys 28.27 + 28.28 +# Find the modules. 28.29 + 28.30 +try: 28.31 + import imiptools 28.32 +except ImportError: 28.33 + parent = split(split(__file__)[0])[0] 28.34 + if split(parent)[1] == "imip-agent": 28.35 + sys.path.append(parent) 28.36 + 28.37 +from imiptools import config 28.38 +from imiptools.stores import get_journal 28.39 + 28.40 +# Main program. 28.41 + 28.42 +if __name__ == "__main__": 28.43 + 28.44 + # Interpret the command line arguments. 28.45 + 28.46 + args = [] 28.47 + store_type = [] 28.48 + journal_dir = [] 28.49 + 28.50 + # Collect quota details first, switching to other arguments when encountering 28.51 + # switches. 28.52 + 28.53 + l = args 28.54 + 28.55 + for arg in sys.argv[1:]: 28.56 + if arg == "-T": 28.57 + l = store_type 28.58 + elif arg == "-j": 28.59 + l = journal_dir 28.60 + else: 28.61 + l.append(arg) 28.62 + 28.63 + try: 28.64 + quota, group, limit = args 28.65 + except ValueError: 28.66 + print >>sys.stderr, """\ 28.67 +Usage: %s <quota> <group> <limit> [ <options> ] 28.68 + 28.69 +General options: 28.70 + 28.71 +-j Indicates the journal directory location 28.72 +-T Indicates the store type (the configured value if omitted) 28.73 +""" % split(sys.argv[0])[1] 28.74 + sys.exit(1) 28.75 + 28.76 + # Override defaults if indicated. 28.77 + 28.78 + getvalue = lambda value, default=None: value and value[0] or default 28.79 + 28.80 + store_type = getvalue(store_type, config.STORE_TYPE) 28.81 + journal_dir = getvalue(journal_dir) 28.82 + 28.83 + # Obtain store-related objects. 28.84 + 28.85 + journal = get_journal(store_type, journal_dir) 28.86 + journal.set_limit(quota, group, limit) 28.87 + 28.88 +# vim: tabstop=4 expandtab shiftwidth=4