Example #1
0
 /**
  * Test method Mage_Webapi_Model_Acl_Rule::saveResources()
  */
 public function testSaveResources()
 {
     $role = $this->_roleFactory->create()->load('test_role', 'role_name');
     $resources = array('customer/create', 'customer/update');
     $this->_model->setRoleId($role->getId())->setResources($resources)->saveResources();
     /** @var $rulesSet Mage_Webapi_Model_Resource_Acl_Rule_Collection */
     $rulesSet = $this->_objectManager->get('Mage_Webapi_Model_Resource_Acl_Rule_Collection')->getByRole($role->getRoleId())->load();
     $this->assertCount(2, $rulesSet);
 }
Example #2
0
 protected function setUp()
 {
     $this->_objectManager = Mage::getObjectManager();
     $this->_model = $this->_objectManager->create('Mage_Index_Model_Process_File');
     /** @var $configuration Mage_Core_Model_Config */
     $configuration = $this->_objectManager->get('Mage_Core_Model_Config');
     $this->_fileDirectory = $configuration->getVarDir('locks');
     $fullFileName = $this->_fileDirectory . DIRECTORY_SEPARATOR . self::FILE_NAME;
     $this->_testFileHandler = fopen($fullFileName, 'w');
 }
Example #3
0
 public function setUp()
 {
     $this->_objectManager = Mage::getObjectManager();
     $this->_model = $this->_objectManager->get('Mage_Core_Model_Resource_Session');
     /** @var $resource Mage_Core_Model_Resource */
     $resource = $this->_objectManager->get('Mage_Core_Model_Resource');
     $this->_connection = $resource->getConnection('core_write');
     $this->_sessionTable = $resource->getTableName('core_session');
     // session stores serialized objects with protected properties
     // we need to test this case to ensure that DB adapter successfully processes "\0" symbols in serialized data
     foreach ($this->_sourceData as $key => $data) {
         $this->_sessionData[$key] = new Varien_Object($data);
     }
 }
Example #4
0
 /**
  * @return Mage_Webapi_Model_ConfigAbstract
  */
 protected function _getApiConfig()
 {
     if (!self::$_apiConfig) {
         $objectManager = new Magento_Test_ObjectManager();
         /** Prepare arguments for SUT constructor. */
         $pathToFixtures = __DIR__ . '/../_files/autodiscovery';
         /** @var Mage_Webapi_Model_Config_Reader_Soap $reader */
         $reader = $objectManager->get('Mage_Webapi_Model_Config_Reader_Soap');
         $reader->setDirectoryScanner(new Zend\Code\Scanner\DirectoryScanner($pathToFixtures));
         /** Initialize SUT. */
         self::$_apiConfig = $objectManager->create('Mage_Webapi_Model_Config_Soap', array('reader' => $reader));
     }
     return self::$_apiConfig;
 }
Example #5
0
 /**
  * Assertion of current customer and address data
  *
  * @param array $expectedData
  */
 protected function _assertCustomerData(array $expectedData)
 {
     /** @var $collection Mage_Customer_Model_Resource_Customer_Collection */
     $collection = $this->_objectManager->create('Mage_Customer_Model_Resource_Customer_Collection');
     $collection->addAttributeToSelect($this->_customerAttributes);
     $customers = $collection->getItems();
     $this->assertSameSize($expectedData, $customers);
     /** @var $customer Mage_Customer_Model_Customer */
     foreach ($customers as $customer) {
         // assert customer existence
         $email = strtolower($customer->getEmail());
         $this->assertArrayHasKey($email, $expectedData);
         // assert customer data (only for required customers)
         if (isset($expectedData[$email]['data'])) {
             foreach ($expectedData[$email]['data'] as $attribute => $expectedValue) {
                 $this->assertEquals($expectedValue, $customer->getData($attribute));
             }
         }
         // assert address data
         $addresses = $customer->getAddresses();
         $this->assertSameSize($expectedData[$email]['addresses'], $addresses);
         /** @var $address Mage_Customer_Model_Address */
         foreach ($addresses as $address) {
             $this->assertContains($address->getData('postcode'), $expectedData[$email]['addresses']);
         }
     }
 }
Example #6
0
 /**
  * Response getter
  *
  * @return Magento_Test_Response
  */
 public function getResponse()
 {
     if (!$this->_response) {
         $this->_response = new Magento_Test_Response();
         $this->_objectManager->addSharedInstance($this->_response, 'Mage_Core_Controller_Response_Http');
     }
     return $this->_response;
 }
