public void testDelete() throws Exception {
    // Setup
    CryptoKey key = CryptoTest.createTestKey(admin.getOrg());
    KickstartFactory.saveCryptoKey(key);
    assertNotNull(KickstartFactory.lookupCryptoKeyById(key.getId(), key.getOrg()));
    flushAndEvict(key);

    // Test
    CryptoKeysHandler handler = new CryptoKeysHandler();
    handler.delete(adminKey, key.getDescription());

    // Verify
    CryptoKey deletedKey = KickstartFactory.lookupCryptoKeyById(key.getId(), key.getOrg());
    assertNull(deletedKey);
  }
  public void testGetDetails() throws Exception {
    // Setup
    CryptoKey key = CryptoTest.createTestKey(admin.getOrg());
    KickstartFactory.saveCryptoKey(key);
    assertNotNull(KickstartFactory.lookupCryptoKeyById(key.getId(), key.getOrg()));
    flushAndEvict(key);

    // Test
    CryptoKeysHandler handler = new CryptoKeysHandler();
    CryptoKey cryptoKey = handler.getDetails(adminKey, key.getDescription());

    // Verify
    assertNotNull(cryptoKey);
    assertEquals(cryptoKey.getDescription(), cryptoKey.getDescription());
    assertEquals(cryptoKey.getCryptoKeyType().getLabel(), cryptoKey.getCryptoKeyType().getLabel());
    assertEquals(cryptoKey.getKeyString(), cryptoKey.getKeyString());
  }
  public void testCreate() throws Exception {
    // Setup
    String description = "CryptoKeysHandler.testCreate-Description";
    String content = MD5Crypt.md5Hex(RandomStringUtils.random(28));

    // Test
    CryptoKeysHandler handler = new CryptoKeysHandler();
    handler.create(adminKey, description, "GPG", content);

    // Verify
    CryptoKey cryptoKey = KickstartFactory.lookupCryptoKey(description, admin.getOrg());

    assertNotNull(cryptoKey);
    assertEquals(cryptoKey.getDescription(), description);
    assertEquals(cryptoKey.getCryptoKeyType().getLabel(), "GPG");
    assertEquals(cryptoKey.getKeyString(), content);
  }
  public void testListAllKeys() throws Exception {
    // Setup
    User otherOrg = UserTestUtils.findNewUser("testUser", "cryptoOrg", true);
    CryptoKey key = CryptoTest.createTestKey(otherOrg.getOrg());
    KickstartFactory.saveCryptoKey(key);
    flushAndEvict(key);

    // Test
    CryptoKeysHandler handler = new CryptoKeysHandler();

    List allKeys = handler.listAllKeys(XmlRpcTestUtils.getSessionKey(otherOrg));

    // Verify
    assertNotNull(allKeys);
    assertEquals(allKeys.size(), 1);

    CryptoKeyDto dto = (CryptoKeyDto) allKeys.get(0);
    assertEquals(key.getDescription(), dto.getDescription());
    assertEquals(key.getOrg().getId(), dto.getOrgId());
  }