def test_無參數預設閩南語(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = {'查詢腔口': '閩南語', '查詢語句': '你好嗎?我很好!'} 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 閩南語回應物件 = json.loads(連線回應.content.decode("utf-8")) 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = {} 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertEqual(回應物件, 閩南語回應物件)
def test_無參數預設閩南語(self): 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '閩南語', '查詢語句': '你|li2 好-無|ho2-0bo5 ?|? 我|gua2 足|tsiok4 好|ho2 !|!' } 原本連線回應 = self.服務功能.語音合成(連線要求) 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = {} 連線回應 = self.服務功能.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) self.assertEqual(bytes(chain(*連線回應.streaming_content)), bytes(chain(*原本連線回應.streaming_content)))
def test_無參數預設閩南語(self): 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '閩南語', '查詢語句': '你|li2 好-無|ho2-0bo5 ?|? 我|gua2 足|tsiok4 好|ho2 !|!' } 原本連線回應 = self.服務功能.語音合成(連線要求) 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = {} 連線回應 = self.服務功能.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) self.assertEqual( bytes(chain(*連線回應.streaming_content)), bytes(chain(*原本連線回應.streaming_content)) )
def check_appver_filters(self, appver, expected): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX facets = { u'platforms': [{ u'count': 58, u'term': 1 }], u'appversions': [{ u'count': 58, u'term': 5000000200100 }], u'categories': [{ u'count': 55, u'term': 1 }], u'tags': [] } versions = version_sidebar(request, {'appver': floor_version(appver)}, facets) all_ = versions.pop(0) eq_(all_.text, 'Any %s' % unicode(request.APP.pretty)) eq_(all_.selected, not expected) return [v.__dict__ for v in versions]
def check_appver_filters(self, appver, expected): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX facets = { u'platforms': [{ u'doc_count': 58, u'key': 1 }], u'appversions': [{ u'doc_count': 58, u'key': 5000000200100 }], u'categories': [{ u'doc_count': 55, u'key': 1 }], u'tags': [] } versions = version_sidebar(request, {'appver': floor_version(appver)}, facets) all_ = versions.pop(0) assert all_.text == 'Any %s' % six.text_type(request.APP.pretty) assert not all_.selected == expected return [v.__dict__ for v in versions]
def test_有多元書寫(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = {'查詢腔口': '閩南語', '查詢語句': '你好'} 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertIn('多元書寫', 回應物件)
def setUp(self): super(MockRequestTests, self).setUp() request = RequestFactory() request.GET = {} request.LANGUAGE_CODE = "en-US" request.META = {"csrf_token": "NOTPROVIDED"} self.request = request
def test_version_sidebar(self): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX request.get(reverse('search.search')) facets = { u'platforms': [{u'doc_count': 58, u'key': 1}], u'appversions': [{u'doc_count': 58, u'key': 5000000200100}], u'categories': [{u'doc_count': 55, u'key': 1}], u'tags': [], } versions = version_sidebar(request, {}, facets) assert versions[0].selected versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected # We're not storing the version in the session anymore: no memories. versions = version_sidebar(request, {}, facets) assert versions[0].selected # We read the appver from the cleaned form data. request.GET['appver'] = '123.4' # No form data, fallback to default (first entry). versions = version_sidebar(request, {}, facets) assert versions[0].selected # Form data has the proper version, use it. versions = version_sidebar(request, {'appver': '5.0'}, facets) assert versions[1].selected # Form data has the proper version, which is new: add it. versions = version_sidebar(request, {'appver': '123.4'}, facets) assert versions[1].selected assert len(versions) == 3
def get_page_request(self, page, user, path=None, edit=False, lang_code="en"): path = path or page and page.get_absolute_url() if edit: path += "?edit" request = RequestFactory().get(path) request.session = {} request.user = user request.LANGUAGE_CODE = lang_code if edit: request.GET = {"edit": None} else: request.GET = {"edit_off": None} request.current_page = page mid = ToolbarMiddleware() mid.process_request(request) return request
def test_set_fields_by_visit_code4(self): visit = Visit.objects.create(code='T0') MyTestModel.objects.create(visit=visit) request = RequestFactory() request.GET = {'visit': None} form = self.model_admin.get_form(request) self.assertEqual(list(form.base_fields.keys()), ['field1', 'field2', 'field3', 'field4'])
def setUp(self): super(MockRequestTests, self).setUp() request = RequestFactory() request.GET = {} request.LANGUAGE_CODE = 'en-US' request.META = {'csrf_token': 'NOTPROVIDED'} self.request = request
def test_community_app(self): app = APIAppFactory.create(is_mozilla_app=False) request = RequestFactory() request.GET = {'app_key': app.key, 'app_name': app.name} authentication = AppAuthentication() authentication.is_authenticated(request) eq_(request.GET.get('restricted'), True)
def _get_instance_request(self, instance, user, path=None, edit=False, preview=False, structure=False, lang_code='en', disable=False): if not path: if edit: path = get_object_edit_url(instance) elif preview: path = get_object_preview_url(instance) elif structure: path = get_object_structure_url(instance) else: path = instance.get_absolute_url() request = RequestFactory().get(path) request.session = {} request.user = user request.LANGUAGE_CODE = lang_code request.GET = QueryDict('', mutable=True) if edit: request.GET['edit'] = None else: request.GET['edit_off'] = None if disable: request.GET[get_cms_setting('CMS_TOOLBAR_URL__DISABLE')] = None return request
def test_無參數預設台語(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = { '查詢腔口': '台語', '查詢語句': '你好嗎?我很好!' } 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 台語回應物件 = json.loads(連線回應.content.decode("utf-8")) 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = {} 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertEqual(回應物件, 台語回應物件)
def test_兩句翻譯(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = {'查詢腔口': '詔安腔', '查詢語句': '你好嗎?我很好!'} 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertIn('分詞', 回應物件) self.assertIn('綜合標音', 回應物件)
def mbv_command(payload, method="post"): request = RequestFactory().generic(method, "/") if method == "post": request._body = json.dumps(payload).encode("UTF-8") else: request.GET = payload mbv = MediaBrowserView.as_view() return json.loads(mbv(request).content.decode("UTF-8"))
def test_短詞合成(self): 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = {'查詢腔口': '閩南語', '查詢語句': '你|li2 好|ho2'} 連線回應 = self.服務功能.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000)
def get_page_request(self, page, user, path=None, edit=False, lang_code='en', disable=False): path = path or page and page.get_absolute_url() if edit: path += '?%s' % get_cms_setting('CMS_TOOLBAR_URL__EDIT_ON') request = RequestFactory().get(path) request.session = {} request.user = user request.LANGUAGE_CODE = lang_code if edit: request.GET = {'edit': None} else: request.GET = {'edit_off': None} if disable: request.GET[get_cms_setting('CMS_TOOLBAR_URL__DISABLE')] = None request.current_page = page mid = MessageMiddleware() mid.process_request(request) return request
def test_有多元書寫(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = { '查詢腔口': '台語', '查詢語句': '你好' } 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertIn('多元書寫', 回應物件)
def test_空語句就下恬音(self): 服務介面 = HTS介面() 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = {'查詢腔口': '詔安腔', '查詢語句': ''} 連線回應 = 服務介面.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000) self.assertGreater(聲音檔.getnframes(), 0)
def test_兩句翻譯(self): 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '閩南語', '查詢語句': '你|li2 好-無|ho2-0bo5 ?|? 我|gua2 足|tsiok4 好|ho2 !|!' } 連線回應 = self.服務功能.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000)
def test_用pyro4(self, ProxyMock, _NSmock): ProxyMock.return_value = HTS服務() 服務介面 = HTS介面() 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = {'查詢腔口': '詔安腔', '查詢語句': '你|henˋ 好|hoo^'} 連線回應 = 服務介面.語音合成(連線要求) self.assertTrue(ProxyMock.called) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000)
def test_兩句翻譯(self): 連線要求 = RequestFactory().get('/正規化翻譯') 連線要求.GET = { '查詢腔口': '詔安腔', '查詢語句': '你好嗎?我很好!' } 連線回應 = self.服務功能.正規化翻譯(連線要求) self.assertEqual(連線回應.status_code, 200) 回應物件 = json.loads(連線回應.content.decode("utf-8")) self.assertIn('分詞', 回應物件) self.assertIn('綜合標音', 回應物件)
def _mbv_command(shop, user, payload, method="post"): request = RequestFactory().generic(method, "/") request.user = user request.session = {} set_shop(request, shop) if method == "post": request._body = json.dumps(payload).encode("UTF-8") else: request.GET = payload mbv = MediaBrowserView.as_view() return json.loads(mbv(request).content.decode("UTF-8"))
def test_兩句翻譯(self): 服務介面 = HTS介面() 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '詔安腔', '查詢語句': '你|henˋ 好|hoo^ 無|moˋ ? 𠊎|ngaiˋ 真|zhinˇ 好|hoo^ !' } 連線回應 = 服務介面.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000)
def get_page_request(self, page, user, path=None, edit=False, lang_code='en', disable=False): path = path or page and page.get_absolute_url() if edit: path += '?%s' % get_cms_setting('CMS_TOOLBAR_URL__EDIT_ON') request = RequestFactory().get(path) request.session = {} request.user = user request.LANGUAGE_CODE = lang_code if edit: request.GET = {'edit': None} else: request.GET = {'edit_off': None} if disable: request.GET[get_cms_setting('CMS_TOOLBAR_URL__DISABLE')] = None request.current_page = page mid = ToolbarMiddleware() mid.process_request(request) if hasattr(request, 'toolbar'): request.toolbar.populate() return request
def get_page_request(self, page, user, path=None, edit=False, lang_code='en'): path = path or page and page.get_absolute_url() if edit: path += '?edit' request = RequestFactory().get(path) request.session = {} request.user = user request.LANGUAGE_CODE = lang_code if edit: request.GET = {'edit': None} else: request.GET = {'edit_off': None} request.current_page = page mid = ToolbarMiddleware() mid.process_request(request) return request
def test_空語句就下恬音(self): 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '閩南語', '查詢語句': '' } 連線回應 = self.服務功能.語音合成(連線要求) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000) self.assertGreater(聲音檔.getnframes(), 0)
def get_request_for_user(user): """Create a request object for user.""" request = RequestFactory() request.user = user request.COOKIES = {} request.META = {} request.is_secure = lambda: True request.get_host = lambda: "edx.org" request.method = 'GET' request.GET = {} request.POST = {} crum.set_current_request(request) return request
def test_用pyro4(self, ProxyMock, _NSmock): ProxyMock.return_value = HTS服務() 服務介面 = HTS介面() 連線要求 = RequestFactory().get('/語音合成') 連線要求.GET = { '查詢腔口': '詔安腔', '查詢語句': '你|henˋ 好|hoo^' } 連線回應 = 服務介面.語音合成(連線要求) self.assertTrue(ProxyMock.called) self.assertEqual(連線回應.status_code, 200) with io.BytesIO(bytes(chain(*連線回應.streaming_content))) as 資料: with wave.open(資料, 'rb') as 聲音檔: self.assertGreaterEqual(聲音檔.getframerate(), 16000)
def get_fake_request(): u = G(User, username='******', password='******') setattr(u, 'is_authenticated()', True) setattr(u, 'selected_office', False) request = RequestFactory().request() request.user = u querydict = QueryDict('arg2=one') querydict = querydict.copy() querydict.update({'arg1': 'test', 'arg2': "two"}) request.GET = querydict request.POST = QueryDict('username=random') return request
def check_appver_filters(self, appver, expected): request = RequestFactory() request.GET = {} request.APP = amo.FIREFOX facets = { u'platforms': [{u'doc_count': 58, u'key': 1}], u'appversions': [{u'doc_count': 58, u'key': 5000000200100}], u'categories': [{u'doc_count': 55, u'key': 1}], u'tags': [] } versions = version_sidebar(request, {'appver': floor_version(appver)}, facets) all_ = versions.pop(0) assert all_.text == 'Any %s' % unicode(request.APP.pretty) assert not all_.selected == expected return [v.__dict__ for v in versions]
def test_login(self): user = User.objects.create(username='******') user.backend = '' view = LoginView() request = RequestFactory() request.GET = {} request.META = {} request.user = None request.session = self.client.session request.session.create() view.request = request form = self.moxx.CreateMock(UsernameLoginForm) form.get_user().AndReturn(user) self.moxx.ReplayAll() view.form_valid(form) self.moxx.VerifyAll() self.assertTrue(request.user)
def get_content_from_path(self, path): """ Imitates a basic http request using DummyHandler to retrieve resulting output (HTML, XML, whatever) """ request = RequestFactory().get(path) # We must parse the path to grab query string parsed = urlparse.urlparse(path) request.path_info = parsed.path request.GET = QueryDict(parsed.query) request.META.setdefault('SERVER_PORT', 80) request.META.setdefault('SERVER_NAME', self.server_name) request.META.setdefault('REMOTE_ADDR', '127.0.0.1') handler = DummyHandler() try: response = handler(request) except Exception, err: raise StaticGeneratorException("The requested page(\"%s\") raised an exception. Static Generation failed. Error: %s" % (path, str(err)))
def get_content_from_path(self, path): """ Imitates a basic http request using DummyHandler to retrieve resulting output (HTML, XML, whatever) """ request = RequestFactory().get(path) # We must parse the path to grab query string parsed = urlparse.urlparse(path) request.path_info = parsed.path request.GET = QueryDict(parsed.query) request.META.setdefault('SERVER_PORT', 80) request.META.setdefault('SERVER_NAME', self.server_name) request.META.setdefault('REMOTE_ADDR', '127.0.0.1') handler = DummyHandler() try: response = handler(request) except Exception, err: raise StaticGeneratorException( "The requested page(\"%s\") raised an exception. Static Generation failed. Error: %s" % (path, str(err)))
def test_valid_app(self): app = APIAppFactory.create() request = RequestFactory() request.GET = {'app_key': app.key, 'app_name': app.name} authentication = AppAuthentication() ok_(authentication.is_authenticated(request))
def setUp(self): super(MockRequestTests, self).setUp() request = RequestFactory() request.GET = {} request.LANGUAGE_CODE = 'en-US' self.request = request
def test_empty_app_name(self): app = APIAppFactory.create() request = RequestFactory() request.GET = {'app_key': app.key} authentication = AppAuthentication() eq_(authentication.is_authenticated(request), False)
def test_invalid_app_key(self): app = APIAppFactory.create() request = RequestFactory() request.GET = {'app_key': 'invalid', 'app_name': app.name} authentication = AppAuthentication() eq_(authentication.is_authenticated(request), False)
def test_invalid_app_name_and_key(self): request = RequestFactory() request.GET = {'app_key': 'invalid', 'app_name': 'invalid'} authentication = AppAuthentication() eq_(authentication.is_authenticated(request), False)