3c   !  "# $%& '( ) *+ ,- ./01 23 4 5 6 7 89 :;<= 2> ?@ 2 AB CD %2E %F G HI +2J -2 +K LM +N O P QR S 8T UV :W XY :2Z <2[ <\ <]^ <_ <`a <bc <d <e :f g h ij kl N2m P2n PG Po Pp Nq r st Y2u Yvw YFxy z{ |} ~        p    : Y  Y Y  Y     p p    :   Q ,   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;#(=DIYZlmt/ 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.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: , ( - ) with CN . / 01T: testRegister() : CN.register() call failed to register new node with exception: 2 345 6 : 7 8 9java/lang/Exception :;J: testRegister() : CN.getNodeCapabilities() call failed with exception: `testRegister(): fetched Node property list should contain two properties. Number of properties: <= >? @AQtestRegister(): fetched Node property 1 key should match the property we gave it. B CUtestRegister(): fetched Node property 1 type should match the type we gave it (null). DStestRegister(): fetched Node property 1 value should match the property we gave it. EQtestRegister(): 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.  F G HI J: testUpdateNodeCapabilities() : ?unable to perform test setup, call to CN.listNodes() failed! : , KL M N OP DQ RS T.org/dataone/integration/adapters/MNCallAdapter UV:v2 getCapabilities() should not be returning v1 Node types WX Y Z[ \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). ]^testing with node: _ `j: testUpdateNodeCapabilities() : CN.getPropertyList() call failed to get old properties with exception: ab[: testUpdateNodeCapabilities() : CN.updateNodeCapabilities() call failed with exception: l: testUpdateNodeCapabilities() : CN.getNodeCapabilities() call failed to get updated info with exception: #fetchedNode has PropertyList size: $fetchedNode has null property list: o: testUpdateNodeCapabilities() : CN.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 % 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-ijklmlnlo:YY-ijklq:-r::YY-sjklmlnlo:YY-sjklq:X:YtuvwY:xyyzv{|v}~~zvwY:yyzv|v~~zv"%"%9<9p,pfhfh9;="@%>'?GA\BzEFGHIJKLMNOPQRSTU VWX#Y,Z3[:\A]H^O_V`]adbkcqdyefghijknopqrstuvyz,y1{9<|>}Wt,.Gfkr!$' >R8R.8%%%a.# # ,   neDXrz7 .nrT%!S9 Sy./A %+*+, Y $ %%% % ss  3 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-ijklmlnlo:YY-ijklq:-r::YY-sjklmlnlo:YY-sjklq:X:YtuvwY:xyyzv||zv}~~zvwY:yyzv||zv~~zv"%"%GJGp:ptvtj"%'G\z #,3:AHOV]dkqy% :? GJ L e) !:"<#U&t'y,-/-12425758:8<=? =@B@ C$E/C2F' LR8R<8333 o<1 # ,   |sKXz7 <|4 %!S9 Sy. %+*+, YM NP$Q %%% % s s   l* Y** + N::-:W:YY-q  Y!:::LY**  :  :   Y :  < P:  R    8W: OLvw::aYX:  Y!: YYZ:  [\  ]^  8WYYZ:  _\  `^  8W -r:  X:: YY- jkl ml nl o : YY- jkl q -W: YY- jkl ml nl o : YY- jkl q : -r: : YY- jkl ml nl o : YY- jkl q  X*aY Xu"aY X-W: YY- jkl ml nl o : YY- jkl q  X:  vY u v wY:y yzv~ ~zv wY:y yzv~ ~zv $*-pBEpfpp>FI>Fp%69%6pnU V XZ![$^*e-_/`4aWdfghiklmnop/q<r?tBwEuGvJhMyQ{^ya}n~u-Jfh;>FIKd%,69;Tq %(,7:GKVY]hk8/R* k d G  R h8 R 8 KR 8 ;R 8 lllN!K$Hnu   >.  VG%*$H  " !G4444Y?BOJh S9LS9 S9.SS9j