3g " #$ #%& '() *+ , -. /0 1234 56 7 8 9 : ;< =>?@ 5A BC 5 DE FG %5H %I J KL +5M -5 +N OP +Q R S TU V ;W XY =Z [\ :5] <5^ <_ <`a <b <cd <ef <g <h :i j k lm no N5p P5q PJ Pr Ps Nt u vw Y5x Yyz YI{| }~          r    = Y  Y Y  Y     r r    =   T /   N P  P  %   8(Lorg/dataone/integration/ContextAwareTestCaseDataone;)VCodeLineNumberTableLocalVariableTablethis]Lorg/dataone/integration/it/testImplementations/NodeRegistryExtensibilityTestImplementations;catc5Lorg/dataone/integration/ContextAwareTestCaseDataone;testRegister_NoPropType)(Ljava/util/Iterator;Ljava/lang/String;)V nodeIteratorLjava/util/Iterator;versionLjava/lang/String;LocalVariableTypeTable9Ljava/util/Iterator; StackMapTable SignatureN(Ljava/util/Iterator;Ljava/lang/String;)VRuntimeVisibleAnnotations-Lorg/dataone/integration/webTest/WebTestName;value%register - Node with extra properties4Lorg/dataone/integration/webTest/WebTestDescription;this test calls creates a new Node object, adds some properties, (leaving the optional Property.type null) and calls register() with it. It then fetches the Node info with getNodeCapabilities() and makes sure the properties match what was added.8(Lorg/dataone/service/types/v1/Node;Ljava/lang/String;)VeLjava/lang/Exception;.Lorg/dataone/service/exceptions/BaseException;node#Lorg/dataone/service/types/v1/Node;cn0Lorg/dataone/integration/adapters/CNCallAdapter;verifiedSubjects*Lorg/dataone/service/types/v1/SubjectInfo;newNode#Lorg/dataone/service/types/v2/Node;nodeRef,Lorg/dataone/service/types/v1/NodeReference;ping#Lorg/dataone/service/types/v1/Ping;subjectsLjava/util/List;subj&Lorg/dataone/service/types/v1/Subject;synchronization.Lorg/dataone/service/types/v1/Synchronization;schedule'Lorg/dataone/service/types/v1/Schedule;services'Lorg/dataone/service/types/v1/Services;service&Lorg/dataone/service/types/v1/Service; propertyListp1'Lorg/dataone/service/types/v2/Property;p2 fetchedNodefetchedPropertyList fetchedP1 fetchedP28Ljava/util/List;9Ljava/util/List;&+@GL\]opw2 testRegisterthis test calls creates a new Node object, adds some properties, and calls register() with it. It then fetches the Node info with getNodeCapabilities() and makes sure the properties match what was added.testUpdateNodeCapabilities5updateNodeCapabilities - add extra properties to Nodethis test calls takes an existing Node, adds some properties, and calls updateNodeCapabilities(). It then fetches the Node info with getNodeCapabilities() and makes sure the properties match what was added.i$testMN0Lorg/dataone/integration/adapters/MNCallAdapter; capabilitiesnoldNodeCapabilities knownNodes'Lorg/dataone/service/types/v2/NodeList;oldPropertyListBackupv2MNsv2MNmnRef5Ljava/util/List; SourceFile1NodeRegistryExtensibilityTestImplementations.java   !org/dataone/service/types/v1/Node java/lang/AssertionErrorNo CN to test against! .org/dataone/integration/adapters/CNCallAdapter  v2 verified ,org/dataone/service/exceptions/BaseException0org/dataone/client/exception/ClientSideExceptionjava/lang/StringBuilder %Unable to fetch verified subjects on      No verified subjects on !org/dataone/service/types/v2/Nodehttps://fake.node.org java/util/ArrayList "Node made for Register API testing *org/dataone/service/types/v1/NodeReferenceurn:node:TestNode   !org/dataone/service/types/v1/Pingjava/util/Date              ,org/dataone/service/types/v1/Synchronization%org/dataone/service/types/v1/Schedule*  0/3  10 ?      ! "# $%%org/dataone/service/types/v1/Services$org/dataone/service/types/v1/ServiceMNCore & ' () *+ ,%org/dataone/service/types/v2/PropertyNodeLogo -(o_O) NodeTopping Pepperoni ./!Attempting to register new node: 0 ( 1 ) with CN 2 3 45: testRegister() : ?CN.register() call failed to register new node with exception: 6 789 : : ; < =java/lang/Exception >?5CN.getNodeCapabilities() call failed with exception: `testRegister(): fetched Node property list should contain two properties. Number of properties: @A BC DEQtestRegister(): fetched Node property 1 key should match the property we gave it. F GUtestRegister(): fetched Node property 1 type should match the type we gave it (null). HStestRegister(): fetched Node property 1 value should match the property we gave it. IQtestRegister(): fetched Node property 2 key should match the property we gave it.UtestRegister(): fetched Node property 2 type should match the type we gave it (null).StestRegister(): fetched Node property 2 value should match the property we gave it.  propType $NtestRegister(): fetched Node property 1 type should match the type we gave it.NtestRegister(): fetched Node property 2 type should match the type we gave it.  J K LM NtestUpdateNodeCapabilities() : ?unable to perform test setup, call to CN.listNodes() failed! : , OP Q R ST HU VW X .org/dataone/integration/adapters/MNCallAdapter YZ:v2 getCapabilities() should not be returning v1 Node types [\ ] ^_ `testUpdateNodeCapabilities() requires CN.listNodes() to contain at least one v2 MN since it tests the ability to save modifications to a Node's property list (which is v2 Node only). abtesting with node: c dGCN.getPropertyList() call failed to get old properties with exception: ef8CN.updateNodeCapabilities() call failed with exception: ICN.getNodeCapabilities() call failed to get updated info with exception: #fetchedNode has PropertyList size: $fetchedNode has null property list: LCN.updateNodeCapabilities() call failed to reset properties with exception: KtestUpdateNodeCapabilities(): fetched Node property list should not be nullntestUpdateNodeCapabilities(): fetched Node property list should contain two properties. Number of properties: _testUpdateNodeCapabilities(): fetched Node property 1 key should match the property we gave it.atestUpdateNodeCapabilities(): fetched Node property 1 value should match the property we gave it._testUpdateNodeCapabilities(): fetched Node property 2 key should match the property we gave it.atestUpdateNodeCapabilities(): fetched Node property 2 value should match the property we gave it.[org/dataone/integration/it/testImplementations/NodeRegistryExtensibilityTestImplementations.org/dataone/integration/it/ContextAwareAdapterjava/lang/String(org/dataone/service/types/v1/SubjectInfojava/util/List$org/dataone/service/types/v1/Subjectjava/lang/Throwable%org/dataone/service/types/v2/NodeListjava/util/IteratorhasNext()Znext()Ljava/lang/Object;(Ljava/lang/Object;)V cnSubmitter getSessionA(Ljava/lang/String;)Lorg/dataone/client/rest/MultipartRestClient;e(Lorg/dataone/client/rest/MultipartRestClient;Lorg/dataone/service/types/v1/Node;Ljava/lang/String;)V listSubjects(Lorg/dataone/service/types/v1/Session;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;Ljava/lang/Integer;)Lorg/dataone/service/types/v1/SubjectInfo;()Vappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;getNodeBaseServiceUrl()Ljava/lang/String;toString*(Ljava/lang/String;Ljava/lang/Throwable;)V getPersonList()Ljava/util/List;size()I setBaseURL(Ljava/lang/String;)VsetContactSubjectList(Ljava/util/List;)VsetDescriptionsetValuesetName setIdentifier/(Lorg/dataone/service/types/v1/NodeReference;)VsetLastSuccess(Ljava/util/Date;)Vjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean; setSuccess(Ljava/lang/Boolean;)VsetPing&(Lorg/dataone/service/types/v1/Ping;)V setReplicate(Z)V&org/dataone/service/types/v1/NodeStateDOWN(Lorg/dataone/service/types/v1/NodeState;setState+(Lorg/dataone/service/types/v1/NodeState;)V getPerson((I)Lorg/dataone/service/types/v1/Person;#org/dataone/service/types/v1/Person getSubject(()Lorg/dataone/service/types/v1/Subject;add(Ljava/lang/Object;)ZsetSubjectListsetHoursetMdaysetMinsetMonsetSecsetWdaysetYear setSchedule*(Lorg/dataone/service/types/v1/Schedule;)VsetSynchronization1(Lorg/dataone/service/types/v1/Synchronization;)VsetSynchronize%org/dataone/service/types/v1/NodeTypeMN'Lorg/dataone/service/types/v1/NodeType;setType*(Lorg/dataone/service/types/v1/NodeType;)V setVersion setAvailable addService)(Lorg/dataone/service/types/v1/Service;)V setServices*(Lorg/dataone/service/types/v1/Services;)VgetPropertyListsetKeylog Lorg/apache/commons/logging/Log;getName getBaseURLorg/apache/commons/logging/Loginforegisterw(Lorg/dataone/service/types/v1/Session;Lorg/dataone/service/types/v2/Node;)Lorg/dataone/service/types/v1/NodeReference;java/lang/ObjectgetClass()Ljava/lang/Class;java/lang/Class getSimpleNamegetDetail_codegetDescription getMessagegetNodeCapabilitiesQ(Lorg/dataone/service/types/v1/NodeReference;)Lorg/dataone/service/types/v2/Node;(I)Ljava/lang/StringBuilder;org/junit/Assert assertTrue(Ljava/lang/String;Z)Vget(I)Ljava/lang/Object;getKeyequalsgetTypegetValue3org/dataone/integration/ContextAwareTestCaseDataonenodeListContainsV2Mn listNodes)()Lorg/dataone/service/types/v2/NodeList;printStackTracegetCause()Ljava/lang/Throwable;-(Ljava/lang/Object;)Ljava/lang/StringBuilder; getNodeListiterator()Ljava/util/Iterator;)()Lorg/dataone/service/types/v1/NodeType;getState*()Lorg/dataone/service/types/v1/NodeState;UPgetCapabilities%()Lorg/dataone/service/types/v1/Node; getServices)()Lorg/dataone/service/types/v1/Services;getServiceListequalsIgnoreCase(Ljava/lang/String;)Z getVersion getIdentifier.()Lorg/dataone/service/types/v1/NodeReference;warnsetPropertyListupdateNodeCapabilitiesx(Lorg/dataone/service/types/v1/Session;Lorg/dataone/service/types/v1/NodeReference;Lorg/dataone/service/types/v2/Node;)Z!>*+ ()%+*+, Y1 24$5 %%% % ss yM Y** + N:-:%:YY-!YY-Y: Y!"#$%Y&:'(')*+Y,:-Y./012345 Y!:67:  8W9":Y;: ? >@ AB >C DE FG >H  I JKLMNYO: PYQ:  RS  T 0U  V WX:YYZ:[\]^8WYYZ:_\`^8WaYbcdef-g-hW:YY-ijklmnonpnq:YY-ijklmns:-t::YY-ijulmnonpnq:YY-ijulmns:X:YvwxyY:z{{|x}~x|xyY:{{|x~x|x"%"%9<9rJrJR9;="@%>'?GA\BzEFGHIJKLMNOPQRSTU VWX#Y,Z3[:\A]H^O_V`]adbkcqdyefghijknopqrstuvy1{9<|>}JL (:L' >\B\LBMMM:7VK #* ,!   llz7 VX%!]C ]C .  /A %+*+, Y $ %%% % ss  o[ Y** + N:-:%:YY-!YY-Y: Y!"#$%Y&:'(')*+Y,:-Y./012345 Y!:67:  8W9":Y;: ? >@ AB >C DE FG >H  I JKLMNYO: PYQ:  RS  T 0U  V WX:YYZ:[\]^8WYYZ:_\`^8WaYbcdef-g-hW:YY-ijklmnonpnq:YY-ijklmns:-t::YY-ijulmnonpnq:YY-ijulmns:X:YvwxyY:z{{|x~~|x|xyY:{{|x~~|x|x"%"%GJGrXrRT"%'G\z #,3:AHOV]dkqy? GJ L )X"Z#',-1258<$=6@HCZF' L\B\ZB[[[HEdY #8 ,/   slz$7 d8 %!]C ]C .   %+*+, YM NP$Q %%% % ss  * Y** + N::-:W:YY-is  Y!:::LY**  :  :   Y :  < P:  R    8W: OLxy::aYX:  Y!: YYZ:  [\  ]^  8WYYZ:  _\  `^  8W -t:  X:: YY-i lmn on pn q : YY-i lmn s -W: YY-i lmn on pn q : YY-i lmn s : -t: : YY-i lmn on pn q : YY-i lmn s  X*aY Xw"aY X-W: YY-i lmn on pn q : YY-i lmn s  X:  xY w x yY:{ {|x |x yY:{ {|x |x $*-rBErprrfnqfnraruarrRTU V XZ![$^*e-_/`4afghklmnop/q<r?tBwEuGvJhMya}n~upr!cfnqsBahruw-YfxL!/R* C k d G  \ rB \ !B s\ B w\ B !$2nNuG!   fV  fV%*$2!  " !G4444Y?BOJh ]CL]C ]C.S]Cj   !