Release 1.9.0: implement the remaining test placeholders and fix what they hid - #64
Merged
Merged
Conversation
All 19 Inconclusive("Not implemented") tests now run against their RFC
fixtures. 12 only needed writing. The rest exposed:
- ContactUpdate threw NullReferenceException when adding or removing a
status: contact:add/contact:rem was never created. It could not
change authInfo (new ContactChange.AuthInfo); Password was emitted
after chg, outside it, which contact-1.0 does not allow. It now goes
inside chg, and email is written before disclose as RFC 5733 orders.
The two Nominet privacy fixtures had been edited to match the old
output; they are back to Nominet's documented form.
- DomainTransfer always sent op="request". New Operation (request,
query, approve, reject, cancel), Period, and AuthInfoRoid for the pw
roid attribute.
- Contact transfer did not exist: new ContactTransfer command and
ContactTransferResponse, sharing the TransferOperation enum.
- HostCreateResponse.HostCreateResult was protected; now public.
Command tests compare XML structurally, so fixture formatting no longer
matters. Bump to 1.9.0.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
All 19
Assert.Inconclusive("Not implemented")tests now run against their RFC 5730–5733 fixtures, so none are skipped. 12 only needed writing: host delete, domain info/create/update/delete commands, and seven responses. The other 7 exposed real gaps:NullReferenceExceptionbecausecontact:add/contact:remwas never created. Other fixes:ContactChange.AuthInfochanges the contact's password.Passwordused to be emitted aftercontact:chg, outside it, which the contact-1.0 schema doesn't allow. It now goes insidechg.emailis now written beforedisclose, in RFC 5733 order.Operation(TransferOperation.Request, the default, plusQuery,Approve,RejectandCancel),Period, andAuthInfoRoidfor thepw roidattribute. Existing callers produce the same XML.CiraDomainTransferis unaffected.ContactTransfercommand andContactTransferResponse, which exposesTransferStatus,RequestClientId,RequestDate,ActionClientIdandActionDate, the same namesDomainTransferResultuses.HostCreateResponse.HostCreateResultwasprotected; it's now public.New command tests compare XML structurally, ignoring formatting, namespace declarations and attribute order. The RFC fixtures don't all use the same formatting.
Version bumped to 1.9.0. All changes add API except two behavior fixes. Contact status updates now work instead of throwing.
ContactUpdatewithPasswordnow placesauthInfowhere the schema requires it.Testing
🤖 Generated with Claude Code