@Test public void testCloudStorageAccountExportKey() throws InvalidKeyException, URISyntaxException { String accountKeyString = "abc2564="; String accountString = "BlobEndpoint=http://blobs/;AccountName=test;AccountKey=" + accountKeyString; CloudStorageAccount account = CloudStorageAccount.parse(accountString); StorageCredentialsAccountAndKey accountAndKey = (StorageCredentialsAccountAndKey) account.getCredentials(); String key = accountAndKey.exportBase64EncodedKey(); assertEquals(accountKeyString, key); byte[] keyBytes = accountAndKey.exportKey(); byte[] expectedKeyBytes = Base64.decode(accountKeyString); TestHelper.assertByteArrayEquals(expectedKeyBytes, keyBytes); } }
@Test public void testStorageCredentialsNullKeyValue() { String nullKeyValueAsString = null; try { new StorageCredentialsAccountAndKey(ACCOUNT_NAME, nullKeyValueAsString); fail("Did not hit expected exception"); } catch (IllegalArgumentException ex) { assertEquals(SR.STRING_NOT_VALID, ex.getMessage()); } StorageCredentialsAccountAndKey credentials2 = new StorageCredentialsAccountAndKey(ACCOUNT_NAME, ACCOUNT_KEY); assertEquals(ACCOUNT_NAME, credentials2.getAccountName()); assertEquals(ACCOUNT_KEY, Base64.encode(credentials2.exportKey())); byte[] nullKeyValueAsByteArray = null; try { new StorageCredentialsAccountAndKey(ACCOUNT_NAME, nullKeyValueAsByteArray); fail("Did not hit expected exception"); } catch (IllegalArgumentException ex) { assertEquals(SR.INVALID_KEY, ex.getMessage()); } }