diff --git a/.htaccess b/.htaccess index 01f8f8dd24df5bf518774b24c9843bdd0d61d73a..9f630df0ae681e1dea7bca6587f1d2e082e7a23c 100644 --- a/.htaccess +++ b/.htaccess @@ -65,13 +65,6 @@ SecFilterScanPOST Off </IfModule> -<IfModule mod_headers.c> -############################################ -## prevent clickjacking - - Header set X-Frame-Options SAMEORIGIN -</IfModule> - <IfModule mod_deflate.c> ############################################ @@ -187,4 +180,4 @@ ## If running in cluster environment, uncomment this ## http://developer.yahoo.com/performance/rules.html#etags - #FileETag none \ No newline at end of file + #FileETag none diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php index d1657ae076abb419e0b4f71f8c26ba27dc6a6be8..cd88e551ffec3d58a639c3859e9e146fea984026 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification.php @@ -14,26 +14,6 @@ class Notification extends \Magento\Backend\App\AbstractAction */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'markAsRead': - $acl = 'Magento_AdminNotification::mark_as_read'; - break; - - case 'massMarkAsRead': - $acl = 'Magento_AdminNotification::mark_as_read'; - break; - - case 'remove': - $acl = 'Magento_AdminNotification::adminnotification_remove'; - break; - - case 'massRemove': - $acl = 'Magento_AdminNotification::adminnotification_remove'; - break; - - default: - $acl = 'Magento_AdminNotification::show_list'; - } - return $this->_authorization->isAllowed($acl); + return $this->_authorization->isAllowed('Magento_AdminNotification::show_list'); } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php index ee93d06fc8c629f9f47b6c90c9c1bfff68b9b5e8..bcf66825edf6bdc85f27680298c2129b2cb46d02 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsRead.php @@ -36,4 +36,12 @@ class MarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Notific } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::mark_as_read'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php index ac414106f9f893989c4ea870e68d32c486961704..78090163aa6a2a7f1a8637026c19aa70ffdc5b5b 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsRead.php @@ -38,4 +38,12 @@ class MassMarkAsRead extends \Magento\AdminNotification\Controller\Adminhtml\Not } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::mark_as_read'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php index 41a27163baa5269e4accd0243fe08729b67331af..4b0068520ba3e0c4f69116dc9d04de411cc0783f 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemove.php @@ -33,4 +33,12 @@ class MassRemove extends \Magento\AdminNotification\Controller\Adminhtml\Notific } $this->getResponse()->setRedirect($this->_redirect->getRedirectUrl($this->getUrl('*'))); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::adminnotification_remove'); + } } diff --git a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php index 53fc0bee4bfb89104418f3bf5b50365072dd0d72..b4fe7e0e29596d2bd81fae0ec3430e1a3f545e77 100644 --- a/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php +++ b/app/code/Magento/AdminNotification/Controller/Adminhtml/Notification/Remove.php @@ -35,4 +35,12 @@ class Remove extends \Magento\AdminNotification\Controller\Adminhtml\Notificatio } $this->_redirect('adminhtml/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_AdminNotification::adminnotification_remove'); + } } diff --git a/app/code/Magento/Backend/etc/adminhtml/di.xml b/app/code/Magento/Backend/etc/adminhtml/di.xml index 553d30e85541f36dbd0a50834d1d146d99b84d5d..cccd487a9f5662ca3ee4ec187ecb4a4942ce8f9e 100644 --- a/app/code/Magento/Backend/etc/adminhtml/di.xml +++ b/app/code/Magento/Backend/etc/adminhtml/di.xml @@ -122,4 +122,9 @@ </argument> </arguments> </type> + <type name="Magento\Framework\App\Response\XFrameOptPlugin"> + <arguments> + <argument name="xFrameOpt" xsi:type="const">Magento\Framework\App\Response\XFrameOptPlugin::BACKEND_X_FRAME_OPT</argument> + </arguments> + </type> </config> diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order.php b/app/code/Magento/Sales/Controller/Adminhtml/Order.php index 4685341ddef97abe8fb366fb3eaa6c50dd351d30..0bf5c59a46e1c4b5b5fd50b90fc951e7059960a9 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order.php @@ -124,47 +124,10 @@ class Order extends \Magento\Backend\App\Action } /** - * Acl check for admin - * * @return bool - * @SuppressWarnings(PHPMD.CyclomaticComplexity) */ protected function _isAllowed() { - $action = strtolower($this->getRequest()->getActionName()); - switch ($action) { - case 'hold': - $aclResource = 'Magento_Sales::hold'; - break; - case 'unhold': - $aclResource = 'Magento_Sales::unhold'; - break; - case 'email': - $aclResource = 'Magento_Sales::email'; - break; - case 'cancel': - $aclResource = 'Magento_Sales::cancel'; - break; - case 'view': - $aclResource = 'Magento_Sales::actions_view'; - break; - case 'addcomment': - $aclResource = 'Magento_Sales::comment'; - break; - case 'creditmemos': - $aclResource = 'Magento_Sales::creditmemo'; - break; - case 'reviewpayment': - $aclResource = 'Magento_Sales::review_payment'; - break; - case 'address': - case 'addresssave': - $aclResource = 'Magento_Sales::actions_edit'; - break; - default: - $aclResource = 'Magento_Sales::sales_order'; - break; - } - return $this->_authorization->isAllowed($aclResource); + return $this->_authorization->isAllowed('Magento_Sales::sales_order'); } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php index c313dc7d25f84541ccb0db5a026420865e1896fe..29729f850bb64f28e2975694d24893c6eb428f66 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddComment.php @@ -57,4 +57,12 @@ class AddComment extends \Magento\Sales\Controller\Adminhtml\Order } return $this->resultRedirectFactory->create()->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::comment'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php index 0b5697e7c48df8dde275940d77a5f396f0f223e9..18fdf29cf80249ca881eee3e90267467492e7627 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Address.php @@ -31,4 +31,12 @@ class Address extends \Magento\Sales\Controller\Adminhtml\Order return $this->resultRedirectFactory->create()->setPath('sales/*/'); } } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_edit'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php index fc174f97b8bb03acb0059906f484c74770064cdd..e3d15fd93cdd6765c1c3aa3739603db07ac23f95 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/AddressSave.php @@ -35,4 +35,12 @@ class AddressSave extends \Magento\Sales\Controller\Adminhtml\Order return $resultRedirect->setPath('sales/*/'); } } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_edit'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php index 54b3294c89d0d9ee6b67b402a3857874e3d2e3e4..263edb51310c26e05ee7d0284f5e776df89ca6a8 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Cancel.php @@ -31,4 +31,12 @@ class Cancel extends \Magento\Sales\Controller\Adminhtml\Order } return $resultRedirect->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::cancel'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php index 47634d33a81630d3a05cc467e1e8e7eecbd5f89c..46571b222f35c858a46f05b4f39f9abca3524cab 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Creditmemos.php @@ -18,4 +18,12 @@ class Creditmemos extends \Magento\Sales\Controller\Adminhtml\Order $resultLayout = $this->resultLayoutFactory->create(); return $resultLayout; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::creditmemo'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php index df614ba7c4494775193d89d000b8caa933b18cf3..e2dce6e111b8e8f20ae63957db473560fffbfc6e 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Email.php @@ -29,4 +29,12 @@ class Email extends \Magento\Sales\Controller\Adminhtml\Order } return $this->resultRedirectFactory->create()->setPath('sales/*/'); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::email'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php index 3f295b391bd4f56ce4b1502114297d80727b7d53..58a54b87f0ed9820b4a98acbaa5ca16692118603 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Hold.php @@ -31,4 +31,12 @@ class Hold extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::hold'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php index 67c5924940a8c505e5dc6b5c792c145be77c3fbe..5373f40402736e30b617017e230aad9e391caba0 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/ReviewPayment.php @@ -53,4 +53,12 @@ class ReviewPayment extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/order/view', ['order_id' => $order->getId()]); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::review_payment'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php index 6ea9cd78e3bb6d341d785e7238450ccd3a636901..c57f4ca425146c72d93c3bc4741d6bf335cba1de 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/Unhold.php @@ -31,4 +31,12 @@ class Unhold extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::unhold'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php b/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php index 2242f7a6360b94bf22af7faba152f06e86f7d941..e4881766b1b0489afe81dd7329921dbe6b14976c 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Order/View.php @@ -34,4 +34,12 @@ class View extends \Magento\Sales\Controller\Adminhtml\Order $resultRedirect->setPath('sales/*/'); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::actions_view'); + } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php index 49b910be6a862ff0379be9adf7b365ba3babd40f..f3d31df87ac4b83298162ba337a60af65723285a 100644 --- a/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Transactions.php @@ -86,13 +86,6 @@ class Transactions extends \Magento\Backend\App\Action */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'fetch': - return $this->_authorization->isAllowed('Magento_Sales::transactions_fetch'); - break; - default: - return $this->_authorization->isAllowed('Magento_Sales::transactions'); - break; - } + return $this->_authorization->isAllowed('Magento_Sales::transactions'); } } diff --git a/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php b/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php index 2afac87db489d6ab464ecf2bc1dfe291818d9899..6b2af6cc1dd5f22ccbecc355f71ccff08dde7957 100755 --- a/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php +++ b/app/code/Magento/Sales/Controller/Adminhtml/Transactions/Fetch.php @@ -38,4 +38,12 @@ class Fetch extends \Magento\Sales\Controller\Adminhtml\Transactions return $resultRedirect->setPath('sales/transactions/view', ['_current' => true]); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_Sales::transactions_fetch'); + } } diff --git a/app/code/Magento/Store/etc/di.xml b/app/code/Magento/Store/etc/di.xml index 320253c316b88638328936cb3b273f3972a2ec22..c47f73ec9012bd91e4218009b662d754d6905645 100644 --- a/app/code/Magento/Store/etc/di.xml +++ b/app/code/Magento/Store/etc/di.xml @@ -9,6 +9,14 @@ <preference for="Magento\Framework\App\Request\PathInfoProcessorInterface" type="Magento\Store\App\Request\PathInfoProcessor" /> <preference for="Magento\Store\Model\StoreManagerInterface" type="Magento\Store\Model\StoreManager" /> <preference for="Magento\Framework\App\Response\RedirectInterface" type="Magento\Store\App\Response\Redirect" /> + <type name="Magento\Framework\App\Response\Http"> + <plugin name="xFrameOptionsHeader" type="Magento\Framework\App\Response\XFrameOptPlugin"/> + </type> + <type name="Magento\Framework\App\Response\XFrameOptPlugin"> + <arguments> + <argument name="xFrameOpt" xsi:type="init_parameter">Magento\Framework\App\Response\XFrameOptPlugin::DEPLOYMENT_CONFIG_X_FRAME_OPT</argument> + </arguments> + </type> <type name="Magento\Framework\App\Config\ScopePool"> <arguments> <argument name="readerPool" xsi:type="object">Magento\Store\Model\Config\Reader\ReaderPool\Proxy</argument> diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php index ba316fd6f734908c6cbd8f1d3cc6c444fa6c6c4c..3a09ea4b4744c31230e5ab2818f8ff0d678f9a28 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate.php @@ -32,18 +32,6 @@ class Rate extends \Magento\Backend\App\Action */ protected function _isAllowed() { - switch ($this->getRequest()->getActionName()) { - case 'importExport': - return $this->_authorization->isAllowed('Magento_TaxImportExport::import_export'); - case 'importPost': - case 'exportPost': - return $this->_authorization->isAllowed( - 'Magento_Tax::manage_tax' - ) || $this->_authorization->isAllowed( - 'Magento_TaxImportExport::import_export' - ); - default: - return $this->_authorization->isAllowed('Magento_Tax::manage_tax'); - } + return $this->_authorization->isAllowed('Magento_Tax::manage_tax'); } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php index 1d5685802882b5ed3703222f7318511712493605..92e825650f804d4b0475e193b89b0d44cf66205e 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPost.php @@ -83,4 +83,17 @@ class ExportPost extends \Magento\TaxImportExport\Controller\Adminhtml\Rate } return $this->fileFactory->create('tax_rates.csv', $content, DirectoryList::VAR_DIR); } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed( + 'Magento_Tax::manage_tax' + ) || $this->_authorization->isAllowed( + 'Magento_TaxImportExport::import_export' + ); + + } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php index 5ba0b3e87da0e7727e89aa3747d34916e2d0123a..b37520a99f870106a31e6e6ee93b7e1ae9f82345 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExport.php @@ -30,4 +30,12 @@ class ImportExport extends \Magento\TaxImportExport\Controller\Adminhtml\Rate $resultPage->getConfig()->getTitle()->prepend(__('Import and Export Tax Rates')); return $resultPage; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed('Magento_TaxImportExport::import_export'); + } } diff --git a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php index 663a0183b1e86cba8e888c9a9b194e24e99c9519..eb5efff3d5e9be912e0d5f50129187dec9646ba2 100644 --- a/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php +++ b/app/code/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPost.php @@ -36,4 +36,17 @@ class ImportPost extends \Magento\TaxImportExport\Controller\Adminhtml\Rate $resultRedirect->setUrl($this->_redirect->getRedirectUrl()); return $resultRedirect; } + + /** + * @return bool + */ + protected function _isAllowed() + { + return $this->_authorization->isAllowed( + 'Magento_Tax::manage_tax' + ) || $this->_authorization->isAllowed( + 'Magento_TaxImportExport::import_export' + ); + + } } diff --git a/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml b/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml index f81d5ae8386c690c113ed59a1ed5fef74a7ed333..1b984b454f0a535088d61127e9cf02cfc8f74add 100644 --- a/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml +++ b/app/code/Magento/Theme/view/frontend/templates/html/bugreport.phtml @@ -10,5 +10,4 @@ target="_blank"> <?php echo __('Report All Bugs') ?> </a> - <strong><?php echo __('(ver. %1)', \Magento\Framework\AppInterface::VERSION) ?></strong> </small> diff --git a/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml b/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml index d5e3ef7851329e5893cbf7ad15fe45fdf7cf8efb..f158afa5e9c95d49f2cd9c044a8af6f4bca4a7fa 100644 --- a/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml +++ b/app/code/Magento/Theme/view/frontend/templates/html/footer.phtml @@ -12,7 +12,7 @@ <?php echo $block->getChildHtml() ?> <p class="bugs"><?php echo __('Help Us Keep Magento Healthy') ?> - <a href="http://www.magentocommerce.com/bug-tracking" - target="_blank"><strong><?php echo __('Report All Bugs') ?></strong></a> <?php echo __('(ver. %1)', \Magento\Framework\AppInterface::VERSION) ?> + target="_blank"><strong><?php echo __('Report All Bugs') ?></strong></a> </p> <address><?php echo $block->getCopyright() ?></address> </div> diff --git a/app/code/Magento/Version/Controller/Index/Index.php b/app/code/Magento/Version/Controller/Index/Index.php index 687e3d3d5163512fb83214e04961b43d359ba1ba..0fe6235bc6ca091e830b184ffa73b3be57875e58 100644 --- a/app/code/Magento/Version/Controller/Index/Index.php +++ b/app/code/Magento/Version/Controller/Index/Index.php @@ -9,6 +9,7 @@ namespace Magento\Version\Controller\Index; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\App\ProductMetadataInterface; +use Magento\Framework\Exception\StateException; /** * Magento Version controller @@ -31,15 +32,21 @@ class Index extends Action } /** - * Sets the response body with ProductName/Version (Edition). E.g.: Magento/0.42.0-beta3 (Community) + * Sets the response body to ProductName/Major.MinorVersion (Edition). E.g.: Magento/0.42 (Community). Omits patch + * version from response * * @return void */ public function execute() { + $versionParts = explode('.', $this->productMetadata->getVersion()); + if (!isset($versionParts[0]) || !isset($versionParts[1])) { + return ; // Major and minor version are not set - return empty response + } + $majorMinorVersion = $versionParts[0] . '.' . $versionParts[1]; $this->getResponse()->setBody( $this->productMetadata->getName() . '/' . - $this->productMetadata->getVersion() . ' (' . + $majorMinorVersion . ' (' . $this->productMetadata->getEdition() . ')' ); } diff --git a/dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php similarity index 63% rename from dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php rename to dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php index 1100934f8dc0362d7f12fa44c5e677975f819e0d..8ae817b42cee2324f68f264a50fa17ae9e5b265b 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Utility/Controller.php +++ b/dev/tests/integration/framework/Magento/TestFramework/TestCase/AbstractBackendController.php @@ -3,14 +3,14 @@ * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ -namespace Magento\Backend\Utility; +namespace Magento\TestFramework\TestCase; /** * A parent class for backend controllers - contains directives for admin user creation and authentication * @SuppressWarnings(PHPMD.NumberOfChildren) * @SuppressWarnings(PHPMD.numberOfChildren) */ -class Controller extends \Magento\TestFramework\TestCase\AbstractController +abstract class AbstractBackendController extends \Magento\TestFramework\TestCase\AbstractController { /** * @var \Magento\Backend\Model\Auth\Session @@ -22,6 +22,20 @@ class Controller extends \Magento\TestFramework\TestCase\AbstractController */ protected $_auth; + /** + * The resource used to authorize action + * + * @var string + */ + protected $resource = null; + + /** + * The uri at which to access the controller + * + * @var string + */ + protected $uri = null; + protected function setUp() { parent::setUp(); @@ -70,4 +84,27 @@ class Controller extends \Magento\TestFramework\TestCase\AbstractController ) { parent::assertSessionMessages($constraint, $messageType, $messageManagerClass); } + + + public function testAclHasAccess() + { + if ($this->uri === null) { + $this->markTestIncomplete('AclHasAccess test is not complete'); + } + $this->dispatch($this->uri); + $this->assertNotSame(403, $this->getResponse()->getHttpResponseCode()); + $this->assertNotSame(404, $this->getResponse()->getHttpResponseCode()); + } + + public function testAclNoAccess() + { + if ($this->resource === null) { + $this->markTestIncomplete('Acl test is not complete'); + } + $this->_objectManager->get('Magento\Framework\Acl\Builder') + ->getAcl() + ->deny(null, $this->resource); + $this->dispatch($this->uri); + $this->assertSame(403, $this->getResponse()->getHttpResponseCode()); + } } diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php new file mode 100644 index 0000000000000000000000000000000000000000..06b47f04772a56f81a2c1cfbc1e633233ada3c35 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MarkAsReadTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MarkAsReadTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::mark_as_read'; + $this->uri = 'backend/admin/notification/markasread'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php new file mode 100644 index 0000000000000000000000000000000000000000..18f3604e29d1b0aee4043a4ae100e9164ebe2b97 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassMarkAsReadTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MassMarkAsReadTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::mark_as_read'; + $this->uri = 'backend/admin/notification/massmarkasread'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..780e716c5ab7627a83e62ed91db2d9f3fac52475 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/MassRemoveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class MassRemoveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::adminnotification_remove'; + $this->uri = 'backend/admin/notification/massremove'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..240b91ea122e4f19576ee1a719cfe35f7c2c051f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/AdminNotification/Controller/Adminhtml/Notification/RemoveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\AdminNotification\Controller\Adminhtml\Notification; + +class RemoveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_AdminNotification::adminnotification_remove'; + $this->uri = 'backend/admin/notification/remove'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php index 4578a476df3ae6d78e9c813050a9be3f7fd9024b..e5362e3496e73a2be9cee990f518d4fa408c5c84 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/App/AbstractActionTest.php @@ -9,7 +9,7 @@ namespace Magento\Backend\App; * Test class for \Magento\Backend\Controller\AbstractAction. * @magentoAppArea adminhtml */ -class AbstractActionTest extends \Magento\Backend\Utility\Controller +class AbstractActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check redirection to startup page for logged user diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php index 0c6d65b52543fa3dac3c9d6de3434a940184cfbb..e122d906f21866c9b532841472bfc792675ef033 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Cache/MassActionTest.php @@ -11,7 +11,7 @@ use Magento\TestFramework\Helper\Bootstrap; use Magento\Framework\Config\File\ConfigFilePool; use Magento\Framework\App\Filesystem\DirectoryList; -class MassActionTest extends \Magento\Backend\Utility\Controller +class MassActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Configuration of cache types diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php index 071967d1e5fcc6598c1bcbfbfe08ee169e403e1e..7229d95e579e929d7fd758deacbba47a61caadfe 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class CacheTest extends \Magento\Backend\Utility\Controller +class CacheTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Backend/controllers/_files/cache/application_cache.php diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php index 72f68982f89d60c0b4bebe7ffd383d4d4722e601..c9749a5aab2ba7812ec5482ccc01898fc82c930b 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/Dashboard/ProductsViewedTest.php @@ -6,7 +6,7 @@ */ namespace Magento\Backend\Controller\Adminhtml\Dashboard; -class ProductsViewedTest extends \Magento\Backend\Utility\Controller +class ProductsViewedTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Reports/_files/viewed_products.php diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php index f83c3bb77a83b50daa1a74ae35544e4b1fd531d4..20b193ee77d292d9d46cd0e2a12f32e55b3c8658 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/DashboardTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class DashboardTest extends \Magento\Backend\Utility\Controller +class DashboardTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testAjaxBlockAction() { diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php index 795c1f2b9271705e6318f404ae2aa098058d6b18..6575448913a4f7344c1d018423f20c9acd733bf3 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/IndexTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check not logged state diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php index a4edd2510d3d8f6fed9ef24683bc78f2fb703e34..983e3dae2d465f35cf20407e86b5ef36374da9f3 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/AccountTest.php @@ -10,7 +10,7 @@ use Magento\TestFramework\Bootstrap; /** * @magentoAppArea adminhtml */ -class AccountTest extends \Magento\Backend\Utility\Controller +class AccountTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider saveDataProvider diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php index be0bd223c23ed48b27afed77d97b21f522bc17ec..5c6a9c49ef209f654995cafe4d6039f6a122e288 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/DesignTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class DesignTest extends \Magento\Backend\Utility\Controller +class DesignTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Backend\App\Action::_addLeft diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php index b84193fcd61625c1a2fce585b09b1a49a1ff3a03..7ce98d848e5eae77afe711e243fe813fd6178f6e 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/System/StoreTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class StoreTest extends \Magento\Backend\Utility\Controller +class StoreTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php index 51db66afe941fde1c1614c0eb7d1f1f6b807c4db..23e50b082be7cb56b6603e4057d109c46aa9983e 100644 --- a/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php +++ b/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/UrlRewriteTest.php @@ -8,7 +8,7 @@ namespace Magento\Backend\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class UrlRewriteTest extends \Magento\Backend\Utility\Controller +class UrlRewriteTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check save cms page rewrite diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php index 02ba93db4c6fd567be8d46e25fbfcbbb2230100f..5965cc529be88816377e712e097bb3bf180706cc 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/CategoryTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class CategoryTest extends \Magento\Backend\Utility\Controller +class CategoryTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Store/_files/core_fixturestore.php diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php index cb8f0d7354b76faf0c082ac59f31d1de59ca42a9..276f752779f224cedd35b06359147952c5961d69 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Action/AttributeTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product\Action; /** * @magentoAppArea adminhtml */ -class AttributeTest extends \Magento\Backend\Utility\Controller +class AttributeTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Catalog\Controller\Adminhtml\Product\Action\Attribute\Save::execute diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php index 4b64142851618d123c4f3a6011146cccd1863692..07b5cac6bb2689cec5c86e56399947798dc28763 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/AttributeTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class AttributeTest extends \Magento\Backend\Utility\Controller +class AttributeTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @return void diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php index 1af4fd36b8f494e3005f00b50ed0609d290c5e55..b87d11c2c90a3ba8a11a11479bcd7f6369b460c2 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/NewActionTest.php @@ -11,7 +11,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class NewActionTest extends \Magento\Backend\Utility\Controller +class NewActionTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @TODO: Remove this test when corresponding functional tests become mandatory: diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php index 54c2a94c9e5a884c2977a6958e2a48f817baf7ad..b684ee4cebf63ad2a719a51d05e06a56f0ab9a71 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/ReviewTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product; /** * @magentoAppArea adminhtml */ -class ReviewTest extends \Magento\Backend\Utility\Controller +class ReviewTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Review/_files/review_xss.php diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php index 062f0b5d71bcc0f93749fe8d812d854f1b7a1f9f..6fdab58458c5d43ee1840d57a5d6e120487d090f 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/Product/Set/DeleteTest.php @@ -7,7 +7,7 @@ namespace Magento\Catalog\Controller\Adminhtml\Product\Set; use Magento\Framework\Message\MessageInterface; -class DeleteTest extends \Magento\Backend\Utility\Controller +class DeleteTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/Eav/_files/empty_attribute_set.php diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php index 0ab3f897f2b90307ddbaefec4e41fd642b624d7b..6cefed9c36b43e37763bec0f686a8f47d6629459 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Controller/Adminhtml/ProductTest.php @@ -8,7 +8,7 @@ namespace Magento\Catalog\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ProductTest extends \Magento\Backend\Utility\Controller +class ProductTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testSaveActionWithDangerRequest() { diff --git a/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php b/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php index 2dc7211134a9ab4275fdfe365aa1a7a676af70c9..db421e962fe1b6e91443645cf17fc3611f9234f5 100644 --- a/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Cms/Controller/Adminhtml/Wysiwyg/Images/IndexTest.php @@ -6,7 +6,7 @@ namespace Magento\Cms\Controller\Adminhtml\Wysiwyg\Images; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testViewAction() { diff --git a/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php b/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php index 17507214f58ce960622fe170a94e079f0eb1f863..93300ebe991c14b95c33ead08ea1a8b5ae73f948 100644 --- a/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php +++ b/dev/tests/integration/testsuite/Magento/Config/Controller/Adminhtml/System/ConfigTest.php @@ -13,7 +13,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class ConfigTest extends \Magento\Backend\Utility\Controller +class ConfigTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testEditAction() { diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php index 73ad1be033ce7020a1cf14fa24322c05a4b241b3..a878e83de053fdf216a97dda9a3c59c1995d13c8 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/Config/MatrixTest.php @@ -9,7 +9,7 @@ namespace Magento\ConfigurableProduct\Block\Adminhtml\Product\Edit\Tab\Super\Con /** * @magentoAppArea adminhtml */ -class MatrixTest extends \Magento\Backend\Utility\Controller +class MatrixTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const ATTRIBUTE_LABEL = 'New Attribute Label'; const ATTRIBUTE_POSITION = 42; diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php index b3c492d07d29ce2d775ca328f070d90ccb5be646..e05edee57e832c8a02083b32fa7d43ec224f0528 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Block/Adminhtml/Product/Edit/Tab/Super/ConfigTest.php @@ -13,7 +13,7 @@ use Magento\Catalog\Model\Resource\Eav\Attribute; /** * @magentoAppArea adminhtml */ -class ConfigTest extends \Magento\Backend\Utility\Controller +class ConfigTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const ATTRIBUTE_LABEL = 'New Attribute Label'; const ATTRIBUTE_POSITION = 42; diff --git a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php index 3bfa19d422aef293af99f7de84e0433cc364ddd4..0f4b46261fa9f49790b36b330a6461b5fda2080f 100644 --- a/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/ConfigurableProduct/Controller/Adminhtml/ProductTest.php @@ -8,7 +8,7 @@ namespace Magento\ConfigurableProduct\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ProductTest extends \Magento\Backend\Utility\Controller +class ProductTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/ConfigurableProduct/_files/product_configurable.php diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php index 823a2adf5a524721e3865db62b9df44555fcd580..f170ad50089fcf44ae3add9c1ff078f0fb027e06 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/FetchRatesTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class FetchRatesTest extends \Magento\Backend\Utility\Controller +class FetchRatesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test fetch action without service diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php index 668d08345f155e186f8b4aa5f5498b190fa00615..66a0af3bc948c85b8d15491232cd98664af72476 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/IndexTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test index action diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php index 2b7a4fb020953a5997336ec6f6d0d5786e67fb78..0cece519e3355a7900a0a2c91af7e43efcaa0ad2 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currency/SaveRatesTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currency; -class SaveRatesTest extends \Magento\Backend\Utility\Controller +class SaveRatesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** @var \Magento\Directory\Model\Currency $currencyRate */ diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php index cb6cb168ad59333d8038a39fcb46b04189d2a500..525dcdfb697e8a4efc8cdf71bf732e4941bcee29 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/IndexTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currencysymbol; -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test index action diff --git a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php index 2f738452630c8506fb0eb8a23bbe527687552aa1..b5fdfc9fc965e2272aabaddd0ed9eecf5238c287 100644 --- a/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php +++ b/dev/tests/integration/testsuite/Magento/CurrencySymbol/Controller/Adminhtml/System/Currencysymbol/SaveTest.php @@ -5,7 +5,7 @@ */ namespace Magento\CurrencySymbol\Controller\Adminhtml\System\Currencysymbol; -class SaveTest extends \Magento\Backend\Utility\Controller +class SaveTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php index e68f3c496b63b31bacd8ac68f309e14e6d05a869..482e0d7f7c59ee70bddf6fad3cc8051b78757e44 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/Cart/Product/Composite/CartTest.php @@ -8,7 +8,7 @@ namespace Magento\Customer\Controller\Adminhtml\Cart\Product\Composite; /** * @magentoAppArea adminhtml */ -class CartTest extends \Magento\Backend\Utility\Controller +class CartTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Quote\Model\Resource\Quote\Item\CollectionFactory diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php index 3ae1f6ed77cdf8de30eb055694af236f80bc6cb6..87b52cbf40c2ab2feb03bc8951ec1d1474627ecb 100644 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/GroupTest.php @@ -11,7 +11,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class GroupTest extends \Magento\Backend\Utility\Controller +class GroupTest extends \Magento\TestFramework\TestCase\AbstractBackendController { const TAX_CLASS_ID = 3; const TAX_CLASS_NAME = 'Retail Customer'; diff --git a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php index d2a3d0a770a28ef9ce1b3175a07eb59dbe1d0a17..9126bb17030bb111e807a8170e6eaabca8c3b2be 100755 --- a/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php +++ b/dev/tests/integration/testsuite/Magento/Customer/Controller/Adminhtml/IndexTest.php @@ -15,7 +15,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * @magentoAppArea adminhtml */ -class IndexTest extends \Magento\Backend\Utility\Controller +class IndexTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Base controller URL diff --git a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php index ae89b49fb049bd33e40df44fc2ff57d3a709326c..7e2b343e043ba53630faaa163eacb1749d4eba72 100644 --- a/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php +++ b/dev/tests/integration/testsuite/Magento/DesignEditor/Controller/Adminhtml/System/Design/EditorTest.php @@ -8,7 +8,7 @@ namespace Magento\DesignEditor\Controller\Adminhtml\System\Design; /** * @magentoAppArea adminhtml */ -class EditorTest extends \Magento\Backend\Utility\Controller +class EditorTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php index 0060e0c30419b26866322a09d0a8c70d4cf833f0..81268a5d9d3ae0098d49e5e0e9538d2018e0c139 100644 --- a/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php +++ b/dev/tests/integration/testsuite/Magento/Downloadable/Controller/Adminhtml/Downloadable/FileTest.php @@ -8,7 +8,7 @@ namespace Magento\Downloadable\Controller\Adminhtml\Downloadable; * See COPYING.txt for license details. * @magentoAppArea adminhtml */ -class FileTest extends \Magento\Backend\Utility\Controller +class FileTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testUploadAction() { diff --git a/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php b/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php index 510e10103042213cc42e20bc54500cb146d3bcd9..1e7a3ac5d75bb07ac96af5a9beb570ef4cee0901 100644 --- a/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Email/Controller/Adminhtml/Email/TemplateTest.php @@ -8,7 +8,7 @@ namespace Magento\Email\Controller\Adminhtml\Email; /** * @magentoAppArea adminhtml */ -class TemplateTest extends \Magento\Backend\Utility\Controller +class TemplateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testDefaultTemplateAction() { diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php index 9862cb8df11b4c20e4463d4a12cce7e3fb6a9b9c..1a6e527bb5176f886f11b8d9dc302bddb2095cc6 100644 --- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php +++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/ItemsTest.php @@ -8,7 +8,7 @@ namespace Magento\GoogleShopping\Controller\Adminhtml\GoogleShopping; /** * @magentoAppArea adminhtml */ -class ItemsTest extends \Magento\Backend\Utility\Controller +class ItemsTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php index 6cdcb47a2c486ebf08c36294581cc75ddb8ee839..945d5c45c9d345b2e353a2c255b33eee580be5b5 100644 --- a/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php +++ b/dev/tests/integration/testsuite/Magento/GoogleShopping/Controller/Adminhtml/GoogleShopping/TypesTest.php @@ -8,7 +8,7 @@ namespace Magento\GoogleShopping\Controller\Adminhtml\GoogleShopping; /** * @magentoAppArea adminhtml */ -class TypesTest extends \Magento\Backend\Utility\Controller +class TypesTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php index 02a60876b9dba091db31a101a434475a96374d2e..f001fae69deb741567a4844449d48838b9e9484f 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ExportTest.php @@ -8,7 +8,7 @@ namespace Magento\ImportExport\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ExportTest extends \Magento\Backend\Utility\Controller +class ExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Set value of $_SERVER['HTTP_X_REQUESTED_WITH'] parameter here diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php index 22b1348b79c4a10573a9dd61624fffa83c1f751a..6f25434d61bf56e11c13b47c60c5bc60219b41b6 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Import/ValidateTest.php @@ -10,7 +10,7 @@ use Magento\Framework\Filesystem\DirectoryList; /** * @magentoAppArea adminhtml */ -class ValidateTest extends \Magento\Backend\Utility\Controller +class ValidateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @backupGlobals enabled diff --git a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php index 36e888a964d0115c7597f07fc509f8ed1b15f6ce..75f0021126bf7b00f8e01dac0ade173eb5a543c4 100644 --- a/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php +++ b/dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/ImportTest.php @@ -8,7 +8,7 @@ namespace Magento\ImportExport\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class ImportTest extends \Magento\Backend\Utility\Controller +class ImportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testGetFilterAction() { diff --git a/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php b/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php index 827606d2109cc98040774d98805329fe5ca57594..a2c49175f5378afa4ae9972aa15ad9f03151dbf5 100644 --- a/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php +++ b/dev/tests/integration/testsuite/Magento/Indexer/Controller/Adminhtml/IndexerTest.php @@ -8,7 +8,7 @@ namespace Magento\Indexer\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class IndexerTest extends \Magento\Backend\Utility\Controller +class IndexerTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Assert that current page is index management page and that it has indexers mode selector diff --git a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php index eec5ee556e9cdf481f3c3420bd624ee7a94e9b94..5c281c22a5fe425acb0cd5197ea7aab06ec02149 100644 --- a/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php +++ b/dev/tests/integration/testsuite/Magento/Integration/Controller/Adminhtml/IntegrationTest.php @@ -13,7 +13,7 @@ namespace Magento\Integration\Controller\Adminhtml; * @magentoAppArea adminhtml * @magentoDbIsolation enabled */ -class IntegrationTest extends \Magento\Backend\Utility\Controller +class IntegrationTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** @var \Magento\Integration\Model\Integration */ private $_integration; diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php index facea396ed4e6b97dcb293b3e888ede732396580..5da58b332295708127c6560f6d701574dd2d560d 100644 --- a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterQueueTest.php @@ -8,7 +8,7 @@ namespace Magento\Newsletter\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class NewsletterQueueTest extends \Magento\Backend\Utility\Controller +class NewsletterQueueTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Newsletter\Model\Template diff --git a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php index 3922013af5d5b74accd1b8a8aaeae5937c4f1ce6..a626b60004c8a7b8c90d72e17a483788ebb1e694 100644 --- a/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php +++ b/dev/tests/integration/testsuite/Magento/Newsletter/Controller/Adminhtml/NewsletterTemplateTest.php @@ -8,7 +8,7 @@ namespace Magento\Newsletter\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class NewsletterTemplateTest extends \Magento\Backend\Utility\Controller +class NewsletterTemplateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\Newsletter\Model\Template diff --git a/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php b/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php index f5a343241c2e834a4ad7ae2b794ea979b9d31f61..695ae56b1f7205a938b1f112c6808cc5855548ed 100644 --- a/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php +++ b/dev/tests/integration/testsuite/Magento/PageCache/Block/System/Config/Form/Field/ExportTest.php @@ -8,7 +8,7 @@ namespace Magento\PageCache\Block\System\Config\Form\Field; /** * @magentoAppArea adminhtml */ -class ExportTest extends \Magento\Backend\Utility\Controller +class ExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Check Varnish export buttons diff --git a/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php b/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php index 44035ad0d3a55cf049c412e06d190f5cf85ed445..c75c03e7a6a025e29a47af6361d794b756ba1881 100644 --- a/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php +++ b/dev/tests/integration/testsuite/Magento/Reports/Controller/Adminhtml/Report/Product/ViewedTest.php @@ -11,7 +11,7 @@ namespace Magento\Reports\Controller\Adminhtml\Report\Product; /** * @magentoAppArea adminhtml */ -class ViewedTest extends \Magento\Backend\Utility\Controller +class ViewedTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testExecute() { diff --git a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php index 3995996455974b9767dd32cc470c48791ae39c7d..94ffd027c1da562d790911641b6edf193152e412 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Block/Adminhtml/Order/View/InfoTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Block\Adminhtml\Order\View; /** * Test class for \Magento\Sales\Block\Adminhtml\Order\View\Info */ -class InfoTest extends \Magento\Backend\Utility\Controller +class InfoTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Value for the user defined custom attribute, which is created by attribute_user_defined_customer.php fixture. diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php new file mode 100644 index 0000000000000000000000000000000000000000..be01007ab3885041af5aed43372d17f3682c532d --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddCommentTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddCommentTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::comment'; + $this->uri = 'backend/sales/order/addcomment'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8859a8453c410d83771630c74a6ada661941b006 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressSaveTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddressSaveTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_edit'; + $this->uri = 'backend/sales/order/addresssave'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php new file mode 100644 index 0000000000000000000000000000000000000000..a986a948e8235b029335310a844a71a3235c9865 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/AddressTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class AddressTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_edit'; + $this->uri = 'backend/sales/order/address'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7f37712982a85bd8ff37aaf68469d4aa63bc8786 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CancelTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class CancelTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::cancel'; + $this->uri = 'backend/sales/order/cancel'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php index 9514e649404e054dcfc4ba7d1a3eaf3c55006859..edc7f00ce5e217727707a2ebf3adbc5672d8d1ef 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreateTest.php @@ -9,7 +9,7 @@ namespace Magento\Sales\Controller\Adminhtml\Order; * @magentoAppArea adminhtml * @magentoDbIsolation enabled */ -class CreateTest extends \Magento\Backend\Utility\Controller +class CreateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testLoadBlockAction() { diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php index 5e33aac4557c9475b3f17ddc19cddf2b8fef8070..1f9834830161845426de0bbd59b2937762a9dc07 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/CreditmemoTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Controller\Adminhtml\Order; /** * @magentoAppArea adminhtml */ -class CreditmemoTest extends \Magento\Backend\Utility\Controller +class CreditmemoTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoConfigFixture current_store cataloginventory/item_options/auto_return 1 diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php new file mode 100644 index 0000000000000000000000000000000000000000..406511061d4fe5bbec957b2e7710bb75353babd6 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/EmailTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class EmailTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::email'; + $this->uri = 'backend/sales/order/email'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8c85de19064010eab3a6aad6113291c63666310a --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/HoldTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class HoldTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::hold'; + $this->uri = 'backend/sales/order/hold'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php new file mode 100644 index 0000000000000000000000000000000000000000..042d5b7b2e237c518128de0e4792b86c3add07a5 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ReviewPaymentTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class ReviewPaymentTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::review_payment'; + $this->uri = 'backend/sales/order/reviewpayment'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php new file mode 100644 index 0000000000000000000000000000000000000000..33e83893556e43de5098d2dc1b8e22953d78a096 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/UnholdTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class UnholdTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::unhold'; + $this->uri = 'backend/sales/order/unhold'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f61a32c5080268239e440d8659f3a3a323fbc539 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Order/ViewTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Order; + +class ViewTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::actions_view'; + $this->uri = 'backend/sales/order/view'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php index 8b19d20b99d621bbc038d18b5708617594b519e0..7198676eaf45c6ee1a25e8072a78f106280417c1 100644 --- a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/OrderTest.php @@ -8,7 +8,7 @@ namespace Magento\Sales\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class OrderTest extends \Magento\Backend\Utility\Controller +class OrderTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d1191b8fdce496f4fb678811106cab3eb579f8b3 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Sales/Controller/Adminhtml/Transactions/FetchTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Sales\Controller\Adminhtml\Transactions; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class FetchTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php index f91ac38ec5effe8a65f465a36f0d99ae0a27df30..d308c6834ef1a827e99c30000b7adb68c32af82e 100644 --- a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php +++ b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/RateTest.php @@ -8,7 +8,7 @@ namespace Magento\Tax\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class RateTest extends \Magento\Backend\Utility\Controller +class RateTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider ajaxSaveActionDataProvider diff --git a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php index f2c5c66bac73725a19539c16a0335537eea75a57..deaef7f6999809fa4a887f3c532c111275c75320 100644 --- a/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php +++ b/dev/tests/integration/testsuite/Magento/Tax/Controller/Adminhtml/TaxTest.php @@ -10,7 +10,7 @@ use Magento\Framework\Exception\NoSuchEntityException; /** * @magentoAppArea adminhtml */ -class TaxTest extends \Magento\Backend\Utility\Controller +class TaxTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @dataProvider ajaxActionDataProvider diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d49cdc7ec840b1a6106a4c5fa14c759816a9d752 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ExportPostTest.php @@ -0,0 +1,16 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +class ExportPostTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php new file mode 100644 index 0000000000000000000000000000000000000000..34e08d3848b77f2a9cafe6fd69169abe4b0d0675 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportExportTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class ImportExportTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7034236c8cc598a5f78d109ab7fd7d3c24ea678b --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/TaxImportExport/Controller/Adminhtml/Rate/ImportPostTest.php @@ -0,0 +1,18 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\TaxImportExport\Controller\Adminhtml\Rate; + +use Magento\TestFramework\TestCase\AbstractBackendController; + +class ImportPostTest extends \Magento\TestFramework\TestCase\AbstractBackendController +{ + public function setUp() + { + $this->resource = 'Magento_Sales::transactions_fetch'; + $this->uri = 'backend/sales/transactions/fetch'; + parent::setUp(); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php index e33d95da85e615e36efc3d908bf6eedbba91a8ad..a11f0ed5aeeb5ba700872f9fff971d9d54ee83d3 100644 --- a/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php +++ b/dev/tests/integration/testsuite/Magento/Theme/Controller/Adminhtml/System/Design/ThemeControllerTest.php @@ -11,7 +11,7 @@ use Magento\Framework\Filesystem\DirectoryList; /** * @magentoAppArea adminhtml */ -class ThemeControllerTest extends \Magento\Backend\Utility\Controller +class ThemeControllerTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testUploadJsAction() { diff --git a/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php b/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php index 27f28a4d6f77ecc636b1f41091068f6a7bbb6d15..79a1ba4425db6ea83f91cf3e6d9d6d9c4873a3d1 100644 --- a/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Block/User/Edit/Tab/MainTest.php @@ -8,7 +8,7 @@ namespace Magento\User\Block\User\Edit\Tab; /** * @magentoAppArea adminhtml */ -class MainTest extends \Magento\Backend\Utility\Controller +class MainTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @var \Magento\User\Block\User\Edit\Tab\Main diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php index 5b9c0f3f53801ac13305994e4cbbc96970a2f8e5..052030a1552fdea8b931479d501192c0873f738b 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/AuthTest.php @@ -10,7 +10,7 @@ namespace Magento\User\Controller\Adminhtml; * * @magentoAppArea adminhtml */ -class AuthTest extends \Magento\Backend\Utility\Controller +class AuthTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Test form existence diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php index 72df2422c7b55c972ef57947688f790530e5bf36..58f4fc2dabea0bfdb31047a52dceb25460a16076 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/InvalidateTokenTest.php @@ -14,7 +14,7 @@ use Magento\TestFramework\Helper\Bootstrap; /** * Test class for Magento\User\Controller\Adminhtml\User\InvalidateToken. */ -class InvalidateTokenTest extends \Magento\Backend\Utility\Controller +class InvalidateTokenTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @magentoDataFixture Magento/User/_files/user_with_role.php diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php index 1683937313c4057dd0f36f9b92f4836607c669e8..932351fb427b712787c64a420f9c86e428f0f5d1 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/User/RoleTest.php @@ -10,7 +10,7 @@ namespace Magento\User\Controller\Adminhtml\User; * * @magentoAppArea adminhtml */ -class RoleTest extends \Magento\Backend\Utility\Controller +class RoleTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testEditRoleAction() { diff --git a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php index f6fa8857422203c5e92a27aad738964eb44c3077..6755a354da484e993a537a47c5a91556e9ba1c22 100644 --- a/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php +++ b/dev/tests/integration/testsuite/Magento/User/Controller/Adminhtml/UserTest.php @@ -10,7 +10,7 @@ use Magento\TestFramework\Bootstrap; /** * @magentoAppArea adminhtml */ -class UserTest extends \Magento\Backend\Utility\Controller +class UserTest extends \Magento\TestFramework\TestCase\AbstractBackendController { public function testIndexAction() { diff --git a/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php b/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php index 9b50fdcbc477ec4eae68ad518f8e071600e26867..f7601ddca76d98124e3190b78afec7c51174b9b0 100644 --- a/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php +++ b/dev/tests/integration/testsuite/Magento/Variable/Controller/Adminhtml/System/VariableTest.php @@ -8,7 +8,7 @@ namespace Magento\Variable\Controller\Adminhtml\System; /** * @magentoAppArea adminhtml */ -class VariableTest extends \Magento\Backend\Utility\Controller +class VariableTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * @covers \Magento\Backend\App\Action::_addLeft diff --git a/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php b/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3fcd52372495618c34abe710326e17066c4d704f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Version/Controller/Index/IndexTest.php @@ -0,0 +1,34 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ +namespace Magento\Version\Controller\Index; + +class IndexTest extends \Magento\TestFramework\TestCase\AbstractController +{ + public function testIndexAction() + { + // Execute controller to get version response + $this->dispatch('magento_version/index/index'); + $body = $this->getResponse()->getBody(); + + $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); + /** @var \Magento\Framework\App\ProductMetadataInterface $productMetadata */ + $productMetadata = $objectManager->get('Magento\Framework\App\ProductMetadataInterface'); + $name = $productMetadata->getName(); + $edition = $productMetadata->getEdition(); + + $fullVersion = $productMetadata->getVersion(); + $versionParts = explode('.', $fullVersion); + $majorMinor = $versionParts[0] . '.' . $versionParts[1]; + + // Response must contain Major.Minor version, product name, and edition + $this->assertContains($majorMinor, $body); + $this->assertContains($name, $body); + $this->assertContains($edition, $body); + + // Response must not contain full version including patch version + $this->assertNotContains($fullVersion, $body); + } +} diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php index 2f72dcf52197624a6fd609175e58ceb289538508..30dbf0cf1816b31252c76fb8936fff6084d1f9c4 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php +++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/Widget/InstanceTest.php @@ -8,7 +8,7 @@ namespace Magento\Widget\Controller\Adminhtml\Widget; /** * @magentoAppArea adminhtml */ -class InstanceTest extends \Magento\Backend\Utility\Controller +class InstanceTest extends \Magento\TestFramework\TestCase\AbstractBackendController { protected function setUp() { diff --git a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php index 0b36d7cd5b35d7aee117d90cdfd01b9dbf5bf08d..90f1d482a23dc7c2c2603adb46e100371b759a19 100644 --- a/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php +++ b/dev/tests/integration/testsuite/Magento/Widget/Controller/Adminhtml/WidgetTest.php @@ -8,7 +8,7 @@ namespace Magento\Widget\Controller\Adminhtml; /** * @magentoAppArea adminhtml */ -class WidgetTest extends \Magento\Backend\Utility\Controller +class WidgetTest extends \Magento\TestFramework\TestCase\AbstractBackendController { /** * Partially covers \Magento\Widget\Block\Adminhtml\Widget\Options::_addField() diff --git a/lib/internal/Magento/Framework/App/Resource.php b/lib/internal/Magento/Framework/App/Resource.php index d76a3a68bdcafbc35eda2c73dc8b1868fb39ee61..fae3cdb761c5fc502aef804db2f7b59f492ef335 100644 --- a/lib/internal/Magento/Framework/App/Resource.php +++ b/lib/internal/Magento/Framework/App/Resource.php @@ -85,6 +85,7 @@ class Resource * * @param string $resourceName * @return \Magento\Framework\DB\Adapter\AdapterInterface|false + * @codeCoverageIgnore */ public function getConnection($resourceName) { @@ -152,12 +153,26 @@ class Resource return $this->getConnection($connectionName)->getTableName($tableName); } + /** + * Build a trigger name + * + * @param string $tableName The table that is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" + * @return string + */ + public function getTriggerName($tableName, $time, $event) + { + return $this->getConnection(self::DEFAULT_READ_RESOURCE)->getTriggerName($tableName, $time, $event); + } + /** * Set mapped table name * * @param string $tableName * @param string $mappedName * @return $this + * @codeCoverageIgnore */ public function setMappedTableName($tableName, $mappedName) { @@ -193,13 +208,12 @@ class Resource $fields, $indexType = \Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_INDEX ) { - return $this->getConnection( - self::DEFAULT_READ_RESOURCE - )->getIndexName( - $this->getTableName($tableName), - $fields, - $indexType - ); + return $this->getConnection(self::DEFAULT_READ_RESOURCE) + ->getIndexName( + $this->getTableName($tableName), + $fields, + $indexType + ); } /** diff --git a/lib/internal/Magento/Framework/App/Response/Http.php b/lib/internal/Magento/Framework/App/Response/Http.php index 55cda163252ab018807cc5d3323fc134e27146f0..3f419b71acf21f335ce6b1e99d3252f46a8d4689 100644 --- a/lib/internal/Magento/Framework/App/Response/Http.php +++ b/lib/internal/Magento/Framework/App/Response/Http.php @@ -21,6 +21,9 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response /** Format for expiration timestamp headers */ const EXPIRATION_TIMESTAMP_FORMAT = 'D, d M Y H:i:s T'; + /** X-FRAME-OPTIONS Header name */ + const HEADER_X_FRAME_OPT = 'X-Frame-Options'; + /** @var \Magento\Framework\Stdlib\CookieManagerInterface */ protected $cookieManager; @@ -51,6 +54,17 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response $this->dateTime = $dateTime; } + /** + * Sends the X-FRAME-OPTIONS header to protect against click-jacking + * + * @param string $value + * @return void + */ + public function setXFrameOptions($value) + { + $this->setHeader(self::HEADER_X_FRAME_OPT, $value); + } + /** * Send Vary cookie * @@ -109,6 +123,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * Set headers for no-cache responses * * @return void + * @codeCoverageIgnore */ public function setNoCacheHeaders() { @@ -122,6 +137,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * * @param string $content String in JSON format * @return \Magento\Framework\App\Response\Http + * @codeCoverageIgnore */ public function representJson($content) { @@ -131,6 +147,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response /** * @return string[] + * @codeCoverageIgnore */ public function __sleep() { @@ -141,6 +158,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * Need to reconstruct dependencies when being de-serialized. * * @return void + * @codeCoverageIgnore */ public function __wakeup() { @@ -154,6 +172,7 @@ class Http extends \Magento\Framework\HTTP\PhpEnvironment\Response * * @param string $time * @return string + * @codeCoverageIgnore */ protected function getExpirationHeader($time) { diff --git a/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php b/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php new file mode 100644 index 0000000000000000000000000000000000000000..a108b754893e0ecc1eed081e0e0fe47dcb0f4790 --- /dev/null +++ b/lib/internal/Magento/Framework/App/Response/XFrameOptPlugin.php @@ -0,0 +1,43 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\App\Response; + +/** + * Adds an X-FRAME-OPTIONS header to HTTP responses to safeguard against click-jacking. + */ +class XFrameOptPlugin +{ + /** Deployment config key for frontend x-frame-options header value */ + const DEPLOYMENT_CONFIG_X_FRAME_OPT = 'x-frame-options'; + + /** Always send SAMEORIGIN in backend x-frame-options header */ + const BACKEND_X_FRAME_OPT = 'SAMEORIGIN'; + + /** + *The header value + * @var string + */ + private $xFrameOpt; + + /** + * @param string $xFrameOpt + */ + public function __construct($xFrameOpt) + { + $this->xFrameOpt = $xFrameOpt; + } + + /** + * @param \Magento\Framework\App\Response\Http $subject + * @return void + * @codeCoverageIgnore + */ + public function beforeSendResponse(\Magento\Framework\App\Response\Http $subject) + { + $subject->setXFrameOptions($this->xFrameOpt); + } +} diff --git a/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php b/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php index a92a9eb73432db63d22a8b28c104da5ec28360f4..86fc5bf7ac92bcbd89d423311a0fd3fc9be8cfbe 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/ResourceTest.php @@ -14,7 +14,7 @@ use Magento\Framework\Config\ConfigOptionsListConstants; class ResourceTest extends \PHPUnit_Framework_TestCase { const RESOURCE_NAME = \Magento\Framework\App\Resource::DEFAULT_READ_RESOURCE; - const CONNECTION_NAME = 'Connection Name'; + const CONNECTION_NAME = 'connection-name'; const TABLE_PREFIX = 'prefix_'; /** @@ -197,4 +197,21 @@ class ResourceTest extends \PHPUnit_Framework_TestCase $this->assertEquals('fkName', $this->resource->getFkName($table, $columnName, $refTable, $refColumnName)); } + + public function testGetTriggerName() + { + $tableName = 'subject_table'; + $time = 'before'; + $event = 'insert'; + $triggerName = 'trg_subject_table_before_insert'; + + $this->_connectionFactory->expects($this->once()) + ->method('create') + ->will($this->returnValue($this->connection)); + $this->connection->expects($this->once()) + ->method('getTriggerName') + ->with($tableName, $time, $event) + ->willReturn($triggerName); + $this->assertSame($triggerName, $this->resource->getTriggerName($tableName, $time, $event)); + } } diff --git a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php index 3fb38007f0a56a0152d2caabd4e0f3109551e0dd..bcc51a53e3e9dc4b1b1c4aeb2110a9f83e60de38 100644 --- a/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php +++ b/lib/internal/Magento/Framework/App/Test/Unit/Response/HttpTest.php @@ -271,4 +271,11 @@ class HttpTest extends \PHPUnit_Framework_TestCase \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock); $this->model->__wakeup(); } + + public function testSetXFrameOptions() + { + $value = 'DENY'; + $this->model->setXFrameOptions($value); + $this->assertSame($value, $this->model->getHeader(Http::HEADER_X_FRAME_OPT)->getFieldValue()); + } } diff --git a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php index f6de3f89043da2b1ce6eddc60dc635fb45a1d2cb..3148109e53938eaabe116b2340b9a5ac2cd4e350 100644 --- a/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php +++ b/lib/internal/Magento/Framework/Config/ConfigOptionsListConstants.php @@ -22,6 +22,7 @@ class ConfigOptionsListConstants const CONFIG_PATH_DB_CONNECTION_DEFAULT = 'db/connection/default'; const CONFIG_PATH_DB_CONNECTIONS = 'db/connection'; const CONFIG_PATH_DB_PREFIX = 'db/table_prefix'; + const CONFIG_PATH_X_FRAME_OPT = 'x-frame-options'; /**#@-*/ /**#@+ @@ -67,7 +68,7 @@ class ConfigOptionsListConstants const KEY_INIT_STATEMENTS = 'initStatements'; const KEY_ACTIVE = 'active'; /**#@-*/ - + /** * Db config key */ diff --git a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php index 8bee03a383ef497ade430b261df56d493f6790f3..c2068fe188cde418899fcebaf5ddcc340259e89c 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php +++ b/lib/internal/Magento/Framework/DB/Adapter/AdapterInterface.php @@ -928,6 +928,17 @@ interface AdapterInterface */ public function getTableName($tableName); + + /** + * Build a trigger name based on table name and trigger details + * + * @param string $tableName The table that is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" + * @return string + */ + public function getTriggerName($tableName, $time, $event); + /** * Retrieve valid index name * Check index name length and allowed symbols diff --git a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php index 94cbf428fd0d3022b596922cbd5196b8da8d9584..21db76cc7545bd52760186d17b04ef6f9dbc0f8c 100644 --- a/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php +++ b/lib/internal/Magento/Framework/DB/Adapter/Pdo/Mysql.php @@ -19,6 +19,7 @@ use Magento\Framework\DB\Profiler; use Magento\Framework\DB\Select; use Magento\Framework\DB\Statement\Parameter; use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Mview\View\Subscription; use Magento\Framework\Phrase; use Magento\Framework\Stdlib\DateTime; use Magento\Framework\Stdlib\String; @@ -2732,14 +2733,11 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface 'to' => "{{fieldName}} <= ?", 'seq' => null, 'sneq' => null, + 'ntoa' => "INET_NTOA({{fieldName}}) LIKE ?", ]; $query = ''; if (is_array($condition)) { - if (isset($condition['field_expr'])) { - $fieldName = str_replace('#?', $this->quoteIdentifier($fieldName), $condition['field_expr']); - unset($condition['field_expr']); - } $key = key(array_intersect_key($condition, $conditionKeyMap)); if (isset($condition['from']) || isset($condition['to'])) { @@ -3137,47 +3135,31 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface } /** - * Minus superfluous characters from hash. + * Returns a compressed version of the table name if it is too long * - * @param string $hash - * @param string $prefix - * @param int $maxCharacters + * @param string $tableName * @return string + * @codeCoverageIgnore */ - protected function _minusSuperfluous($hash, $prefix, $maxCharacters) + public function getTableName($tableName) { - $diff = strlen($hash) + strlen($prefix) - $maxCharacters; - $superfluous = $diff / 2; - $odd = $diff % 2; - $hash = substr($hash, $superfluous, - ($superfluous + $odd)); - return $hash; + return ExpressionConverter::shortenEntityName($tableName, 't_'); } /** - * Retrieve valid table name - * Check table name length and allowed symbols + * Build a trigger name based on table name and trigger details * - * @param string $tableName + * @param string $tableName The table which is the subject of the trigger + * @param string $time Either "before" or "after" + * @param string $event The DB level event which activates the trigger, i.e. "update" or "insert" * @return string + * @codeCoverageIgnore */ - public function getTableName($tableName) - { - $prefix = 't_'; - if (strlen($tableName) > self::LENGTH_TABLE_NAME) { - $shortName = ExpressionConverter::shortName($tableName); - if (strlen($shortName) > self::LENGTH_TABLE_NAME) { - $hash = md5($tableName); - if (strlen($prefix . $hash) > self::LENGTH_TABLE_NAME) { - $tableName = $this->_minusSuperfluous($hash, $prefix, self::LENGTH_TABLE_NAME); - } else { - $tableName = $prefix . $hash; - } - } else { - $tableName = $shortName; - } - } - return $tableName; + public function getTriggerName($tableName, $time, $event) + { + $triggerName = 'trg_' . $tableName . '_' . $time . '_' . $event; + return ExpressionConverter::shortenEntityName($triggerName, 'trg_'); } /** @@ -3198,35 +3180,15 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface switch (strtolower($indexType)) { case AdapterInterface::INDEX_TYPE_UNIQUE: $prefix = 'unq_'; - $shortPrefix = 'u_'; break; case AdapterInterface::INDEX_TYPE_FULLTEXT: $prefix = 'fti_'; - $shortPrefix = 'f_'; break; case AdapterInterface::INDEX_TYPE_INDEX: default: $prefix = 'idx_'; - $shortPrefix = 'i_'; } - - $hash = $tableName . '_' . $fields; - - if (strlen($hash) + strlen($prefix) > self::LENGTH_INDEX_NAME) { - $short = ExpressionConverter::shortName($prefix . $hash); - if (strlen($short) > self::LENGTH_INDEX_NAME) { - $hash = md5($hash); - if (strlen($hash) + strlen($shortPrefix) > self::LENGTH_INDEX_NAME) { - $hash = $this->_minusSuperfluous($hash, $shortPrefix, self::LENGTH_INDEX_NAME); - } - } else { - $hash = $short; - } - } else { - $hash = $prefix . $hash; - } - - return strtoupper($hash); + return strtoupper(ExpressionConverter::shortenEntityName($tableName . '_' . $fields, $prefix)); } /** @@ -3238,28 +3200,12 @@ class Mysql extends \Zend_Db_Adapter_Pdo_Mysql implements AdapterInterface * @param string $refTableName * @param string $refColumnName * @return string + * @codeCoverageIgnore */ public function getForeignKeyName($priTableName, $priColumnName, $refTableName, $refColumnName) { - $prefix = 'fk_'; - $hash = sprintf('%s_%s_%s_%s', $priTableName, $priColumnName, $refTableName, $refColumnName); - if (strlen($prefix . $hash) > self::LENGTH_FOREIGN_NAME) { - $short = ExpressionConverter::shortName($prefix . $hash); - if (strlen($short) > self::LENGTH_FOREIGN_NAME) { - $hash = md5($hash); - if (strlen($prefix . $hash) > self::LENGTH_FOREIGN_NAME) { - $hash = $this->_minusSuperfluous($hash, $prefix, self::LENGTH_FOREIGN_NAME); - } else { - $hash = $prefix . $hash; - } - } else { - $hash = $short; - } - } else { - $hash = $prefix . $hash; - } - - return strtoupper($hash); + $fkName = sprintf('%s_%s_%s_%s', $priTableName, $priColumnName, $refTableName, $refColumnName); + return strtoupper(ExpressionConverter::shortenEntityName($fkName, 'fk_')); } /** diff --git a/lib/internal/Magento/Framework/DB/ExpressionConverter.php b/lib/internal/Magento/Framework/DB/ExpressionConverter.php index 2df91ab77991222d8f1814134020df7e3d45dc1e..9a9b2d7eacf4797821fded20bf885edb7367ea00 100644 --- a/lib/internal/Magento/Framework/DB/ExpressionConverter.php +++ b/lib/internal/Magento/Framework/DB/ExpressionConverter.php @@ -10,7 +10,12 @@ namespace Magento\Framework\DB; class ExpressionConverter { /** - * Dictionary for generate short name + * Maximum length for many MySql identifiers, including database, table, trigger, and column names + */ + const MYSQL_IDENTIFIER_LEN = 64; + + /** + * Dictionary maps common words in identifiers to abbreviations * * @var array */ @@ -62,7 +67,7 @@ class ExpressionConverter ]; /** - * Convert name using dictionary + * Shorten name by abbreviating words * * @param string $name * @return string @@ -73,7 +78,7 @@ class ExpressionConverter } /** - * Add or replace translate to dictionary + * Add an abbreviation to the dictionary, or replace if it already exists * * @param string $from * @param string $to @@ -83,4 +88,47 @@ class ExpressionConverter { self::$_translateMap[$from] = $to; } + + /** + * Shorten the name of a MySql identifier, by abbreviating common words and hashing if necessary. Prepends the + * given prefix to clarify what kind of entity the identifier represents, in case hashing is used. + * + * @param string $entityName + * @param string $prefix + * @return string + */ + public static function shortenEntityName($entityName, $prefix) + { + if (strlen($entityName) > self::MYSQL_IDENTIFIER_LEN) { + $shortName = ExpressionConverter::shortName($entityName); + if (strlen($shortName) > self::MYSQL_IDENTIFIER_LEN) { + $hash = md5($entityName); + if (strlen($prefix . $hash) > self::MYSQL_IDENTIFIER_LEN) { + $entityName = self::trimHash($hash, $prefix, self::MYSQL_IDENTIFIER_LEN); + } else { + $entityName = $prefix . $hash; + } + } else { + $entityName = $shortName; + } + } + return $entityName; + } + + /** + * Remove superfluous characters from hash + * + * @param string $hash + * @param string $prefix + * @param int $maxCharacters + * @return string + */ + private static function trimHash($hash, $prefix, $maxCharacters) + { + $diff = strlen($hash) + strlen($prefix) - $maxCharacters; + $superfluous = $diff / 2; + $odd = $diff % 2; + $hash = substr($hash, $superfluous, - ($superfluous + $odd)); + return $hash; + } } diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php index b7c080064bc969890c42c8ca983025f89548738c..4d7bfa42ed2eab83d5f1d5e67b31ca022cf1e8b1 100644 --- a/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php +++ b/lib/internal/Magento/Framework/DB/Test/Unit/Adapter/Pdo/MysqlTest.php @@ -11,6 +11,8 @@ */ namespace Magento\Framework\DB\Test\Unit\Adapter\Pdo; +use Magento\Framework\DB\Adapter\AdapterInterface; + class MysqlTest extends \PHPUnit_Framework_TestCase { /** @@ -149,7 +151,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase } catch (\Exception $e) { $this->assertNotContains( $e->getMessage(), - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_DDL_MESSAGE + AdapterInterface::ERROR_DDL_MESSAGE ); } @@ -160,7 +162,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase } catch (\Exception $e) { $this->assertNotContains( $e->getMessage(), - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_DDL_MESSAGE + AdapterInterface::ERROR_DDL_MESSAGE ); } } @@ -226,7 +228,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ASYMMETRIC_ROLLBACK_MESSAGE, + AdapterInterface::ERROR_ASYMMETRIC_ROLLBACK_MESSAGE, $e->getMessage() ); } @@ -242,7 +244,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ASYMMETRIC_COMMIT_MESSAGE, + AdapterInterface::ERROR_ASYMMETRIC_COMMIT_MESSAGE, $e->getMessage() ); } @@ -354,7 +356,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, + AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, $e->getMessage() ); $this->_adapter->rollBack(); @@ -377,7 +379,7 @@ class MysqlTest extends \PHPUnit_Framework_TestCase throw new \Exception('Test Failed!'); } catch (\Exception $e) { $this->assertEquals( - \Magento\Framework\DB\Adapter\AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, + AdapterInterface::ERROR_ROLLBACK_INCOMPLETE_MESSAGE, $e->getMessage() ); $this->_adapter->rollBack(); @@ -549,4 +551,28 @@ class MysqlTest extends \PHPUnit_Framework_TestCase ] ]; } + + /** + * @dataProvider getIndexNameDataProvider + */ + public function testGetIndexName($name, $fields, $indexType, $expectedName) + { + $resultIndexName = $this->_mockAdapter->getIndexName($name, $fields, $indexType); + $this->assertTrue( + strpos($resultIndexName, $expectedName) === 0, + "Index name '$resultIndexName' did not begin with expected value '$expectedName'" + ); + } + + public function getIndexNameDataProvider() + { + // 65 characters long - will be compressed + $longTableName = '__________________________________________________long_table_name'; + return [ + [$longTableName, [], AdapterInterface::INDEX_TYPE_UNIQUE, 'UNQ_'], + [$longTableName, [], AdapterInterface::INDEX_TYPE_FULLTEXT, 'FTI_'], + [$longTableName, [], AdapterInterface::INDEX_TYPE_INDEX, 'IDX_'], + ['short_table_name', ['field1', 'field2'], '', 'SHORT_TABLE_NAME_FIELD1_FIELD2'], + ]; + } } diff --git a/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php b/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php new file mode 100644 index 0000000000000000000000000000000000000000..5c122c497cfc314731d38c2a81c0cf67fb25d171 --- /dev/null +++ b/lib/internal/Magento/Framework/DB/Test/Unit/ExpressionConverterTest.php @@ -0,0 +1,57 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Framework\DB\Test\Unit; + + +use Magento\Framework\DB\ExpressionConverter; + +class ExpressionConverterTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider shortenEntityNameDataProvider + */ + public function testShortenEntityName($in, $prefix, $expectedOut) + { + $resultEntityName = ExpressionConverter::shortenEntityName($in, $prefix); + $this->assertTrue( + strpos($resultEntityName, $expectedOut) === 0, + "Entity name '$resultEntityName' did not begin with expected value '$expectedOut'" + ); + } + + public function shortenEntityNameDataProvider() + { + $length64 = '________________________________________________________________'; + $length40 = '________________________________________'; + return [ + 'Short identifier' => [ + 'already_short', + 'pre_', + 'already_short' + ], + 'Hashed identifer' => [ + $length64 . '_cannotBeAbbreviated', + 'pre_', + 'pre_' + ], + 'Abbreviated identifier' => [ + $length40 . 'downloadable_notification_index', + 'pre_', + $length40 . 'dl_ntfc_idx' + ], + ]; + } + + public function testShortenEntityNameReducedHash() + { + /** Length of 64 characters, to go over max MySql identifier length */ + $length64 = '________________________________________________________________'; + $longPrefix = 'pre_____________________________________'; + $shortenedName = ExpressionConverter::shortenEntityName($length64 . '_cannotBeAbbreviated', $longPrefix); + $this->assertNotSame(0, strpos($shortenedName, 'pre'), 'Entity name not supposed to with long prefix'); + } +} diff --git a/lib/internal/Magento/Framework/Filesystem/Driver/Http.php b/lib/internal/Magento/Framework/Filesystem/Driver/Http.php index 89bce57069683331d4854c04ea6a7871909cb6f2..fc82bbdbc46e223f3f9b37e82b88275e0011c6ad 100644 --- a/lib/internal/Magento/Framework/Filesystem/Driver/Http.php +++ b/lib/internal/Magento/Framework/Filesystem/Driver/Http.php @@ -167,8 +167,7 @@ class Http extends File 'Host: ' . $hostname . "\r\n" . - 'User-Agent: Magento ver/' . - \Magento\Framework\AppInterface::VERSION . + 'User-Agent: Magento' . "\r\n" . 'Connection: close' . "\r\n" . diff --git a/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php b/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php index 8b36902a699e2f0f56c397a9e787651c07faeb06..f9b642136422dd229deebd9762f183742646c698 100644 --- a/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php +++ b/lib/internal/Magento/Framework/Mview/Test/Unit/View/SubscriptionTest.php @@ -12,11 +12,6 @@ use \Magento\Framework\Mview\View\Subscription; class SubscriptionTest extends \PHPUnit_Framework_TestCase { - /** - * @var \Magento\Framework\Mview\View\Subscription - */ - protected $model; - /** * Mysql PDO DB adapter mock * @@ -24,34 +19,37 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase */ protected $connectionMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\Resource - */ + /** @var \Magento\Framework\Mview\View\Subscription */ + protected $model; + + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\App\Resource */ protected $resourceMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\DB\Ddl\TriggerFactory - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\DB\Ddl\TriggerFactory */ protected $triggerFactoryMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\View\CollectionInterface - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\View\CollectionInterface */ protected $viewCollectionMock; - /** - * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\ViewInterface - */ + /** @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Framework\Mview\ViewInterface */ protected $viewMock; + /** @var string */ + private $tableName; + protected function setUp() { $this->connectionMock = $this->getMock('Magento\Framework\DB\Adapter\Pdo\Mysql', [], [], '', false); + $this->resourceMock = $this->getMock('Magento\Framework\App\Resource', [], [], '', false, false); + + $this->connectionMock->expects($this->any()) + ->method('quoteIdentifier') + ->will($this->returnArgument(0)); + + $this->resourceMock->expects($this->atLeastOnce()) + ->method('getConnection') + ->willReturn($this->connectionMock); - $this->resourceMock = $this->getMock( - 'Magento\Framework\App\Resource', ['getConnection', 'getTableName'], [], '', false, false - ); - $this->mockGetConnection($this->connectionMock); $this->triggerFactoryMock = $this->getMock( 'Magento\Framework\DB\Ddl\TriggerFactory', [], [], '', false, false ); @@ -62,16 +60,16 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase 'Magento\Framework\Mview\ViewInterface', [], '', false, false, true, [] ); - $this->connectionMock->expects($this->any()) - ->method('quoteIdentifier') - ->will($this->returnArgument(0)); + $this->resourceMock->expects($this->any()) + ->method('getTableName') + ->willReturn($this->tableName); $this->model = new Subscription( $this->resourceMock, $this->triggerFactoryMock, $this->viewCollectionMock, $this->viewMock, - 'tableName', + $this->tableName, 'columnName' ); } @@ -83,7 +81,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testGetTableName() { - $this->assertEquals('tableName', $this->model->getTableName()); + $this->assertEquals($this->tableName, $this->model->getTableName()); } public function testGetColumnName() @@ -93,11 +91,14 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testCreate() { - $this->mockGetTableName(); - - $triggerMock = $this->getMock('Magento\Framework\DB\Ddl\Trigger', [], [], '', false, false); + $triggerName = 'trigger_name'; + $this->resourceMock->expects($this->atLeastOnce())->method('getTriggerName')->willReturn($triggerName); + $triggerMock = $this->getMockBuilder('Magento\Framework\DB\Ddl\Trigger') + ->disableOriginalConstructor() + ->getMock(); $triggerMock->expects($this->exactly(3)) ->method('setName') + ->with($triggerName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('getName') @@ -111,7 +112,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('setTable') - ->with('tableName') + ->with($this->tableName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(6)) ->method('addStatement') @@ -153,7 +154,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue('other_id')); $otherViewMock->expects($this->exactly(1)) ->method('getSubscriptions') - ->will($this->returnValue([['name' => 'tableName'], ['name' => 'otherTableName']])); + ->will($this->returnValue([['name' => $this->tableName], ['name' => 'otherTableName']])); $otherViewMock->expects($this->exactly(3)) ->method('getChangelog') ->will($this->returnValue($otherChangelogMock)); @@ -182,8 +183,6 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase public function testRemove() { - $this->mockGetTableName(); - $triggerMock = $this->getMock('Magento\Framework\DB\Ddl\Trigger', [], [], '', false, false); $triggerMock->expects($this->exactly(3)) ->method('setName') @@ -200,7 +199,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('setTable') - ->with('tableName') + ->with($this->tableName) ->will($this->returnSelf()); $triggerMock->expects($this->exactly(3)) ->method('addStatement') @@ -228,7 +227,7 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase ->will($this->returnValue('other_id')); $otherViewMock->expects($this->exactly(1)) ->method('getSubscriptions') - ->will($this->returnValue([['name' => 'tableName'], ['name' => 'otherTableName']])); + ->will($this->returnValue([['name' => $this->tableName], ['name' => 'otherTableName']])); $otherViewMock->expects($this->exactly(3)) ->method('getChangelog') ->will($this->returnValue($otherChangelogMock)); @@ -259,21 +258,4 @@ class SubscriptionTest extends \PHPUnit_Framework_TestCase $this->model->remove(); } - - /** - * @param $connection - */ - protected function mockGetConnection($connection) - { - $this->resourceMock->expects($this->once()) - ->method('getConnection') - ->will($this->returnValue($connection)); - } - - protected function mockGetTableName() - { - $this->resourceMock->expects($this->any()) - ->method('getTableName') - ->will($this->returnArgument(0)); - } } diff --git a/lib/internal/Magento/Framework/Mview/View/Subscription.php b/lib/internal/Magento/Framework/Mview/View/Subscription.php index 498cb0e147801ef8709a89a13def616677662be3..e72c255d750ac85df31a1d4a9a1e8eb6e30d3c53 100644 --- a/lib/internal/Magento/Framework/Mview/View/Subscription.php +++ b/lib/internal/Magento/Framework/Mview/View/Subscription.php @@ -8,13 +8,11 @@ namespace Magento\Framework\Mview\View; +use Magento\Framework\App\Resource; +use Magento\Framework\DB\Ddl\Trigger; + class Subscription implements SubscriptionInterface { - /** - * Trigger name qualifier - */ - const TRIGGER_NAME_QUALIFIER = 'trg'; - /** * Database write connection * @@ -23,7 +21,7 @@ class Subscription implements SubscriptionInterface protected $write; /** - * @var \Magento\Framework\DB\Ddl\Trigger + * @var \Magento\Framework\DB\Ddl\TriggerFactory */ protected $triggerFactory; @@ -55,12 +53,12 @@ class Subscription implements SubscriptionInterface protected $linkedViews = []; /** - * @var \Magento\Framework\App\Resource + * @var Resource */ protected $resource; /** - * @param \Magento\Framework\App\Resource $resource + * @param Resource $resource * @param \Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory * @param \Magento\Framework\Mview\View\CollectionInterface $viewCollection * @param \Magento\Framework\Mview\ViewInterface $view @@ -68,7 +66,7 @@ class Subscription implements SubscriptionInterface * @param string $columnName */ public function __construct( - \Magento\Framework\App\Resource $resource, + Resource $resource, \Magento\Framework\DB\Ddl\TriggerFactory $triggerFactory, \Magento\Framework\Mview\View\CollectionInterface $viewCollection, \Magento\Framework\Mview\ViewInterface $view, @@ -91,23 +89,14 @@ class Subscription implements SubscriptionInterface */ public function create() { - foreach (\Magento\Framework\DB\Ddl\Trigger::getListOfEvents() as $event) { - $triggerName = $this->getTriggerName( - $this->resource->getTableName($this->getTableName()), - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER, - $event - ); - - /** @var \Magento\Framework\DB\Ddl\Trigger $trigger */ - $trigger = $this->triggerFactory->create()->setName( - $triggerName - )->setTime( - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER - )->setEvent( - $event - )->setTable( - $this->resource->getTableName($this->getTableName()) - ); + foreach (Trigger::getListOfEvents() as $event) { + $triggerName = $this->getAfterEventTriggerName($event); + /** @var Trigger $trigger */ + $trigger = $this->triggerFactory->create() + ->setName($triggerName) + ->setTime(Trigger::TIME_AFTER) + ->setEvent($event) + ->setTable($this->resource->getTableName($this->tableName)); $trigger->addStatement($this->buildStatement($event, $this->getView()->getChangelog())); @@ -131,23 +120,14 @@ class Subscription implements SubscriptionInterface */ public function remove() { - foreach (\Magento\Framework\DB\Ddl\Trigger::getListOfEvents() as $event) { - $triggerName = $this->getTriggerName( - $this->resource->getTableName($this->getTableName()), - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER, - $event - ); - - /** @var \Magento\Framework\DB\Ddl\Trigger $trigger */ - $trigger = $this->triggerFactory->create()->setName( - $triggerName - )->setTime( - \Magento\Framework\DB\Ddl\Trigger::TIME_AFTER - )->setEvent( - $event - )->setTable( - $this->resource->getTableName($this->getTableName()) - ); + foreach (Trigger::getListOfEvents() as $event) { + $triggerName = $this->getAfterEventTriggerName($event); + /** @var Trigger $trigger */ + $trigger = $this->triggerFactory->create() + ->setName($triggerName) + ->setTime(Trigger::TIME_AFTER) + ->setEvent($event) + ->setTable($this->resource->getTableName($this->getTableName())); // Add statements for linked views foreach ($this->getLinkedViews() as $view) { @@ -204,8 +184,8 @@ class Subscription implements SubscriptionInterface protected function buildStatement($event, $changelog) { switch ($event) { - case \Magento\Framework\DB\Ddl\Trigger::EVENT_INSERT: - case \Magento\Framework\DB\Ddl\Trigger::EVENT_UPDATE: + case Trigger::EVENT_INSERT: + case Trigger::EVENT_UPDATE: return sprintf( "INSERT IGNORE INTO %s (%s) VALUES (NEW.%s);", $this->write->quoteIdentifier($this->resource->getTableName($changelog->getName())), @@ -213,7 +193,7 @@ class Subscription implements SubscriptionInterface $this->write->quoteIdentifier($this->getColumnName()) ); - case \Magento\Framework\DB\Ddl\Trigger::EVENT_DELETE: + case Trigger::EVENT_DELETE: return sprintf( "INSERT IGNORE INTO %s (%s) VALUES (OLD.%s);", $this->write->quoteIdentifier($this->resource->getTableName($changelog->getName())), @@ -227,25 +207,26 @@ class Subscription implements SubscriptionInterface } /** - * Retrieve trigger name + * Build an "after" event for the given table and event * - * Build a trigger name by concatenating trigger name prefix, table name, - * trigger time and trigger event. + * @param string $event The DB level event, like "update" or "insert" * - * @param string $tableName - * @param string $time - * @param string $event * @return string */ - protected function getTriggerName($tableName, $time, $event) + private function getAfterEventTriggerName($event) { - return self::TRIGGER_NAME_QUALIFIER . '_' . $tableName . '_' . $time . '_' . $event; + return $this->resource->getTriggerName( + $this->resource->getTableName($this->getTableName()), + Trigger::TIME_AFTER, + $event + ); } /** * Retrieve View related to subscription * * @return \Magento\Framework\Mview\ViewInterface + * @codeCoverageIgnore */ public function getView() { @@ -256,6 +237,7 @@ class Subscription implements SubscriptionInterface * Retrieve table name * * @return string + * @codeCoverageIgnore */ public function getTableName() { @@ -266,6 +248,7 @@ class Subscription implements SubscriptionInterface * Retrieve table column name * * @return string + * @codeCoverageIgnore */ public function getColumnName() { diff --git a/setup/src/Magento/Setup/Model/ConfigGenerator.php b/setup/src/Magento/Setup/Model/ConfigGenerator.php index a1a07d52e20bd78e6542f82aa6c8534913ae19b6..fba3107325ecd8175126775cbf4d5ad4eac14cf9 100644 --- a/setup/src/Magento/Setup/Model/ConfigGenerator.php +++ b/setup/src/Magento/Setup/Model/ConfigGenerator.php @@ -210,4 +210,18 @@ class ConfigGenerator return $configData; } + + /** + * Creates x-frame-options header config data + * + * @return ConfigData + */ + public function createXFrameConfig() + { + $configData = new ConfigData(ConfigFilePool::APP_ENV); + if ($this->deploymentConfig->get(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT) === null) { + $configData->set(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT, 'SAMEORIGIN'); + } + return $configData; + } } diff --git a/setup/src/Magento/Setup/Model/ConfigOptionsList.php b/setup/src/Magento/Setup/Model/ConfigOptionsList.php index 64f2a58515eca8addc153c5a8e6151b6b2a5bbfc..ee76fbf6d4ee9851c4b46052fbad10ea6f274a9c 100644 --- a/setup/src/Magento/Setup/Model/ConfigOptionsList.php +++ b/setup/src/Magento/Setup/Model/ConfigOptionsList.php @@ -158,6 +158,7 @@ class ConfigOptionsList implements ConfigOptionsListInterface } $configData[] = $this->configGenerator->createDbConfig($data); $configData[] = $this->configGenerator->createResourceConfig(); + $configData[] = $this->configGenerator->createXFrameConfig(); return $configData; } diff --git a/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php b/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..12ce5af79e7dcd35dab1954cdc71020ce1cb1502 --- /dev/null +++ b/setup/src/Magento/Setup/Test/Unit/Model/ConfigGeneratorTest.php @@ -0,0 +1,41 @@ +<?php +/*** + * Copyright © 2015 Magento. All rights reserved. + * See COPYING.txt for license details. + */ + +namespace Magento\Setup\Test\Unit\Model; + + +use Magento\Framework\Config\ConfigOptionsListConstants; + +class ConfigGeneratorTest extends \PHPUnit_Framework_TestCase +{ + /** @var \Magento\Framework\App\DeploymentConfig | \PHPUnit_Framework_MockObject_MockObject */ + private $deploymentConfigMock; + /** @var \Magento\Setup\Model\ConfigGenerator | \PHPUnit_Framework_MockObject_MockObject */ + private $model; + + public function setUp() + { + $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); + + $this->deploymentConfigMock = $this->getMockBuilder('Magento\Framework\App\DeploymentConfig') + ->disableOriginalConstructor() + ->getMock(); + $this->model = $objectManager->getObject( + 'Magento\Setup\Model\ConfigGenerator', + ['deploymentConfig' => $this->deploymentConfigMock] + ); + } + + public function testCreateXFrameConfig() + { + $this->deploymentConfigMock->expects($this->atLeastOnce()) + ->method('get') + ->with(ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT) + ->willReturn(null); + $configData = $this->model->createXFrameConfig(); + $this->assertSame('SAMEORIGIN', $configData->getData()[ConfigOptionsListConstants::CONFIG_PATH_X_FRAME_OPT]); + } +} diff --git a/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php b/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php index f972d2e802b46b9a0bbd5b900fc421536a98b4f1..d1281f7c30c550a55188a3ebb0c3754620d8cb38 100644 --- a/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php +++ b/setup/src/Magento/Setup/Test/Unit/Module/ConfigOptionsListTest.php @@ -82,8 +82,9 @@ class ConfigOptionsListTest extends \PHPUnit_Framework_TestCase $this->generator->expects($this->once())->method('createDefinitionsConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createDbConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createResourceConfig')->willReturn($configDataMock); + $this->generator->expects($this->once())->method('createXFrameConfig')->willReturn($configDataMock); $configData = $this->object->createConfig([], $this->deploymentConfig); - $this->assertEquals(6, count($configData)); + $this->assertEquals(7, count($configData)); } public function testCreateOptionsWithOptionalNull() @@ -95,7 +96,8 @@ class ConfigOptionsListTest extends \PHPUnit_Framework_TestCase $this->generator->expects($this->once())->method('createDefinitionsConfig')->willReturn(null); $this->generator->expects($this->once())->method('createDbConfig')->willReturn($configDataMock); $this->generator->expects($this->once())->method('createResourceConfig')->willReturn($configDataMock); + $this->generator->expects($this->once())->method('createXFrameConfig')->willReturn($configDataMock); $configData = $this->object->createConfig([], $this->deploymentConfig); - $this->assertEquals(5, count($configData)); + $this->assertEquals(6, count($configData)); } }