0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 1 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 2 % DESCRIPTION: Tests that the metadata 'submitted' of a database
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 3 % works for a ltpda object.
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 4 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 5 % CHECKS: - Check that we get only one connection from the used
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 6 % repository PLIST
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 7 % - Check that the metadata was set with a submit PLIST
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 8 % - Check that the metadata was set with a submit structure
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 9 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 10 % VERSION: $Id: test_objmeta_submitted.m,v 1.4 2011/05/24 19:09:55 ingo Exp $
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 11 %
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 12 function varargout = test_objmeta_submitted(varargin)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 13
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 14 utp = varargin{1};
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 15
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 16 if ~utp.testRunner.skipRepoTests()
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 17
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 18 dbTable = 'objmeta';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 19 tableField = 'submitted';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 20
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 21 % Check that the metadata was set with a submit PLIST
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 22 try
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 23 for nn = 1:numel(utp.objIds)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 24
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 25 % get 'submitted' from the objmeta table
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 26 val = utp.getTableEntry(dbTable, tableField, utp.objIds(nn));
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 27
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 28 % Check that we get only one result for the query
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 29 assert(numel(val)==1)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 30
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 31 % Check that the difference betwen the submitted time and the
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 32 % current time is not larger than one hour.
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 33 sTime = val{1};
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 34 cTime = time();
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 35 dTime = cTime - sTime;
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 36 assert(abs(dTime.utc_epoch_milli) <= 60 * 60 * 1000, sprintf('The time difference between submittion-time and checking time is larger than one hour (%d)', double(dTime)))
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 37 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 38 catch Me
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 39 throw(Me);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 40 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 41
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 42 % Check that the metadata was set with a submit structure
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 43 try
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 44 for nn = 1:numel(utp.objIdsStruct)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 45
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 46 % get 'submitted' from the objmeta table
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 47 val = utp.getTableEntry(dbTable, tableField, utp.objIdsStruct(nn));
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 48
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 49 assert(numel(val)==1)
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 50
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 51 % Check that the difference betwen the submitted time and the
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 52 % current time is not larger than one hour.
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 53 sTime = val{1};
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 54 cTime = time();
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 55 dTime = cTime - sTime;
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 56 assert(abs(dTime.utc_epoch_milli) <= 60 * 60 * 1000, sprintf('The time difference between submittion-time and checking time is larger than one hour (%d)', double(dTime)))
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 57 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 58 catch Me
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 59 throw(Me);
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 60 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 61
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 62 varargout{1} = sprintf('Test the field ''%s'' of the database table ''%s'' with the database %s ', tableField, dbTable, utp.testRunner.repositoryPlist.find('database'));
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 63 else
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 64 varargout{1} = 'Skip database test';
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 65 end
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
+ − 66 end