Example #7
0
 /**
  * Set up config with fixture controllers directory scanner
  */
 protected function setUp()
 {
     $fixtureDir = __DIR__ . '/../../../_files/Controller/Webapi/';
     $directoryScanner = new \Zend\Code\Scanner\DirectoryScanner($fixtureDir);
     /** @var Mage_Core_Model_Cache $cache */
     $cache = $this->getMockBuilder('Mage_Core_Model_Cache')->disableOriginalConstructor()->getMock();
     /** @var Mage_Core_Model_App $app */
     $app = $this->getMockBuilder('Mage_Core_Model_App')->disableOriginalConstructor()->getMock();
     $appConfig = Mage::app()->getConfig();
     $objectManager = new Magento_Test_ObjectManager();
     /** @var Mage_Webapi_Helper_Config $helper */
     $helper = $objectManager->get('Mage_Webapi_Helper_Config');
     /** @var Mage_Webapi_Model_Config_Reader_Soap_ClassReflector $classReflector */
     $classReflector = $objectManager->get('Mage_Webapi_Model_Config_Reader_Soap_ClassReflector');
     $reader = new Mage_Webapi_Model_Config_Reader_Soap($classReflector, $appConfig, $cache);
     $reader->setDirectoryScanner($directoryScanner);
     $this->_config = new Mage_Webapi_Model_Config_Soap($reader, $helper, $app);
     $objectManager->addSharedInstance($this->_config, 'Mage_Webapi_Model_Config_Soap');
 }
Example #8
0
 /**
  * Test negative authentication with used nonce-timestamp pair.
  *
  * @expectedException Mage_Webapi_Model_Soap_Security_UsernameToken_NonceUsedException
  */
 public function testAuthenticateWithNonceUsed()
 {
     $user = $this->_userFactory->create();
     $user->load('test_username', 'api_key');
     /** @var Mage_Webapi_Model_Soap_Security_UsernameToken $usernameToken */
     $usernameToken = $this->_objectManager->create('Mage_Webapi_Model_Soap_Security_UsernameToken');
     $created = date('c');
     $nonce = mt_rand();
     $password = base64_encode(hash('sha1', $nonce . $created . $user->getSecret(), true));
     $nonce = base64_encode($nonce);
     $authenticatedUser = $usernameToken->authenticate($user->getApiKey(), $password, $created, $nonce);
     $this->assertEquals($user, $authenticatedUser);
     // Try to authenticate with the same nonce and timestamp
     $usernameToken->authenticate($user->getApiKey(), $password, $created, $nonce);
 }
Example #9
0
 /**
  * Set up config with fixture controllers directory scanner
  */
 protected function setUp()
 {
     $fixtureDir = __DIR__ . '/../../_files/Controller/AutoDiscover/';
     $directoryScanner = new \Zend\Code\Scanner\DirectoryScanner($fixtureDir);
     /** @var Mage_Core_Model_App $app */
     $app = $this->getMockBuilder('Mage_Core_Model_App')->disableOriginalConstructor()->getMock();
     $objectManager = new Magento_Test_ObjectManager();
     $this->_helper = $objectManager->get('Mage_Webapi_Helper_Config');
     $reader = $objectManager->get('Mage_Webapi_Model_Config_Reader_Soap');
     $reader->setDirectoryScanner($directoryScanner);
     $this->_config = new Mage_Webapi_Model_Config_Soap($reader, $this->_helper, $app);
     $objectManager->addSharedInstance($this->_config, 'Mage_Webapi_Model_Config_Soap');
     $wsdlFactory = new Mage_Webapi_Model_Soap_Wsdl_Factory($objectManager);
     $cache = $this->getMockBuilder('Mage_Core_Model_Cache')->disableOriginalConstructor()->getMock();
     $this->_autoDiscover = new Mage_Webapi_Model_Soap_AutoDiscover($this->_config, $wsdlFactory, $this->_helper, $cache);
     $this->_resourceName = 'vendorModuleB';
     $this->_resourceData = $this->_config->getResourceDataMerged($this->_resourceName, 'v1');
     $xml = $this->_autoDiscover->generate(array($this->_resourceName => $this->_resourceData), 'http://magento.host/api/soap');
     $this->_dom = new DOMDocument('1.0', 'utf-8');
     $this->_dom->loadXML($xml);
     $this->_xpath = new DOMXPath($this->_dom);
     $this->_xpath->registerNamespace(Wsdl::WSDL_NS, Wsdl::WSDL_NS_URI);
     parent::setUp();
 }
