### Question:
AcmeClientSpi { public void updateAccount(AcmeAccount account, boolean staging, boolean termsOfServiceAgreed) throws AcmeException { updateAccount(account, staging, termsOfServiceAgreed, null); }  Map<AcmeResource, URL> getResourceUrls(AcmeAccount account, boolean staging); AcmeMetadata getMetadata(AcmeAccount account, boolean staging); boolean createAccount(AcmeAccount account, boolean staging); boolean createAccount(AcmeAccount account, boolean staging, boolean onlyReturnExisting); void updateAccount(AcmeAccount account, boolean staging, boolean termsOfServiceAgreed); void updateAccount(AcmeAccount account, boolean staging, String[] contactUrls); void updateAccount(AcmeAccount account, boolean staging, boolean termsOfServiceAgreed, String[] contactUrls); void changeAccountKey(AcmeAccount account, boolean staging); void changeAccountKey(AcmeAccount account, boolean staging, X509Certificate certificate, PrivateKey privateKey); void deactivateAccount(AcmeAccount account, boolean staging); X509CertificateChainAndSigningKey obtainCertificateChain(AcmeAccount account, boolean staging, String... domainNames); X509CertificateChainAndSigningKey obtainCertificateChain(AcmeAccount account, boolean staging, String keyAlgorithmName, int keySize,
                                                                    String... domainNames); String createAuthorization(AcmeAccount account, boolean staging, String domainName); void deactivateAuthorization(AcmeAccount account, boolean staging, String authorizationUrl); abstract AcmeChallenge proveIdentifierControl(AcmeAccount account, List<AcmeChallenge> challenges); abstract void cleanupAfterChallenge(AcmeAccount account, AcmeChallenge challenge); void revokeCertificate(AcmeAccount account, boolean staging, X509Certificate certificate); void revokeCertificate(AcmeAccount account, boolean staging, X509Certificate certificate, CRLReason reason); byte[] getNewNonce(final AcmeAccount account, final boolean staging); static final int DEFAULT_EC_KEY_SIZE; static final int DEFAULT_KEY_SIZE; static final String DEFAULT_KEY_ALGORITHM_NAME; }### Answer:
@Test public void testUpdateAccount() throws Exception { final String ACCT_LOCATION = "http: server = setupTestUpdateAccount(); AcmeAccount account = populateAccount(ACCOUNT_1_V2); account.setAccountUrl(ACCT_LOCATION); String[] contacts = new String[] { "mailto:certificates@examples.com", "mailto:admin@examples.com"}; acmeClient.updateAccount(account, false, false, contacts); assertFalse(account.isTermsOfServiceAgreed()); String[] updatedContacts = acmeClient.queryAccountContactUrls(account, false); assertArrayEquals(contacts, updatedContacts); acmeClient.updateAccount(account, false, false, null); updatedContacts = acmeClient.queryAccountContactUrls(account, false); assertArrayEquals(contacts, updatedContacts); }