    @Test
    public void setAvailableKeys() {

        this.mockDefaultSuccessData();
        TransactionProcessor processor = createAndPrepareTransaction(this.defaultActions());
        assertNotNull(processor);

        List<String> availableKey = new ArrayList<>();
        availableKey.add("Key3");
        availableKey.add("Key4");
        processor.setAvailableKeys(availableKey);

        try {
            processor.signAndBroadcast();
        } catch (TransactionSignAndBroadCastError transactionSignAndBroadCastError) {
            // getAvailableKey is updated so it is different with RequiredKeys from backend
            assertTrue(transactionSignAndBroadCastError.getCause() instanceof TransactionCreateSignatureRequestRequiredKeysEmptyError);
        }
    }