def test_building_file_path(self, get_file_content_mock): get_file_content_mock.return_value = """ document.write('Hello world!'); """ fingerprinter = AssetFingerprinter() fingerprinter.get_url('javascripts/application.js') fingerprinter.get_asset_file_contents.assert_called_with( 'app/static/javascripts/application.js')
def test_hashes_are_consistent(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ asset_fingerprinter = AssetFingerprinter() assert (asset_fingerprinter.get_asset_fingerprint('application.css') == asset_fingerprinter.get_asset_fingerprint('same_contents.css'))
def test_building_file_path(self, get_file_content_mock): get_file_content_mock.return_value = """ document.write('Hello world!'); """ fingerprinter = AssetFingerprinter() fingerprinter.get_url('javascripts/application.js') fingerprinter.get_asset_file_contents.assert_called_with( 'app/static/javascripts/application.js' )
def test_is_static_asset(self): fingerprinter = AssetFingerprinter( asset_root="https://example.com/static/", cdn_domain="assets.example.com", ) assert fingerprinter.is_static_asset("https://example.com/static/image.png") assert not fingerprinter.is_static_asset("https://assets.example.com/image.png") assert not fingerprinter.is_static_asset("https://example.com/robots.txt")
def test_building_file_path(self, mocker): get_file_content_mock = mocker.patch.object(AssetFingerprinter, 'get_asset_file_contents') get_file_content_mock.return_value = """ document.write('Hello world!'); """.encode('utf-8') fingerprinter = AssetFingerprinter() fingerprinter.get_url('javascripts/application.js') fingerprinter.get_asset_file_contents.assert_called_with( 'app/static/javascripts/application.js')
def test_hashes_are_consistent(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ asset_fingerprinter = AssetFingerprinter() assert ( asset_fingerprinter.get_asset_fingerprint('application.css') == asset_fingerprinter.get_asset_fingerprint('same_contents.css') )
def test_hashes_are_consistent(self, mocker): get_file_content_mock = mocker.patch.object(AssetFingerprinter, 'get_asset_file_contents') get_file_content_mock.return_value = """ body { font-family: nta; } """.encode('utf-8') asset_fingerprinter = AssetFingerprinter() assert (asset_fingerprinter.get_asset_fingerprint('application.css') == asset_fingerprinter.get_asset_fingerprint('same_contents.css'))
def test_hash_gets_cached(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ fingerprinter = AssetFingerprinter() assert (fingerprinter.get_url('application.css') == '/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a') fingerprinter._cache['application.css'] = 'a1a1a1' assert (fingerprinter.get_url('application.css') == 'a1a1a1') fingerprinter.get_asset_file_contents.assert_called_once_with( 'app/static/application.css')
def test_hashes_are_different_for_different_files(self, get_file_content_mock): asset_fingerprinter = AssetFingerprinter() get_file_content_mock.return_value = """ body { font-family: nta; } """ css_hash = asset_fingerprinter.get_asset_fingerprint('application.css') get_file_content_mock.return_value = """ document.write('Hello world!'); """ js_hash = asset_fingerprinter.get_asset_fingerprint('application.js') assert (js_hash != css_hash)
def test_hash_gets_cached(self, mocker): get_file_content_mock = mocker.patch.object(AssetFingerprinter, "get_asset_file_contents") get_file_content_mock.return_value = """ body { font-family: nta; } """.encode( "utf-8" ) fingerprinter = AssetFingerprinter() assert fingerprinter.get_url("application.css") == "/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a" fingerprinter._cache["application.css"] = "a1a1a1" assert fingerprinter.get_url("application.css") == "a1a1a1" fingerprinter.get_asset_file_contents.assert_called_once_with("app/static/application.css")
def test_hashes_are_different_for_different_files(self, mocker): get_file_content_mock = mocker.patch.object(AssetFingerprinter, 'get_asset_file_contents') asset_fingerprinter = AssetFingerprinter() get_file_content_mock.return_value = """ body { font-family: nta; } """.encode('utf-8') css_hash = asset_fingerprinter.get_asset_fingerprint('application.css') get_file_content_mock.return_value = """ document.write('Hello world!'); """.encode('utf-8') js_hash = asset_fingerprinter.get_asset_fingerprint('application.js') assert (js_hash != css_hash)
def test_url_format(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ asset_fingerprinter = AssetFingerprinter( asset_root='/suppliers/static/') assert ( asset_fingerprinter.get_url('application.css') == '/suppliers/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa ) assert ( asset_fingerprinter.get_url('application-ie6.css') == '/suppliers/static/application-ie6.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa )
def test_url_format(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ asset_fingerprinter = AssetFingerprinter( asset_root='/suppliers/static/' ) assert ( asset_fingerprinter.get_url('application.css') == '/suppliers/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa ) assert ( asset_fingerprinter.get_url('application-ie6.css') == '/suppliers/static/application-ie6.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa )
def test_hashes_are_different_for_different_files( self, get_file_content_mock ): asset_fingerprinter = AssetFingerprinter() get_file_content_mock.return_value = """ body { font-family: nta; } """ css_hash = asset_fingerprinter.get_asset_fingerprint('application.css') get_file_content_mock.return_value = """ document.write('Hello world!'); """ js_hash = asset_fingerprinter.get_asset_fingerprint('application.js') assert ( js_hash != css_hash )
def test_url_format(self, mocker): get_file_content_mock = mocker.patch.object(AssetFingerprinter, 'get_asset_file_contents') get_file_content_mock.return_value = """ body { font-family: nta; } """.encode('utf-8') asset_fingerprinter = AssetFingerprinter( asset_root='/suppliers/static/') assert ( asset_fingerprinter.get_url('application.css') == '/suppliers/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa ) assert ( asset_fingerprinter.get_url('application-ie6.css') == '/suppliers/static/application-ie6.css?418e6f4a6cdf1142e45c072ed3e1c90a' # noqa )
def test_hash_gets_cached(self, get_file_content_mock): get_file_content_mock.return_value = """ body { font-family: nta; } """ fingerprinter = AssetFingerprinter() assert ( fingerprinter.get_url('application.css') == '/static/application.css?418e6f4a6cdf1142e45c072ed3e1c90a' ) fingerprinter._cache[ 'application.css' ] = 'a1a1a1' assert ( fingerprinter.get_url('application.css') == 'a1a1a1' ) fingerprinter.get_asset_file_contents.assert_called_once_with( 'app/static/application.css' )
def test_s3_url(self): fingerprinter = AssetFingerprinter(cdn_domain="assets.example.com") assert fingerprinter.get_s3_url("foo.png") == "https://assets.example.com/static/foo.png"
service_api_client = ServiceAPIClient() user_api_client = UserApiClient() api_key_api_client = ApiKeyApiClient() job_api_client = JobApiClient() notification_api_client = NotificationApiClient() support_api_client = SupportApiClient() status_api_client = StatusApiClient() invite_api_client = InviteApiClient() template_statistics_client = TemplateStatisticsApiClient() events_api_client = EventsApiClient() provider_client = ProviderClient() email_branding_client = EmailBrandingClient() organisations_client = OrganisationsClient() org_invite_api_client = OrgInviteApiClient() asset_fingerprinter = AssetFingerprinter() statsd_client = StatsdClient() deskpro_client = DeskproClient() letter_jobs_client = LetterJobsClient() inbound_number_client = InboundNumberClient() billing_api_client = BillingAPIClient() # The current service attached to the request stack. current_service = LocalProxy(partial(_lookup_req_object, 'service')) # The current organisation attached to the request stack. current_organisation = LocalProxy(partial(_lookup_req_object, 'organisation')) def create_app(application): setup_commands(application)
def test_can_read_self(self): string_with_unicode_character = 'Ralph’s apostrophe' AssetFingerprinter(filesystem_path='tests/app/main/').get_url( 'test_asset_fingerprinter.py')
def test_can_read_self(self): 'Ralph’s apostrophe is a string containing a unicode character' AssetFingerprinter(filesystem_path='tests/app/').get_url( 'test_asset_fingerprinter.py')
def test_can_read_self(self): "Ralph’s apostrophe is a string containing a unicode character" AssetFingerprinter(filesystem_path="tests/app/main/").get_url("test_asset_fingerprinter.py")