@Test void testImportKeyPair() throws IOException { String keyName = PREFIX + "2"; cleanupKeyPair(keyName); Map<String, String> myKey = ComputeTestUtils.setupKeyPair(); try { KeyPair keyPair = client.importKeyPairInRegion(null, keyName, myKey.get("public")); checkKeyPair(keyName, keyPair); // check the fingerprint of public key (in the sha10OfPrivateKey field) assertEquals(keyPair.getSha1OfPrivateKey(), SshKeys.fingerprintPublicKey(myKey.get("public"))); // try again to see if there's an error try { client.importKeyPairInRegion(null, keyName, myKey.get("public")); fail("Duplicate call importKeyPairInRegion should have failed!"); } catch (IllegalStateException e) { } } finally { cleanupKeyPair(keyName); } }
@Test(expectedExceptions = IllegalStateException.class) public void testImportKeyPairFailsAlreadyExists() { NovaEC2KeyPairApi client = requestsSendResponses( describeAvailabilityZonesRequest, describeAvailabilityZonesResponse, HttpRequest.builder().method("POST") .endpoint("http://localhost:8773/services/Cloud/") .addHeader("Host", "localhost:8773") .payload(payloadFromStringWithContentType("Action=ImportKeyPair&KeyName=mykey&PublicKeyMaterial=c3NoLXJzYSBBQQ%3D%3D&Signature=wOOKOlDfJezRkx7NKcyOyaBQuY7PoVE3HFa9495RL7s%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-04-16T15%3A54%3A08.897Z&Version=2009-04-04&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(), HttpResponse.builder().statusCode(409).build() ).getKeyPairApi().get(); client.importKeyPairInRegion(null, "mykey", "ssh-rsa AA"); } }
public void testImportKeyPair() { NovaEC2KeyPairApi client = requestsSendResponses( describeAvailabilityZonesRequest, describeAvailabilityZonesResponse, HttpRequest.builder().method("POST") .endpoint("http://localhost:8773/services/Cloud/") .addHeader("Host", "localhost:8773") .payload(payloadFromStringWithContentType("Action=ImportKeyPair&KeyName=mykey&PublicKeyMaterial=c3NoLXJzYSBBQQ%3D%3D&Signature=wOOKOlDfJezRkx7NKcyOyaBQuY7PoVE3HFa9495RL7s%3D&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2012-04-16T15%3A54%3A08.897Z&Version=2009-04-04&AWSAccessKeyId=identity", "application/x-www-form-urlencoded")).build(), HttpResponse.builder().statusCode(200).payload(payloadFromResource("/nova_ec2_import_keypair_response.xml")).build() ).getKeyPairApi().get(); KeyPair result = client.importKeyPairInRegion(null, "mykey", "ssh-rsa AA"); assertEquals(result.getKeyName(), "aplowe-nova-ec22"); assertEquals(result.getSha1OfPrivateKey(), "e3:fd:de:f6:4c:36:7d:9b:8f:2f:4c:20:f8:ae:b0:ea"); }