Class OXSecretKeyBackupIntegrationTest


@SpecificationReference(document="XEP-0374", version="0.2.0") public class OXSecretKeyBackupIntegrationTest extends AbstractOpenPgpIntegrationTest
  • Constructor Details

    • OXSecretKeyBackupIntegrationTest

      public OXSecretKeyBackupIntegrationTest(SmackIntegrationTestEnvironment environment) throws org.jivesoftware.smack.XMPPException.XMPPErrorException, TestNotPossibleException, org.jivesoftware.smack.SmackException.NotConnectedException, InterruptedException, org.jivesoftware.smack.SmackException.NoResponseException
      This integration test tests the basic secret key backup and restore functionality as described in XEP-0373 §5. In order to simulate two different devices, we are using two FileBasedOpenPgpStore implementations which point to different directories. First, Alice generates a fresh OpenPGP key pair. She then creates a backup of the key in her private PEP node. Now the OpenPgpStore implementation is replaced by another instance to simulate a different device. Then the secret key backup is restored from PubSub and the imported secret key is compared to the one in the original store. Afterwards the private PEP node is deleted from PubSub and the storage directories are emptied.
      Parameters:
      environment - TODO javadoc me please
      Throws:
      org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
      TestNotPossibleException - if the test is not possible.
      org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
      InterruptedException - if the calling thread was interrupted.
      org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
      See Also:
  • Method Details

    • cleanStore

      @AfterClass @BeforeClass public static void cleanStore() throws IOException
      Throws:
      IOException
    • test

      @SmackIntegrationTest(section="5") public void test() throws InvalidAlgorithmParameterException, NoSuchAlgorithmException, NoSuchProviderException, IOException, InterruptedException, org.jivesoftware.smackx.pubsub.PubSubException.NotALeafNodeException, org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.SmackException.NotConnectedException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotLoggedInException, org.jivesoftware.smack.SmackException.FeatureNotSupportedException, org.jivesoftware.smackx.ox.exception.MissingUserIdOnKeyException, org.jivesoftware.smackx.ox.exception.NoBackupFoundException, org.jivesoftware.smackx.ox.exception.InvalidBackupCodeException, org.bouncycastle.openpgp.PGPException, org.jivesoftware.smackx.ox.exception.MissingOpenPgpKeyException
      Throws:
      InvalidAlgorithmParameterException
      NoSuchAlgorithmException
      NoSuchProviderException
      IOException
      InterruptedException
      org.jivesoftware.smackx.pubsub.PubSubException.NotALeafNodeException
      org.jivesoftware.smack.SmackException.NoResponseException
      org.jivesoftware.smack.SmackException.NotConnectedException
      org.jivesoftware.smack.XMPPException.XMPPErrorException
      org.jivesoftware.smack.SmackException.NotLoggedInException
      org.jivesoftware.smack.SmackException.FeatureNotSupportedException
      org.jivesoftware.smackx.ox.exception.MissingUserIdOnKeyException
      org.jivesoftware.smackx.ox.exception.NoBackupFoundException
      org.jivesoftware.smackx.ox.exception.InvalidBackupCodeException
      org.bouncycastle.openpgp.PGPException
      org.jivesoftware.smackx.ox.exception.MissingOpenPgpKeyException