use CDATA for docname field in docInfo so that XML parser ignores the content that can contain characters like "&
sleep before updating and deleting test documents - otherwise their index entries may not be fully written and this causes errors (update and delete first attempt to remove index references, but if they are not in the DB yet then they are not removed but then they do get added and the FK constraints make the delete fail). Since we know indexing occurs in a separate thread with a configured delay, we just use this same delay in our testing.
Use a final static string to replace the hard code.Search document title rather than id in testReplicateEML_AtoB method.
use CN session when testing getLogRecords() and getOperationStatistics() becuase they are now protecting "sensitive" information
test for running concurrent Metacat queries to mimic Kepler data search.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5518
include testSynchronizationFailed() and call as the CN subject so that it is authorized.
use MN (self) as the Session.subject so that the MN.delete() call is successful.
comment out testDelete because it requires acting as the MN comment out testSynchronizationFailed because it requires acting as the CN
uncomment the MN tests (I bet this was an oversight during local testing)
no not record EML access rules that use the "denyFirst" permOrder.https://redmine.dataone.org/issues/2614
change ordering of getLogRecords() parameter -- pidFilter is in the middle now
upgrade to latest RC in libclient and common jars -- includes updated getLogRecords and new mn.generateIdentifier method
Add testIsEquivIdentityAuthorized() to ensure that [MN|CN].isAuthorized() is authorizing equivalent identities correctly. Note: Using TypeMarshaller.marshalTypeToOutputStream(type, System.out) to serialize an object seems to jack up output to stdout - not sure why.
refactor D1-specific upgrade utilities into their own package
test harness for running system metadata generation outside of the upgrade process
include comment about KNB estimated time to run during upgrade:Total time: 20 minutes 58 seconds
use "test" to exercise upgrade code on staging DB.
Update the MNodeServiceTest to test the validity of the node document returned by getCapabilities() by parsing it with the TypeMarshaller.
use RC-1 Dataone jars
remove method: assertRelationhttps://redmine.dataone.org/issues/2158
Use a Date with resolution to milliseconds.
include the EML and data tests in the suite
debugging data locking test
cannot check for deleted data since it is forever available (archived)
defer to super class member variables
do not include the "v1" in the base url for the target MN
update tests to comply with these chenages:new jars with many changes -- including new CN methods: ping, describe, listChecksumAlgorithm. Removed MN.setAccessPolicy. Refactored CN.setOwner() to CN.setRightsHolder().
for test to compile, provide BaseException param for setReplicationStatus. I used a NotAuthorized instance.
adjust after refactoring tests that use EML queries
query for deleted metadata when testing that replication communicated the deletion. to check data, we try to update the data object on the target node (which should fail)
add test for data locking
delete data and eml on the home Metacat and check that the change propagates to the target
actually include the test in the suitehttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5520
EML replication test with insert, update and set accesshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5520
test update and set access during replication from A->Bhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5520
a minute for replication?
comment out B->A testhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5520
use correct URLs for replication/Metacat client
simple tests for 2-way data replicationhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5520
fix tests:-insert default objectFormatList from d1_common (includes schemaLocation now)-calculate checksum for the system metadata using the ChecksumUtil in d1_common
prepared statement toString() does not include quotes (') around the inserted values -- now the test reflects this.
Metacat now keeps track of permissions on a per-version basis -- the test reflects this change in behavior.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5560
refactor Metacat access handling to be on a per-revision basis so that it more closely aligns with the DataONE approachhttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5560
update test to reflect newer change:handle queries with predicates correctly.when docids are used in the return field look up, we need to make sure they are included in the values in the correct order for their corresponding parameter place holders (?)
Add new test method to test getAccessControl.
catch all possible exceptions
act as a registered CN when calling CN methods -- create(), for example, is restricted to only be callable by a node of type CN.
use IOUtils for testing read/write of XML strings. This goes along with the utilities project change to use the same apache commons IO library. Be sure to clean the utilities checkout in order to catch the right utilities svn tag when building!
when comparing D1 Subject objects, use the equals() method not direct string comparisonhttps://redmine.dataone.org/issues/2050
upgrade to 1.0.1-SNAPSHOT DataONE jars
started replication unit test
MockCNode.getSystemMetadata() no longer throws InvalidRequest.
remove catch blocks for unthrown exceptions
uses prepared statement instead of plain old statement.deprecated the DBConnection.createStatement() method to discourage direct parameter value use in favor of parameter binding.http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527
Add a test for systemMetadataChanged. This should be fleshed out more so that the test uses a CN certificate.
uses prepared statement parameter binding for querieshttp://bugzilla.ecoinformatics.org/show_bug.cgi?id=5527
check object format id values since they are not Comparable objects
make MNodeServiceTest pass JUnit testing
Update CNodeService test to include serialVersion in it's calls as appropriate.
restore -- apparently this was used with reflection in a test...
MN.setAccessPolicy() is deprecated, commenting out the test.
removing non-junit file from the test area
load hazelcast test files from the classpath rather than from rob's personal directory.
SystemMetadataManager's functionality is handled by IdentifierManager. Removing it and it's test.
MetadataTypeRegister is now replaced by ObjectFormatService. Removing it and it's test.
move the DataONE 1.0.0-SNAPSHOT
add User-Agent logging to support D1 requirements
remove old RestServlet handler -- not used now
including newer d1 libclient that uses Foresite (and Jena) to construct/parse ORE resource maps for DataONE
update D1 jars to include recent SubjectList -> SubjectInfo refactoring and the SUBJECT_PUBLIC constant
use an actual data object (bytes of "test") when generating system metadata so that the checksum is a valid checksum
test relationship assertion using obsoletes
move bulk of the Hazelcast code into HazelcastService from CNodeService so that it is centrall located - easier to manage and configure
cleaned up mock tests on hzObjectPathMap. split out code for mocking a datastore into MockObjectPathMap.
initialize Hazelcast from the custom configuration when initializing the Metacat service.
exercise the shared hazelecast system metadata map and custom loader/store by inserting normally and also directly into the map. both mechanisms allow up to read the same system metadata (only tested on single local instance)
test hzSystemMetadata Map and custom loader
copied default hazelcast configuration from the jar into hazelcast.test.properties.xml, to get instances to talk to each other.
configuring hazelcast tests
further refactoring and start of unit tests for hazelcast elements
return the test Identifier so other tests can piggyback
Update test for getReplicationStatus to reflect API change.
changes for schema update (d1_common)
Update tests to use the DataONE 0.6.4 schema and types.
latest D1 jars - changes include:updateSystemMetadata() impl for CNnew identifier methods (generate is its own method)removal of the resourceMap pointer from system metadata
refactor Constants
refactor Constants and ServiceTypeUtil
use new "v1" types from DataONE
remove CrudService -- replaced by MNodeService and CNodeService
remove CrudServiceTest reference in main Metacat test (about to remove from svn)
reset object input stream (testGet)check for reserveIdentifier NotImplemented (expected)
merge changes from 1.9.5 branch that read site docs from SVN not a defunct LTER server
Return the new pid (not the obsoleted pid) on update(), and set the correct system metadata.
include Mock version of looking up the base url for our own node - for testReplicate().still expecting a failure during MN.replicate() since we are trying to add the replica to the same MN from which it came.
allow alternative CNode implementations (subclasses) to be returned when D1Client.getCN() is called. The alternative is given in the Settings configuration via the D1Client.cnClassName property.MockCNode in Metacat is an example of such an alternative and is used when Metacat requires methods of a CN be present for unit testing.
Test that the obsoletes and derivedFrom system metadata fields were set correctly.
use objectFormatIdentifier for listObjects()remove provisional system metadata indicator - Metacat will not implement reserveIdentifier()
add test for synchronization failed -- TODO: verify that the log record made it in the logs
provisional replicate() implementation -- does not check if the session's subject is "allowed" to do this.the test also requires 2 servers -- right now it attempts to replicate with itself which will fail because of duplicate IDs
provisional version of getOperationStatistics() -- not clear if we are meant to aggregate by hour or by day