Example #10
0
 /**
  * @magentoConfigFixture current_store catalog/frontend/flat_catalog_category 1
  * @magentoDbIsolation enabled
  */
 public function testSaveWithFlatIndexer()
 {
     $categoryName = 'Indexer Category Name ' . uniqid();
     /** @var $parentCategory Mage_Catalog_Model_Category */
     $parentCategory = self::$_objectManager->create('Mage_Catalog_Model_Category');
     $parentCategory->load($this->_store->getRootCategoryId());
     // init category model with EAV entity resource model
     $resourceModel = self::$_objectManager->create('Mage_Catalog_Model_Resource_Category');
     $this->_model = self::$_objectManager->create('Mage_Catalog_Model_Category', array('resource' => $resourceModel));
     $this->_model->setName($categoryName)->setParentId($parentCategory->getId())->setPath($parentCategory->getPath())->setLevel(2)->setPosition(1)->setAvailableSortBy('name')->setDefaultSortBy('name')->setIsActive(true)->save();
     // check if category record exists in flat table
     /** @var $collection Mage_Catalog_Model_Resource_Category_Flat_Collection */
     $collection = self::$_objectManager->create('Mage_Catalog_Model_Resource_Category_Flat_Collection');
     $collection->addFieldToFilter('name', $categoryName);
     $this->assertCount(1, $collection->getItems());
 }
Example #11
0
 protected function tearDown()
 {
     $this->_objectManager->removeSharedInstance('Mage_Core_Model_Layout');
     unset($this->_objectManager, $this->_layout, $this->_authorizationConfig, $this->_blockFactory, $this->_block);
 }
Example #12
0
 /**
  * Create resource config initialized with classes found in the specified directory.
  *
  * @param string $pathToResources
  * @return Mage_Webapi_Model_Config_Soap
  */
 protected function _createResourceConfig($pathToResources)
 {
     $objectManager = new Magento_Test_ObjectManager();
     /** Prepare arguments for SUT constructor. */
     /** @var Mage_Core_Model_Cache $cache */
     $cache = $this->getMockBuilder('Mage_Core_Model_Cache')->disableOriginalConstructor()->getMock();
     /** @var Mage_Webapi_Model_Config_Reader_Soap $reader */
     $reader = $objectManager->get('Mage_Webapi_Model_Config_Reader_Soap', array('cache' => $cache));
     $reader->setDirectoryScanner(new Zend\Code\Scanner\DirectoryScanner($pathToResources));
     /** Initialize SUT. */
     $apiConfig = $objectManager->create('Mage_Webapi_Model_Config_Soap', array('reader' => $reader));
     return $apiConfig;
 }
Example #13
0
 /**
  * Test for Mage_Webapi_Model_Resource_Acl_Role::getResourceIdsByRole()
  */
 public function testGetResourceIdsByRole()
 {
     /** @var Mage_Webapi_Model_Acl_Role $role */
     $role = $this->_objectManager->create('Mage_Webapi_Model_Acl_Role')->load('Test role', 'role_name');
     $this->assertEquals(array('customer/get'), $this->_ruleResource->getResourceIdsByRole($role->getId()));
 }
Example #14
0
 /**
  * Initialize model
  */
 protected function setUp()
 {
     $this->_objectManager = Mage::getObjectManager();
     $this->_roleFactory = $this->_objectManager->get('Mage_Webapi_Model_Acl_Role_Factory');
     $this->_model = $this->_objectManager->create('Mage_Webapi_Model_Acl_User');
 }
Example #15
0
 /**
  * Initialize model
  */
 protected function setUp()
 {
     $this->_objectManager = Mage::getObjectManager();
     $this->_model = $this->_objectManager->create('Mage_Webapi_Model_Acl_Role');
 }
Example #16
0
 /**
  * Set up helper.
  */
 protected function setUp()
 {
     $objectManager = new Magento_Test_ObjectManager();
     $this->_helper = $objectManager->get('Mage_Webapi_Helper_Config');
     parent::setUp();
 }