def test_delete_with_exception(self, mock_controllerclient, mock_driver): # test create with exceptions driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock( **{'get.return_value': fake_maxcdn_client_get_return_value}) service_name = 'test_service_name' controller_with_delete_exception = services.ServiceController(driver) controller_with_delete_exception.client.configure_mock( **{ 'delete.side_effect': RuntimeError('Deleting service mysteriously failed.') }) service_name = 'test_service_name' service_id = str(uuid.uuid4()) current_domain = str(uuid.uuid1()) domains_old = domain.Domain(domain=current_domain) current_origin = origin.Origin(origin='poppy.org') service_obj = Service(service_id=service_id, name='poppy cdn service', domains=[domains_old], origins=[current_origin], flavor_id='cdn', project_id=str(uuid.uuid4())) resp = controller_with_delete_exception.delete(service_obj, service_name) self.assertEqual(resp[driver.provider_name]['error'], 'Deleting service mysteriously failed.')
def test_update_with_exception(self, service_json, mock_controllerclient, mock_driver): # test create with exceptions driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock( **{'get.return_value': fake_maxcdn_client_get_return_value}) controller_with_update_exception = services.ServiceController(driver) controller_with_update_exception.client.configure_mock( **{ 'put.side_effect': RuntimeError('Updating service mysteriously failed.') }) resp = controller_with_update_exception.update( self.provider_service_id, service_json) self.assertIn('error', resp[driver.provider_name]) controller_with_update_exception.client.reset_mock() controller_with_update_exception.client.configure_mock( **{ 'put.side_effect': None, 'put.return_value': fake_maxcdn_client_400_return_value }) service_obj = service.load_from_json(service_json) resp = controller_with_update_exception.update( self.provider_service_id, service_obj) self.assertIn('error', resp[driver.provider_name])
def test_get_metrics_by_domain(self, mock_controllerclient, mock_driver): driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') controller = services.ServiceController(driver) self.assertEqual([], controller.get_metrics_by_domain( 'project_id', 'domain_name', []))
def test_map_service_name_no_hash(self, service_name): maxcdn_driver = driver.CDNProvider(self.conf) controller = services.ServiceController(maxcdn_driver) mock_service = mock.Mock() mock_service.name = service_name self.assertEqual(controller.get_provider_service_id(mock_service), service_name)
def test_update(self, service_json): new_driver = driver.CDNProvider(self.conf) # instantiate controller = services.ServiceController(new_driver) # test create, everything goes through successfully service_obj = service.load_from_json(service_json) resp = controller.update(self.provider_service_id, service_obj) self.assertIn('id', resp[new_driver.provider_name])
def test_delete(self): new_driver = driver.CDNProvider(self.conf) # instantiate controller = services.ServiceController(new_driver) # test create, everything goes through successfully service_name = 'test_service_name' resp = controller.delete(service_name) self.assertIn('id', resp[new_driver.provider_name])
def test_purge(self, mock_controllerclient, mock_driver): # test create with exceptions driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock(**{'purge.return_value': {u'code': 200}}) controller_purge_with_error = services.ServiceController(driver) pullzone_id = 'test_random_pullzone_id' resp = controller_purge_with_error.purge(pullzone_id) self.assertIn('id', resp[driver.provider_name])
def test_map_service_name_with_hash(self, service_name): maxcdn_driver = driver.CDNProvider(self.conf) controller = services.ServiceController(maxcdn_driver) # test hashed self.assertNotEqual(controller._map_service_name(service_name), service_name) # test deterministic-ity self.assertEqual(controller._map_service_name(service_name), controller._map_service_name(service_name))
def test_purge_with_exception(self, mock_controllerclient, mock_driver): # test create with exceptions error_message = "ding" driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock( **{'purge.side_effect': RuntimeError(error_message)}) controller_purge_with_error = services.ServiceController(driver) pullzone_id = 'test_random_pullzone_id' resp = controller_purge_with_error.purge(pullzone_id) self.assertEqual(resp[driver.provider_name]['error'], error_message)
def test_current_customer_error(self, mock_controllerclient, mock_driver): # test create with exceptions driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock( **{'get.return_value': fake_maxcdn_client_400_return_value}) controller = services.ServiceController(mock_driver) # for some reason self.assertRaises doesn't work try: controller.current_customer except RuntimeError as e: self.assertTrue(str(e) == "Get maxcdn current customer failed...")
def test_purge_failed(self, mock_controllerclient, mock_driver): # test create with exceptions mock_response = mock.MagicMock() mock_response.text = 'Mock -- something went wrong!' mock_dict = {u'code': 500} mock_response.__getitem__.side_effect = mock_dict.__getitem__ driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock(**{'purge.return_value': mock_response}) controller = services.ServiceController(driver) pullzone_id = 'test_random_pullzone_id' resp = controller.purge(pullzone_id) self.assertIn('error', resp[driver.provider_name])
def test_delete_with_exception(self, mock_controllerclient, mock_driver): # test create with exceptions driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock( **{'get.return_value': fake_maxcdn_client_get_return_value}) service_name = 'test_service_name' controller_with_delete_exception = services.ServiceController(driver) controller_with_delete_exception.client.configure_mock( **{ 'delete.side_effect': RuntimeError('Deleting service mysteriously failed.') }) resp = controller_with_delete_exception.delete(service_name) self.assertEqual(resp[driver.provider_name]['error'], 'Deleting service mysteriously failed.')
def test_delete(self): new_driver = driver.CDNProvider(self.conf) # instantiate controller = services.ServiceController(new_driver) # test create, everything goes through successfully service_name = 'test_service_name' service_id = str(uuid.uuid4()) current_domain = str(uuid.uuid1()) domains_old = domain.Domain(domain=current_domain) current_origin = origin.Origin(origin='poppy.org') service_obj = Service(service_id=service_id, name='poppy cdn service', domains=[domains_old], origins=[current_origin], flavor_id='cdn', project_id=str(uuid.uuid4())) resp = controller.delete(service_obj, service_name) self.assertIn('id', resp[new_driver.provider_name])
def test_delete_failed(self, mock_controllerclient, mock_driver): # test create with exceptions mock_response = mock.MagicMock() mock_response.text = 'Mock -- something went wrong!' mock_dict = {u'code': 500} mock_response.__getitem__.side_effect = mock_dict.__getitem__ driver = mock_driver() driver.attach_mock(mock_controllerclient, 'client') driver.client.configure_mock(**{'delete.return_value': mock_response}) controller = services.ServiceController(driver) service_name = 'test_service_name' service_id = str(uuid.uuid4()) current_domain = str(uuid.uuid1()) domains_old = domain.Domain(domain=current_domain) current_origin = origin.Origin(origin='poppy.org') service_obj = Service(service_id=service_id, name='poppy cdn service', domains=[domains_old], origins=[current_origin], flavor_id='cdn', project_id=str(uuid.uuid4())) resp = controller.delete(service_obj, service_name) self.assertIn('error', resp[driver.provider_name])
def test_regions(self, mock_controllerclient, mock_driver): driver = mock_driver() driver.regions = [] driver.attach_mock(mock_controllerclient, 'client') controller = services.ServiceController(driver) self.assertEqual(controller.driver.regions, [])
def test_current_customer(self): new_driver = driver.CDNProvider(self.conf) # instantiate controller = services.ServiceController(new_driver) self.assertTrue( controller.current_customer['name'] == u'<My_fake_company_alias>')
def test_get(self): new_driver = driver.CDNProvider(self.conf) # instantiate controller = services.ServiceController(new_driver) service_name = 'test_service_name' self.assertTrue(controller.get(service_name) is not None)
def test_map_service_name_no_hash(self, service_name): maxcdn_driver = driver.CDNProvider(self.conf) controller = services.ServiceController(maxcdn_driver) self.assertEqual(controller._map_service_name(service_name), service_name)