From 127eeff2350558c78c385a171bafea3dcc35d3e8 Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Wed, 6 May 2026 09:44:21 +0300 Subject: [PATCH 1/6] Fixed issue in one of the module unit tests caused by changes done in recent release --- Test/Unit/Model/System/MerchantPortalTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Test/Unit/Model/System/MerchantPortalTest.php b/Test/Unit/Model/System/MerchantPortalTest.php index 7303436..569881c 100644 --- a/Test/Unit/Model/System/MerchantPortalTest.php +++ b/Test/Unit/Model/System/MerchantPortalTest.php @@ -51,7 +51,7 @@ protected function setUp(): void $merchantId = 'MERCHANT-123'; $this->dependencyMocks['apiConfiguration'] - ->method('getUsername') + ->method('getClientIdentifier') ->willReturn($merchantId); $this->klarnaOrder ->method('getKlarnaOrderId') From d190412da24773a914da22bb8e077d0e9d22c665 Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Wed, 6 May 2026 12:48:01 +0300 Subject: [PATCH 2/6] For now removing domain manager usage from one of the integration test fixtures, since to do this properly we need to create a rollback for this fixture and whatever other fixtures are using it. After all app/etc/env.php changes are not reverted automatically and changes to it will be validated after running tests, causing the running of test to be halted. --- Test/Integration/_files/fixtures/product_downloadable.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Test/Integration/_files/fixtures/product_downloadable.php b/Test/Integration/_files/fixtures/product_downloadable.php index 8d8558d..673fd84 100644 --- a/Test/Integration/_files/fixtures/product_downloadable.php +++ b/Test/Integration/_files/fixtures/product_downloadable.php @@ -4,11 +4,7 @@ * See COPYING.txt for license details. */ -use Magento\Downloadable\Api\DomainManagerInterface; - $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); -$domainManager = $objectManager->get(DomainManagerInterface::class); -$domainManager->addDomains(['placeholder.test']); /** @var \Magento\Catalog\Model\Product $product */ $product = $objectManager->create(\Magento\Catalog\Model\Product::class); @@ -41,7 +37,7 @@ 'title' => 'Downloadable Product Link', 'type' => \Magento\Downloadable\Helper\Download::LINK_TYPE_URL, 'is_shareable' => \Magento\Downloadable\Model\Link::LINK_SHAREABLE_CONFIG, - 'link_url' => 'http://placeholder.test', + 'link_url' => 'http://localhost', 'link_id' => 0, 'is_delete' => null, ]; From 3a77924910ab77e5e619fe144001ac67c72d562a Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Thu, 7 May 2026 11:59:53 +0300 Subject: [PATCH 3/6] Updated sales rule fixtures for integration tests to use the AbstractModel save method, as on Commerce indexer logic is tied to save events of AbstractModel rather than resource model --- Test/Integration/_files/fixtures/cart_fixed_2_34_discount.php | 3 +-- Test/Integration/_files/fixtures/cart_fixed_9999_discount.php | 3 +-- Test/Integration/_files/fixtures/cart_percent_100_discount.php | 3 +-- .../_files/fixtures/cart_percent_12_34_discount.php | 3 +-- .../fixtures/cart_percent_apply_to_shipping_100_discount.php | 3 +-- .../fixtures/cart_percent_apply_to_shipping_12_34_discount.php | 3 +-- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/Test/Integration/_files/fixtures/cart_fixed_2_34_discount.php b/Test/Integration/_files/fixtures/cart_fixed_2_34_discount.php index 2ee984e..139b6ff 100644 --- a/Test/Integration/_files/fixtures/cart_fixed_2_34_discount.php +++ b/Test/Integration/_files/fixtures/cart_fixed_2_34_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -35,4 +34,4 @@ ] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); diff --git a/Test/Integration/_files/fixtures/cart_fixed_9999_discount.php b/Test/Integration/_files/fixtures/cart_fixed_9999_discount.php index b82a022..30ef6d9 100644 --- a/Test/Integration/_files/fixtures/cart_fixed_9999_discount.php +++ b/Test/Integration/_files/fixtures/cart_fixed_9999_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -35,4 +34,4 @@ ] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); diff --git a/Test/Integration/_files/fixtures/cart_percent_100_discount.php b/Test/Integration/_files/fixtures/cart_percent_100_discount.php index 81bda62..20101fa 100644 --- a/Test/Integration/_files/fixtures/cart_percent_100_discount.php +++ b/Test/Integration/_files/fixtures/cart_percent_100_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -31,4 +30,4 @@ 'website_ids' => [$websiteId] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); diff --git a/Test/Integration/_files/fixtures/cart_percent_12_34_discount.php b/Test/Integration/_files/fixtures/cart_percent_12_34_discount.php index 13e7929..f62a185 100644 --- a/Test/Integration/_files/fixtures/cart_percent_12_34_discount.php +++ b/Test/Integration/_files/fixtures/cart_percent_12_34_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -31,4 +30,4 @@ 'website_ids' => [$websiteId] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); diff --git a/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_100_discount.php b/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_100_discount.php index 2c7dbd4..e23c7ef 100644 --- a/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_100_discount.php +++ b/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_100_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -32,4 +31,4 @@ 'website_ids' => [$websiteId] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); diff --git a/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_12_34_discount.php b/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_12_34_discount.php index c832b1a..7073d36 100644 --- a/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_12_34_discount.php +++ b/Test/Integration/_files/fixtures/cart_percent_apply_to_shipping_12_34_discount.php @@ -6,7 +6,6 @@ declare(strict_types=1); use Magento\Customer\Model\GroupManagement; -use Magento\SalesRule\Model\ResourceModel\Rule as RuleResourceModel; use Magento\SalesRule\Model\Rule; use Magento\Store\Model\StoreManagerInterface; use Magento\TestFramework\Helper\Bootstrap; @@ -32,4 +31,4 @@ 'website_ids' => [$websiteId] ] ); -$objectManager->get(RuleResourceModel::class)->save($salesRule); +$salesRule->save(); From 502e2e214636637a3585931d7b83850233c2efb6 Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Thu, 7 May 2026 12:18:09 +0300 Subject: [PATCH 4/6] Updated one of the product fixtures to grab the saved product instance, as it seems on Commerce the option saving doesn't result in the given product instance being updated, which results in the following fixture code breaking --- .../Integration/_files/fixtures/product_bundled_fixed_two.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Test/Integration/_files/fixtures/product_bundled_fixed_two.php b/Test/Integration/_files/fixtures/product_bundled_fixed_two.php index 3777fca..5157ae5 100644 --- a/Test/Integration/_files/fixtures/product_bundled_fixed_two.php +++ b/Test/Integration/_files/fixtures/product_bundled_fixed_two.php @@ -100,7 +100,7 @@ $product->setExtensionAttributes($extension); } -$productRepository->save($product, true); +$product = $productRepository->save($product, true); $productHelper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Catalog\Helper\Product::class); $productHelper->setSkipSaleableCheck(true); @@ -112,4 +112,4 @@ $stockSql = "INSERT INTO cataloginventory_stock_status (product_id, website_id, stock_id, qty, stock_status) " . "VALUES (" . $product->getId() . ",0,1,12345,1)"; $connection->query($stockSql); -} \ No newline at end of file +} From 1f1e63e3e2c7f20298d663e88bbc1c2ccc12d9ef Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Fri, 22 May 2026 14:23:33 +0300 Subject: [PATCH 5/6] KUSTOM-92: Added some new integration test fixtures and also rollbacks in case the tests need to be done without database isolation --- ...rna_order_setup1_single_simple_product.php | 30 ++++++ ..._setup1_single_simple_product_rollback.php | 37 +++++++ .../order_setup1_single_simple_product.php | 13 ++- ..._setup1_single_simple_product_rollback.php | 44 ++++++++ .../fixtures/product_simple_rollback.php | 35 ++++++ .../quote_setup1_single_simple_product.php | 100 ++++++++++++++++++ ..._setup1_single_simple_product_rollback.php | 43 ++++++++ .../tax_rule_us_postal_36104_rollback.php | 40 +++++++ 8 files changed, 335 insertions(+), 7 deletions(-) create mode 100644 Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product.php create mode 100644 Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product_rollback.php create mode 100644 Test/Integration/_files/fixtures/order_setup1_single_simple_product_rollback.php create mode 100644 Test/Integration/_files/fixtures/product_simple_rollback.php create mode 100644 Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php create mode 100644 Test/Integration/_files/fixtures/quote_setup1_single_simple_product_rollback.php create mode 100644 Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php diff --git a/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product.php b/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product.php new file mode 100644 index 0000000..daf9fc3 --- /dev/null +++ b/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product.php @@ -0,0 +1,30 @@ +requireDataFixture( + 'Klarna_Base::Test/Integration/_files/fixtures/order_setup1_single_simple_product.php' +); + +$objectManager = Bootstrap::getObjectManager(); + +/** @var \Klarna\Base\Model\OrderFactory $kOrderFactory */ +$kOrderFactory = $objectManager->get(\Klarna\Base\Model\OrderFactory::class); +/** @var \Magento\Sales\Model\OrderFactory $mOrderFactory */ +$mOrderFactory = $objectManager->get(\Magento\Sales\Model\OrderFactory::class); + +$order = $mOrderFactory->create()->loadByIncrementId('100000001'); +$klarnaOrder = $kOrderFactory->create(); +$klarnaOrder->setKlarnaOrderId('123456-1234-1234-1234-1234567890'); +$klarnaOrder->setOrderId($order->getId()); +$klarnaOrder->save(); diff --git a/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product_rollback.php b/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product_rollback.php new file mode 100644 index 0000000..4891f2f --- /dev/null +++ b/Test/Integration/_files/fixtures/klarna_order_setup1_single_simple_product_rollback.php @@ -0,0 +1,37 @@ +get(OrderFactory::class); +/** @var Registry $registry */ +$registry = $objectManager->get(Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +$klarnaOrder = $kOrderFactory->create()->load('123456-1234-1234-1234-1234567890', 'klarna_order_id'); +if ($klarnaOrder->getId()) { + $klarnaOrder->delete(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); + +Resolver::getInstance()->requireDataFixture( + 'Klarna_Base::Test/Integration/_files/fixtures/order_setup1_single_simple_product_rollback.php' +); diff --git a/Test/Integration/_files/fixtures/order_setup1_single_simple_product.php b/Test/Integration/_files/fixtures/order_setup1_single_simple_product.php index ab02ba7..cb9567e 100644 --- a/Test/Integration/_files/fixtures/order_setup1_single_simple_product.php +++ b/Test/Integration/_files/fixtures/order_setup1_single_simple_product.php @@ -1,13 +1,12 @@ submit($quote); -$increment_id = $service->getRealOrderId(); \ No newline at end of file +$increment_id = $service->getRealOrderId(); diff --git a/Test/Integration/_files/fixtures/order_setup1_single_simple_product_rollback.php b/Test/Integration/_files/fixtures/order_setup1_single_simple_product_rollback.php new file mode 100644 index 0000000..9eab276 --- /dev/null +++ b/Test/Integration/_files/fixtures/order_setup1_single_simple_product_rollback.php @@ -0,0 +1,44 @@ +get(QuoteFactory::class); +/** @var OrderFactory $orderFactory */ +$orderFactory = $objectManager->get(OrderFactory::class); +/** @var Registry $registry */ +$registry = $objectManager->get(Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +$order = $orderFactory->create()->loadByIncrementId('100000001'); +if ($order->getId()) { + $order->delete(); +} + +$quote = $quoteFactory->create()->load('100000001', 'reserved_order_id'); +if ($quote->getId()) { + $quote->delete(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); + +Resolver::getInstance()->requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php'); +Resolver::getInstance()->requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/product_simple_rollback.php'); diff --git a/Test/Integration/_files/fixtures/product_simple_rollback.php b/Test/Integration/_files/fixtures/product_simple_rollback.php new file mode 100644 index 0000000..c88b516 --- /dev/null +++ b/Test/Integration/_files/fixtures/product_simple_rollback.php @@ -0,0 +1,35 @@ +get(ProductRepositoryInterface::class); +/** @var Registry $registry */ +$registry = $objectManager->get(Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +try { + $product = $productRepository->get('simple'); + $productRepository->delete($product); +} catch (NoSuchEntityException $exception) { + // Already deleted +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); diff --git a/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php new file mode 100644 index 0000000..18b5448 --- /dev/null +++ b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php @@ -0,0 +1,100 @@ +requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/product_simple.php'); +Resolver::getInstance()->requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/tax_rule_us_postal_36104.php'); + +$objectManager = Bootstrap::getObjectManager(); + +/** @var StoreManagerInterface $storeManager */ +$storeManager = $objectManager->get(StoreManagerInterface::class); +/** @var Product $productLoader */ +$productLoader = $objectManager->get(Product::class); +/** @var QuoteFactory $mQuoteFactory */ +$mQuoteFactory = $objectManager->get(QuoteFactory::class); +/** @var QuoteManagement $quoteManagement */ +$quoteManagement = $objectManager->get(QuoteManagement::class); +/** @var CustomerFactory $customerFactory */ +$customerFactory = $objectManager->get(CustomerFactory::class); +/** @var CustomerRepositoryInterface $customerRepository */ +$customerRepository = $objectManager->get(CustomerRepositoryInterface::class); +/** @var \Klarna\Kco\Model\QuoteFactory $kQuoteFactory */ +$kQuoteFactory = $objectManager->create(\Klarna\Kco\Model\QuoteFactory::class); + +$store = $storeManager->getStore(); +$websiteId = $storeManager->getStore()->getWebsiteId(); +$customer = $customerFactory->create(); +$customer->setWebsiteId($websiteId) + ->setStore($store) + ->setFirstname('Jhon') + ->setLastname('Deo') + ->setEmail('sdfds@sdfsd.de') + ->setPassword("password"); +$customer->save(); +$customer = $customerRepository->getById($customer->getEntityId()); + +$product = $productLoader->load(99999); +$quote = $mQuoteFactory->create(); +$quote->setStore($store); +$quote->setGlobalCurrencyCode('USD') + ->setBaseCurrencyCode('USD') + ->setStoreCurrencyCode('USD') + ->setQuoteCurrencyCode('USD'); +$quote->assignCustomer($customer); +$quote->setSendConfirmation(1); +$quote->addProduct($product, 1); + +$addressData = [ + AddressInterface::KEY_TELEPHONE => '3468676', + AddressInterface::KEY_POSTCODE => '36104', + AddressInterface::KEY_COUNTRY_ID => 'US', + AddressInterface::KEY_CITY => 'CityM', + AddressInterface::KEY_COMPANY => 'CompanyName', + AddressInterface::KEY_STREET => 'Green str, 67', + AddressInterface::KEY_LASTNAME => 'Smith', + AddressInterface::KEY_FIRSTNAME => 'John', + AddressInterface::KEY_REGION_ID => 1, + AddressInterface::KEY_EMAIL => 'any_mail@mail.me' +]; + +$billingAddress = $quote->getBillingAddress()->addData($addressData); +$shippingAddress = $quote->getShippingAddress()->addData($addressData); + +$shippingAddress->setCollectShippingRates(true) + ->collectShippingRates() + ->setShippingMethod('flatrate_flatrate') + ->setPaymentMethod('checkmo'); +$quote->setPaymentMethod('checkmo'); +$quote->setInventoryProcessed(false); +$quote->save(); +$quote->getPayment()->importData(array('method' => 'checkmo')); + +$quote->setReservedOrderId('100000001'); + +$quote->setTotalsCollectedFlag(false); +$quote->getShippingAddress()->setCollectShippingRates(true); +$quote->collectTotals()->save(); + +$klarnaQuote = $kQuoteFactory->create(); +$klarnaQuote->setQuoteId($quote->getId()); +$klarnaQuote->setKlarnaCheckoutId('123456-1234-1234-1234-1234567890'); +$klarnaQuote->setIsActive(true); +$klarnaQuote->save(); diff --git a/Test/Integration/_files/fixtures/quote_setup1_single_simple_product_rollback.php b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product_rollback.php new file mode 100644 index 0000000..2ae9532 --- /dev/null +++ b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product_rollback.php @@ -0,0 +1,43 @@ +get(QuoteFactory::class); +/** @var \Klarna\Kco\Model\QuoteFactory $kQuoteFactory */ +$kQuoteFactory = $objectManager->get(\Klarna\Kco\Model\QuoteFactory::class); +/** @var Registry $registry */ +$registry = $objectManager->get(Registry::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +$klarnaQuote = $kQuoteFactory->create()->load('123456-1234-1234-1234-1234567890', 'klarna_checkout_id'); +if ($klarnaQuote->getId()) { + $klarnaQuote->delete(); +} + +$quote = $quoteFactory->create()->load('100000001', 'reserved_order_id'); +if ($quote->getId()) { + $quote->delete(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); + +Resolver::getInstance()->requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php'); +Resolver::getInstance()->requireDataFixture('Klarna_Base::Test/Integration/_files/fixtures/product_simple_rollback.php'); diff --git a/Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php b/Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php new file mode 100644 index 0000000..b70d2fe --- /dev/null +++ b/Test/Integration/_files/fixtures/tax_rule_us_postal_36104_rollback.php @@ -0,0 +1,40 @@ +get(Registry::class); +/** @var RateFactory $rateFactory */ +$rateFactory = $objectManager->create(RateFactory::class); +/** @var RuleFactory $ruleFactory */ +$ruleFactory = $objectManager->create(RuleFactory::class); + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', true); + +$rate = $rateFactory->create()->load('US-AL-*-Rate-1', 'code'); +if ($rate->getId()) { + $rate->delete(); +} + +$rule = $ruleFactory->create()->load('36104 Test Rule', 'code'); +if ($rule->getId()) { + $rule->delete(); +} + +$registry->unregister('isSecureArea'); +$registry->register('isSecureArea', false); From 3f57df1a78379571e7caa2e166b9e90a446c61cf Mon Sep 17 00:00:00 2001 From: Joona Melartin Date: Wed, 27 May 2026 12:32:25 +0300 Subject: [PATCH 6/6] KUSTOM-92: Adjusting the new cart test fixture to include somewhat proper region information, as the region validation is more strict in 2.4.5 and 2.4.6 --- .../_files/fixtures/quote_setup1_single_simple_product.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php index 18b5448..52e030b 100644 --- a/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php +++ b/Test/Integration/_files/fixtures/quote_setup1_single_simple_product.php @@ -71,7 +71,8 @@ AddressInterface::KEY_STREET => 'Green str, 67', AddressInterface::KEY_LASTNAME => 'Smith', AddressInterface::KEY_FIRSTNAME => 'John', - AddressInterface::KEY_REGION_ID => 1, + AddressInterface::KEY_REGION => 'CA', + AddressInterface::KEY_REGION_ID => '12', AddressInterface::KEY_EMAIL => 'any_mail@mail.me' ];