public boolean add(final UUID accountUuid, final byte[] challengeToken, final Duration ttl) {
    try {
      db().putItem(PutItemRequest.builder()
          .tableName(tableName)
          .item(Map.of(
              KEY_ACCOUNT_UUID, AttributeValues.fromUUID(accountUuid),
              ATTR_CHALLENGE_TOKEN, AttributeValues.fromByteArray(challengeToken),
              ATTR_TTL, AttributeValues.fromLong(getExpirationTimestamp(ttl))))
          .conditionExpression("attribute_not_exists(#uuid)")
          .expressionAttributeNames(UUID_NAME_MAP)
          .build());
      return true;
    } catch (final ConditionalCheckFailedException e) {
      return false;
    }
  }
@Test
  void add() {
    final UUID uuid = UUID.randomUUID();

    assertTrue(pushChallengeDynamoDb.add(uuid, generateRandomToken(), Duration.ofMinutes(1)));
    assertFalse(pushChallengeDynamoDb.add(uuid, generateRandomToken(), Duration.ofMinutes(1)));
  }