google-nomulus/javatests/google/registry
Ben McIlwain f5e76868f0 Add generic implementation comparator
This is an alternative to the "manually constructed" version in []

This generator recieves two objects implementing some interface. It returns a new implementation that exactly duplicates the behavior (return values, exceptions etc.) of the first ("original") object, but also logs any differences (in either return value or thrown exception) from the second object.

Nothing in the second object's execution will affect the results - not even thrown exceptions - it's only used for logging any differences.

This is useful when switching backend architecture for the some interface (say... from keystore to datastore+KMS for the Keyring interface :)) as we can make sure everything was OK for some extended period of real data before doing the switch.

This is better than just comparing the outputs once because having a completely different backend out of our control can result in "glitches" that are rare but relevant: maybe the new backend has lower availability, or sometimes fails and gives wrong results, or... well, that's it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=149706165
2017-03-13 11:22:55 -04:00
..
backup Add @VirtualEntity checking to Ofy's deleteWithoutBackup() 2017-02-08 17:31:07 -05:00
batch Refactor main loop of MapreduceEntityCleanupAction 2017-03-13 10:38:21 -04:00
bigquery Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
builddefs Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
config Remove unnecessary line to load configs 2017-02-27 11:07:40 -05:00
cron Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
dns Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
export Add Cloud KMS based secret storage 2017-02-17 12:22:12 -05:00
flows Remove reference to TldSpecificLogic 2017-03-07 13:40:48 -05:00
groups Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
keyring/kms Fix bugs in KmsConnectionImpl 2017-03-07 13:25:51 -05:00
mapreduce/inputs Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
model Fix non-determinism in RegistryTest duplicate auth code test 2017-03-13 11:22:55 -04:00
module Fix stale doPost references in servlet test method names 2017-02-27 11:15:01 -05:00
monitoring Re-add some accidentally removed license headers 2017-02-06 16:45:23 -05:00
pricing Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
rdap Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
rde Make RdeUploadActionTest compatible with IPv6-only mode 2017-03-07 13:19:56 -05:00
request Change new authorization logic to log a warning rather than rejecting the request 2017-03-07 13:42:16 -05:00
security Change XsrfTokenManager to support new HMAC token format 2017-03-07 13:31:46 -05:00
server Refer to Datastore everywhere correctly by its capitalized form 2017-02-17 12:12:12 -05:00
storage/drive Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
testing Add mapreduce cleanup action 2017-03-13 10:24:57 -04:00
tldconfig/idn Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
tmch Use Immutable types for static final fields 2017-03-07 13:52:19 -05:00
tools Better handle syncing contacts when creating RegistrarContacts 2017-03-13 11:22:55 -04:00
ui Refactor a few new XsrfTokenManager methods 2017-03-07 13:24:21 -05:00
util Add generic implementation comparator 2017-03-13 11:22:55 -04:00
whois Refactor WhoisReader.readCommand() method to take a now param 2017-03-13 10:45:40 -04:00
xjc Add mapper to import domains from RDE deposits 2017-02-06 16:46:46 -05:00
xml Update copyright year on all license headers 2017-02-02 16:27:22 -05:00